Strona 4 z 16

Odp: Przydatne skrypty

: 08 lut 2008, 19:07
autor: Xerces
Znalaziony w sieci - może być pomocny przy diagnozowaniu ewentualnych problemów z kartą dźwiękową. Skrypt korzysta m.in. z sysv-rc-conf - trzeba zainstalować.

Kod: Zaznacz cały

#!/bin/bash
echo
# time and user
date=$(date)
echo "Today is $date"
me=$(whoami)
echo "Sound tested by $me"
echo
echo
echo "== Identifying System =="
uname -s -r -v -p -o
cat /proc/cpuinfo | grep -i "model name"
cat /proc/cpuinfo | grep -i "cpu mhz"
cat /proc/meminfo | grep -i memtotal
cat /proc/meminfo | grep -i swaptotal

echo
echo "== Information about a mixer device =="
amixer info
echo
echo "== Checking dsp devices =="
ls -l /dev | egrep -i dsp\|sound

echo
echo "== Checking mixer devices =="
ls -l /dev | egrep -i dsp\|mixer

echo
echo "== Checking Driver =="
 
if test -f /sbin/lspci
then /sbin/lspci -v | egrep -i "(audio|multimedia|host bridge)"

elif test -f /usr/bin/lspci
then /usr/bin/lspci -v | egrep -i "(audio|multimedia|host bridge)"

else 
echo "==> Test not available on this system !"

fi

echo
echo "== ALSA version =="
cat /proc/asound/version
echo
echo "== Checking Actual Driver in Use (/etc/modprobe.d/sound) kernel 2.6 =="
if test -f /etc/modprobe.d/sound; then
     cat /etc/modprobe.d/sound
else
     echo "==> Test not available on this system !"
fi

echo
echo "== Checking Cross Platform Audio Output Library (/etc/libao.conf) =="
if test -f /etc/libao.conf; then
	cat /etc/libao.conf | grep -E -v "^#| ^$"
else
	echo "==> /etc/libao.conf not available !"
fi
echo
echo "== Checking ALSA configure files =="
if test -f /etc/asound.conf; then
 echo "/etc/asound.conf ====> exist"
fi
if test -f $HOME/.asoundrc; then
  echo -e "$HOME/.asoundrc ====> exist"
fi
if test -f $HOME/.asoundrc.asoundconf; then
 echo -e "$HOME/.asoundrc.asoundconf ====> exist"
fi
echo
echo "== Checking esd config (/etc/esound/esd.conf) =="
if test -f /etc/esound/esd.conf; then
  echo "-----------------------------------------------------"
  cat /etc/esound/esd.conf | grep -E -v "^#| ^$"
  echo "-----------------------------------------------------"
fi
if test -d /dev/snd; then
     echo
     echo "== Checking alsa /dev/snd =="
     ls --color=none /dev/snd
fi

echo
echo "== Checking if Module Loaded =="
/sbin/lsmod | egrep -i snd\|sound\|audio\|game

echo
 if test -x /usr/sbin/sysv-rc-conf; then
     echo "== Checking in what level alsasound service is configured to run =="
       if test -x /etc/init.d/alsasound; then
          /usr/sbin/sysv-rc-conf --list alsasound
       else
          echo "Init script alsasound not exist !"
       fi   

     echo
     echo "== Checking in what level alsa-utils service is configured to run =="
       if test -x /etc/init.d/alsa-utils; then
          /usr/sbin/sysv-rc-conf --list alsa-utils
       else
          echo "Init script alsa-utils not exist !"
       fi   
else
     echo "==> Test for run levels not available on this system !"
fi

echo
echo "== Checking if Sound Volume muted =="
if test -x /usr/bin/aumix; then
     aumix -q
else
     echo "==> Test not available on this system !"
fi

echo
echo "== Checking artsd setup =="
ps -A -f | grep -i artsd | grep -v grep
echo
echo "== Checking esd setup =="
ps -A -f | grep -i esd | grep -v grep

echo
echo "== Checking which program uses the sound card or cdrom =="
echo "                (no output is okay)"
if test -x /sbin/fuser; then
     /sbin/fuser -v /dev/dsp
     /sbin/fuser -v /dev/cdrom
else
     /bin/fuser -v /dev/dsp
     /bin/fuser -v /dev/cdrom
fi

echo
echo "== Test wav file . . . . . please wait =="

if test -f /usr/share/sounds/startup.wav 
 then 
 /usr/bin/play /usr/share/sounds/startup.wav > /dev/null

else
  echo "==> Test not available on this system !"

fi

# Interactive part 
echo -n "Did you hear the soundfile Yes/No ?:"
read answer

# the user did not enter anything:
while [ -z "$answer" ]; do
echo "You did not tell me Yes or No !!!"
echo -n "Did you hear the soundfile Yes/No ?:"
read answer
done

echo "You typed:  $answer   Thanks !" 

sleep 2

echo
echo "== End of Checks  ==" 
echo

Odp: Przydatne skrypty

: 22 lut 2008, 19:14
autor: urbinek
stan konta orange(przeczytać komentarz zamieszczony w piku)
http://urbinek.ovh.org/skrypty/stan_konta.php.tar.gz

uruchamiany cronem co 5 min...

Kod: Zaznacz cały

#!/bin/bash
touch ~/cookie.txt
touch ~/stan_konta.txt
php ~/skrypty/stan_konta_orange/stan_konta.php
rm ~/cookie.txt
mv -f ~/stan_konta.txt ~/skrypty/stan_konta_orange/stan_konta.txt
#killall php # mozna odkomentować gdyby były problemy z ilościa daemonów php
exit 0
i w conky linijeczka

Kod: Zaznacz cały

${texeci 30 cat ~/skrypty/stan_konta_orange/stan_konta.txt}

Odp: Przydatne skrypty

: 05 mar 2008, 19:11
autor: mateusz16
skrypt do wysuzkiwania intruzow w sieci lokalnej:P
pierwszy
potrzebne pakiety zenity i nbtscan :D

Kod: Zaznacz cały

#!/bin/bash
if [ -e ~/.list ]; then
nbtscan 192.168.2.1-10 > .list
else
touch ~/.list
nbtscan 192.168.2.1-10 > .list
fi

if [ -e ~/.ile ]; then
wc -l ~/.list > ~/.ile
else
touch ~/.ile
wc -l ~/.list > ~/.ile
fi
wynik="$[$(cat ~/.ile | cut -c1)-4]"
cat ~/.list | tail -n$wynik | cut -d" " -f1-7
2 czesc

Kod: Zaznacz cały

#!/bin/bash
if [ -e ~/.intruz ] ; then
scan > ~/.intruz
else
touch ~/.intruz
scan > ~/.intruz
fi
if [ "$(inter | cut -c2-6)" != "ASMAX" ]; then
sleep 3600
netusers
else
if [ "$(wc -l ~/.intruz | cut -c1)" -gt "2" ]; then
zenity --title "Intruz" --info --text "Wykryto intruza w twojej sieci lokalnej"
fi
        if [ "$(cat ~/.intruz | cut -c1)" = "2" ]; then
                if [ "$(cat ~/.intruz | grep 192.168.2.7)" = "0" ]; then
                zenity --title "Intruz" --info --text "Wykryto intruza w twojej sieci lokalnej"
                fi
                fi

                if [ "$(wc -l ~/.intruz | cut -c1)" = "2" ]; then
                        if [ "$(cat ~/.intruz | grep XXX-ECF00AD4F14)" = "0" ]; then
                        zenity --title "Intruz" --info --text "Wykryto intruza w twojej sieci loka$
                        fi
                        fi

fi
echo "ok"
sleep 300
netusers
niekorzy moga powiedziec ze wystarczy szyfrowanie wep ale mi sie nudzilo to takie cos zrobilem :P

Odp: Przydatne skrypty

: 09 mar 2008, 16:59
autor: ubuproblem
Mała baza repozytoriów -- Repo.
* Przypisze repozytoria i klucze GPG
* Zrobi kopię zapasową repozytoriów
* Automatyczny odświerzacz repozytoriów (powiązanie z synapticiem)
* Gui
* Wsparcie dla Ubuntu 7.04 7.10 i 8.04 (tylko eksperymentalnie)

Narazie tylko dla Gnome. Jak się komuś przyda to zrobię jeszcze dla KDE.

>>Binarka<<
>>TarBall<<

To oczywiście dopiero alfa nie testowana przez nikogo oprócz mnie, nie wysyłana nigdzie indziej jak tutaj.
Jak jakieś błędy będą to proszę tutaj albo na gg (mam w profilu).

Jeśli chcemy narazie użyć na kde to doinstalowujemy zenity i synaptic.

Najprościej jest użyć binarki, wystarczy nadać jej prawo do uruchamiania i uruchomić dwuklikiem.
Jeśli zaś oprócz testowania chcemy przejrzeć kod, ściągamy wówczas tarbala.

Mogę też napisać obsługę dla innych systemów niż Ubuntu, w których jest apt, tylko do tego potrzebne będą informacje od użytkowników.

Odp: Przydatne skrypty

: 02 kwie 2008, 19:16
autor: Elf
Konwertowanie kodowania plików tekstowych z windowsowego do UTF8. Przydaje się zaraz po przenosinach, a także do plików przesyłanych przez windziarzy co o UTF nie słyszeli ;)

Kod: Zaznacz cały

#!/bin/bash
if [ $# -gt 0 ] ; then
	iconv -f CP1250 -t UTF-8 --output=/tmp/$1 $1
	cp $1 $1~
	mv /tmp/$1 $1
else
	echo "Konwersja kodowania pliku tekstowego z CP1250 (Windows) na UTF-8"
	echo "użycie: $0 nazwapliku"
fi

Odp: Przydatne skrypty

: 03 kwie 2008, 19:50
autor: Dwimenor
Dwa wpisy z mojego ~/.bashrc. Dosyć często tego używam.

Szybka aktualizacja systemu. (Update notiffera mam wyłączonego...nie trawię). Trywialne, ale bez notiffera poręczne.

Kod: Zaznacz cały

update () {
sudo apt-get update;
sudo apt-get upgrade;
sudo apt-get clean;
}

Szybkie rozpakowanie archiwum rar. Wymaga pakietu unrar

Kod: Zaznacz cały

rar.wypakuj () {
unrar x ${1} -kb
}

Odp: Przydatne skrypty

: 09 kwie 2008, 18:09
autor: Sycu
Skrypt podpisuje wszystkie repozytoria, dzięki czemu apt nie wywala już błędów GPG. Może komuś się przyda:

Kod: Zaznacz cały

#!/bin/bash

# Autor: Patryk 'Sycu' Syc
# sycugpz@gmail.com
# http://sycu.ovh.org/

echo 'Pobieranie listy niepodpisanych repozytoriow...'
sudo apt-get update > result.txt 2>&1
cat result.txt | grep NO_PUBKEY > key_errors.txt
awk '{ print $19 }' key_errors.txt > keys.txt
echo 'Pobieranie kluczy...'
gpg --keyserver "hkp://subkeys.pgp.net" --recv-keys `cat keys.txt` > /dev/null 2>&1
echo 'Dodawanie kluczy...'
sudo apt-key add .gnupg/pubring.gpg > /dev/null
echo 'Usuwanie plikow tymczasowych...'
rm result.txt
rm key_errors.txt
rm keys.txt
echo 'Zakonczono.'

Odp: Przydatne skrypty

: 10 kwie 2008, 19:05
autor: NoName_1990
mateusz16 pisze:skrypt do wysuzkiwania intruzow w sieci lokalnej
No to ja znalazłem (nie ja jestem autorem :P) coś podobnego: http://www.ex-parrot.com/~pete/upside-down-ternet.html
W wielkim skrócie: skrypt ma utrudnić nieautoryzowane korzystanie z dostępu do internetu z naszego wifi. (nie wiem, jak to dokładnie działa, mam neostrade xD). Efekty na tej stronie wyglądają przepięknie xD

Odp: Przydatne skrypty

: 25 kwie 2008, 08:37
autor: qbsiu
Pobierałem dużo płytek... Do których była dodawana suma kontronla md5. Napisałem prosty skrypcik, żeby nie sprawdzać za każdą razą czy suma się zgadza.......

Kod: Zaznacz cały

#!/bin/bash
aaa=`md5sum $1 | awk '{print $1}'`
if [ "$aaa" == "$2" ]
then
echo "suma sie zgadza"
else
echo "suma sie nie zgadza"
fi
sposób użycia:

Kod: Zaznacz cały

[qbsiu][Desktop] ./skrypt ubuntu-8.04-desktop-i386.iso 8895167a794c5d8dedcc312fc62f1f1f
suma sie zgadza
Z polskiego na nasze :-)

Kod: Zaznacz cały

./program /lokalizacja/do/jakiegos/pliku kod_sumy

Odp: Przydatne skrypty

: 02 cze 2008, 17:16
autor: ubuproblem
Minutnik w gnome :P

Kod: Zaznacz cały

#!/bin/bash
function czas
{
	sleep $ileczasu
	zenity --info --name "Czas upłynął!!!" --text "Minął czas odliczania przez minutnik!!!"
}

ileminut=$(zenity --scale --text "Ile minut chcesz odliczyć?")
if [ "$?" = "1" ]
then
	exit 0
else
	ileczasu=$[$ileminut*60]
	czas
fi

Odp: Przydatne skrypty

: 10 cze 2008, 17:39
autor: NoName_1990
skrypt do wypakowywania wszystkiego xD

Kod: Zaznacz cały

#!/bin/bash
if [ -f "$1" ] ; then
     case "$1" in
        *.tar.bz2) tar xjf $1 ;;
        *.tar.gz) tar xzf $1 ;;
        *.bz2) bunzip2 $1 ;;
        *.rar) unrar x $1 ;;
        *.gz) gunzip $1 ;;
        *.tar) tar xf $1 ;;
        *.tbz2) tar xjf $1 ;;
        *.tgz) tar xzf $1 ;;
        *.zip) unzip $1 ;;
        *.Z) uncompress $1 ;;
        *.7z) 7z x $1 ;;
        *) echo "'$1' nie może zostać rozpakowany" ;;
      esac
else
      echo "'$1' nie jest poprawnym plikiem"
fi

Odp: Przydatne skrypty

: 10 cze 2008, 21:46
autor: Ventrue
A oto mój drugi tutejszy skrypt, Wrzuta Downloader:
Do uruchomienia wymagany kdialog, wget.

Kod: Zaznacz cały

#!/bin/bash


###################################################################
### Wrzuta Downloader by Grzegorz "Ventrue" Woźniak             ###
###  GG: 1730301, JID:   ventrue@jabster.pl                     ###
###                                                             ###
###                                                             ###
### sob, 17 maj 2008, 17:44:59 CEST   2008                      ### 
### Skrypt może mało elegancko napisany, ale działa i ściąga    ### 
### pliki :-)                                                   ###
### GREETS: azhag - za regexpy, forum dug.net.pl,               ###
### debian.linux.pl, Niszczyciel Światów                        ###
###                                                             ###
###   TODO:                                                     ###
###   - Jakiś progressbar by się przydał                        ###
###   - Zmiana kdialog na coś innego - propozycje?              ###
###   - Jakaś konwersja plików filmowych po ściągnięciu?        ###
###                   ...                                       ###
###   URUCHAMIANIE:                                             ###
###       chmod +x wrzuta-downloader                            ###
###      a potem ./wrzuta-downloader                            ###
###     Wymagany: kdialog, wget                                 ###
###################################################################


################################################################ Konfiguracja
#Komunikaty
MESG_CHOOSE_FILETYPE="Wybierz typ pliku:" 
MESG_ENTER_FILENAME="Wprowadź adres pliku do ściągnięcia"
MESG_PROG_NAME="Wrzuta downloader"
MESG_DOWNLOADING="Za chwilę rozpocznie się pobieranie pliku. Po ściągnięciu ujrzysz stosowny komunikat."
MESG_OK="Plik $filename pobrany prawidłowo!"
AUDIO_FILES="Pliki multimedialne"
VIDEO_FILES="Pliki Flash Video"
FILETYPE1="Audio"
FILETYPE2="Video"

#Generowanie plików potrzebnych do działania :) :
LOGFILE="/tmp/wd-wget-log.$$"
ADDRESS="/tmp/wd-address.$$"
#Koniec konfiguracji
################################################################## Skrypt

function downloading
{
kdialog --title "$MESG_PROG_NAME" --msgbox "$MESG_DOWNLOADING"
wget -o $LOGFILE "$nowyadres" -O "$filename"
}

function removing
{
rm -rf $LOCK
rm -rf $LOGFILE
rm -rf $ADDRESS
}

function title
{
remote=`kdialog --title "$MESG_PROG_NAME" --inputbox "$MESG_ENTER_FILENAME"` 
}

function allok
{
kdialog --title "$MESG_PROG_NAME" --msgbox "$MESG_OK"
}
typ=`kdialog --title "$MESG_PROG_NAME" --combobox "$MESG_CHOOSE_FILETYPE" "$FILETYPE1" "$FILETYPE2"`
if [ "$typ" = "Audio" ]; then
title
#echo "1" > $LOCK
echo "$remote" > $ADDRESS
if [ -z $remote ]; then
exit
fi
nowyadres=`cat $ADDRESS | sed -r "s:http\://(.*).wrzuta.pl/audio/(.*)/(.*):http\://www.wrzuta.pl/aud/file/\2/1:g"`
filename=`kdialog --getsavefilename :label1 "*.mp3 *.wav |$AUDIO_FILES"`
if [ -z $filename ]; then
exit
else
downloading
allok
removing
fi

elif [ "$typ" = "Video" ]; then
title

echo "$remote" > $ADDRESS
nowyadres=`cat $ADDRESS | sed -r "s:http\://(.*).wrzuta.pl/film/(.*)/(.*):http\://www.wrzuta.pl/vid/file/\2/1:g"`

filename=`kdialog --getsavefilename :label1 "*.flv |Flash Video"`
if [ -z $filename ]; then
exit

else
downloading
allok
removing
fi
fi

Odp: Przydatne skrypty

: 23 cze 2008, 21:53
autor: youlleck
Skrypt do conky'ego wypisujacy aktualnie grany kawalek w MOCpie

Kod: Zaznacz cały

#!/bin/bash
#mocpinfo.sh
q=`mocp --info | grep Artist:`
q=${q#Artist:\ }
w=`mocp --info | grep SongTitle:`
w=${w#SongTitle:\ }
e=`mocp --info | grep AvgBitrate:`
e=${e#AvgBitrate:\ }
if [ "$e" != "" ]; then
echo "MOCP playing:"
echo $q
echo $w
echo $e 
fi
oraz skrypt, ktorym mozna otworzyc pierwsza pozycje z pliku .pls (uzywam do odpalania radyj netowych)

Kod: Zaznacz cały

#!/bin/bash
#playit
adres=`cat "$1" | grep File1`
mocp --playit "${adres#File1=}"
i jeszcze jeden, ktory zaczyna rippowac radio z pliku .pls przy uzyciu streamrippera

Kod: Zaznacz cały

#!/bin/bash
#ripit
adres=`cat "$1" | grep File1`
streamripper "${adres#File1=}"
czasami zdarza sie, ze z obszernej playlisty na randomie poleci jakis kawalek ktory przyprawia mnie o mdlosci. w tym celu mam skrypt delcrap ktory wywala aktualnie grany utwor w mocpie i przechodzi do nastepnego:

Kod: Zaznacz cały

#!/bin/bash
#delcrap
z=`mocp --info | grep File:`
z=${z#File:\ }
mocp --next
sleep 1
rm -v "$z"
btw: dlaczego temat o skryptach jest w offtopie a nie w dziale software albo programowanie? :|

Przelogowywanie Lin - Win i vice versa

: 25 cze 2008, 16:01
autor: outslider
Wśród użytkowników linuksa często bywają osoby posiadające również Windows. Czasem zachodzi potrzeba przelogowania się z jednego systemu na drugi, ale trzeba siedzieć przed kompem i "polować" na pojawiające się menu Gruba, by wybrać sobie właściwą opcję, zamiast np. iść zrobić kawę:D Toteż napisałem zestaw 4 skryptów - 2 bashowe i 2 w batchu automatyzujące całą procedurę. Rzecz sprowadza się do podmienienia menu Gruba i wykonania "reboot". A teraz do rzeczy.

Ja używałem Windows XP Prof. oraz Kubuntu 7.10. Oba zainstalowane na wirtualnej maszynie VirtualBox (na rzeczywistym kompie nie mam Windowsa).

--Do zrobienia na Windowsie:
1. Po pierwsze do pełnej automatyzacji - łącznie z przelogowaniem Win->Lin potrzebny jest sterownik umożliwiający dostęp spod Windowsa do partycji Linuksa, u mnie są to partycje Ext3. Przykładowy sterownik znajdziemy tu:

http://www.fs-driver.org/index.html

Należy go zainstalować pod Windows. Jak - dojdziecie sami.
Partycję systemową Linuksa zamontowałem jako G:, jeśli zamontujesz ją pod inną nazwą - zmień też wpisy w skryptach batch.

--Do zrobienia na Linuksie:
2. Wchodzimy do katalogu /boot/grub/ i robimy trzy kopie pliku menu.lst (wszystkie w tymże katalogu) o nazwach:
menu_lin.lst
menu_win.lst
menu_n.lst

3. Zmieniamy zawartości plików menu_lin.lst oraz menu_win.lst w sposób następujący:

plik oryginalny

Kod: Zaznacz cały

# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default		0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout		10
####  RESZTA PLIKU DLA NAS JEST NIEISTOTNA, NIE TYKAMY JEJ####
Zależnie od numerów poszczególnych systemów (u mnie Linux ma nr 0, Windows zaś 4) zmieniamy cyfrę po słowie "default", a więc , u mnie, w pliku menu_win.lst:

Kod: Zaznacz cały

default		4
w pliku menu_lin.lst zostaje:

Kod: Zaznacz cały

default		0
W obydwu możemy też zmienić wpis:

Kod: Zaznacz cały

timeout		10
na

Kod: Zaznacz cały

timeout		0
co przyspieszy logowanie o 10 sekund, ale poważnie utrudni wejście do Gruba, jak coś się nie uda:D
4. Tworzymy katalog ~/.reboot_to_OS (ta lokalizacja występuje w skryptach, jeśli ją zmienisz - przerób skrypty).
5. W utworzonym katalogu umieszczamy skrypty (ich nazwy są istotne - skrypty odwołują się do siebie):

reboot_to_win.sh

Kod: Zaznacz cały

#!/bin/bash


if [ "$1" != "-k" ]
 then
  konsole --nomenubar --notabbar --noframe --noscrollbar --vt_sz 40x5 -T "Boot recover" -e ~/.reboot_to_OS/reboot_to_win.sh -k
 else 
  echo " ......................................"
  echo "      Przelogowanie na Windows XP      "
  echo "      Podaj haslo polecenia SUDO.      "
  echo "   (Aby anulowac - zamknij to okno)    "
  echo " ......................................"

  sudo -k
  sudo cp /boot/grub/menu_win.lst /boot/grub/menu.lst
  sudo echo "0" > ~/.reboot_to_OS/normal_boot.txt
  sudo reboot
fi
exit 
oraz recover_reboot.sh

Kod: Zaznacz cały

#!/bin/bash

testboot=`head -c 1 ~/.reboot_to_OS/normal_boot.txt`
if [ "$testboot" = "1" ];
 then
  exit
fi

if [ "$1" != "-k" ]
 then
  konsole --nomenubar --notabbar --noframe --noscrollbar --vt_sz 40x5 -T "Boot recover" -e ~/.reboot_to_OS/recover_reboot.sh -k
 else 
  echo " ......................................"
  echo "   Przywracanie normalnego menu Gruba  "
  echo "       Podaj haslo polecenia SUDO.     "
  echo "    (Aby anulowac - zamknij to okno)   "
  echo " ......................................"

  sudo -k
  sudo cp /boot/grub/menu_n.lst /boot/grub/menu.lst
  sudo echo "1" > ~/.reboot_to_OS/normal_boot.txt
fi
exit 
Oba skrypty czynimy wykonywalnymi.

--Do zrobienia na Windowsie
6. Tu już możemy zrobić skrypty gdzie bądź:) A skrypty piszemy dwa:
reboot_to_lin.bat

Kod: Zaznacz cały

@echo off

echo.
echo      ....................................  
echo      :     Przelogowuje na Linuksa      :  
echo      : (Aby anulowac - zamknij to okno) :  
echo      ....................................  
echo.
pause

copy /Y G:\boot\grub\menu_lin.lst G:\boot\grub\menu.lst

echo 0 > G:\home\paulus\.reboot_to_OS\normal_boot.txt

shutdown -r -t 0
recover_reboot.bat

Kod: Zaznacz cały

@echo off
for /f "usebackq" %%i in ("G:\home\paulus\.reboot_to_OS\normal_boot.txt") do (set boot=%%i)


if %boot%==1 exit

echo.
echo      ....................................  
echo      :    Przywracanie menu Gruba       :  
echo      : (Aby anulowac - zamknij to okno) :  
echo      ....................................  
echo.
pause

copy /Y G:\boot\grub\menu_n.lst G:\boot\grub\menu.lst

echo 1 > G:\home\paulus\.reboot_to_OS\normal_boot.txt
7. Jak tym działać?
-Jeśli aktualnie jesteśmy w Linuksie kliknięcie na skrypt reboot_to_win.sh spowoduje otwarcie okna konsoli z informacją o przelogowaniu i prośbą o podanie hasła sudo

-Jeśli jesteśmy na Windowsie analogicznie otworzy się cmd i zapyta o potwierdzenie. Tu jednak nie musimy podawać hasła, wystarczy dowolny klawisz.

-Pliki recover_reboot.* służą przywróceniu normalnego menu Gruba po restarcie

8. Umilanie sobie życia
-Pliki recover_reboot.sh i recover_reboot.bat możemy umieścić w autostartach obu systemów, w Windows jest to gdzieś w %SystemDrive%\Documents and Settings\All Users\Autostart (czy jakoś tak) zaś w KDE w ~/.kde/Autostart (w GNOME - nie pamiętam;p)

-Plik reboot_to_win.sh możemy sobie podlinkować na pulpit, czy zrobić skrót, ikonkę, czy co sobie tam kto chce

9. Parę słów wyjaśnienia

-Jak łatwo zauważyć skrypty *.sh wykorzystują program Konsole do otwarcia ostrzeżenia (właściwie wywołane raz uruchamiają same siebie w konsoli), jeśli nie masz Konsole zastąp odpowiednie wywołania własnym emulatorem terminala.

-Skrypty spod Lina i Windy komunikują się poprzez plik ~/.reboot_to_OS/normal_boot wpisując doń wartosć 1, gdy menu gruba jest zwyczajne i 0, gdy zmienione. Dzięki temu recover_reboot.* wie, czy ma cokolwiek robić. Jeśli znajdzie wartość 1 - wyłącza się.

10. Może by z tego zrobić jakieś HOW_TO?

kompresja rar + dzielenie na części + zabezpieczenie hasłem

: 25 cze 2008, 21:53
autor: DaFim
przydaje się gdy chcemy wysłać coś specyficznego przez gmail'a lub inna pocztę ;)

Skrypt został rozbudowany i trochę zmodyfikowany z wcześniejszego skryptu użytkownika: Rupek

Kod: Zaznacz cały

#!/bin/bash
#Autor: DaFim
rodzaj=`zenity --list --title "Kompresja" --text "Wybierz co chcesz skompresować" --radiolist --column "" --column "Dostępne opcje:" FALSE "plik" FALSE "folder"`

	if [ "$rodzaj" = folder ] ; then
            wej=`zenity --file-selection --title="Wybierz folder do podzielenia" --directory`

	    if [ "$?" = 1 ] ; then
		exit 
	    fi
	else 
            wej=`zenity --file-selection --title="Wybierz plik do podzielenia"`

	    if [ "$?" = 1 ] ; then
		exit 
	    fi
	fi

wyj=`zenity --file-selection --save --title="Podaj nazwę oraz wybierz miejsce zapisu." --filename "$wej"`

	if [ "$?" = 1 ] ; then
		exit 
	fi

rozmiar=`zenity --entry --title "Wybierz rozmiar podzielonych części" --text "Podaj rozmiar części i jednostkę np 9m. 
(0=brak dzielenia, 1k=1kb, 1m=1mb)" --width "400" --entry-text "0"` 
	if [ "$rozmiar" = "" ] ; then
		exit 
	fi

kompresja=`zenity --list --title "Wybór bitrate" --text "Wybierz metodę kompresji:

	m0 - kompresja I stopnia (najsłabsza)
	m1 - kompresja II stopnia
	m2 - kompresja III stopnia
	m3 - kompresja IV stopnia
	m4 - kompresja V stopnia
	m5 - kompresja VI stopnia (najmocniejsza)" --radiolist --column "" --column "Dostępne metody kompresji" --height "400" FALSE "m0" FALSE "m1" FALSE "m2" FALSE "m3" FALSE "m4" FALSE "m5"`

	if [ "$?" = 1 ] ; then
	exit 
	fi

haslo=`zenity --entry --title "Podaj hasło" --text "Podaj hasło lub pozostaw puste" --width=400 --entry-text ""` 
	if [ "$haslo" = "" ] ; then
	rar a -ep1 "-v$rozmiar" "-$kompresja" "$wyj.rar" "$wej"
        else
        rar a -ep1 "-p$haslo" "-hp$haslo" "-v$rozmiar" "-$kompresja" "$wyj.rar" "$wej"
	fi
zenity --info --text="Kompresja zakończona"
Wszelkie poprawki, uwagi proszę zgłaszać na PW.
Linuksa używam od 1,5 miesiąca i jakoś zaczynam ogarniać :craz: terminal rules :razz:
Pozdrawiam 8-)

Odp: Przydatne skrypty

: 26 cze 2008, 12:51
autor: youlleck
jeszcze jeden skrypcik, nie mojego autorstwa, znaleziony gdzies w sieci ale niezwykle przydatny ;) dzieki niemu mozna double-clickiem w nautilusie otwierac pliki graficzne w IrfanView :)

Kod: Zaznacz cały

#!/bin/sh
IRFANVIEW="C:\\Program Files\Irfanview\i_view32.exe"
ROOT_DRIVE="Z:\\"
for arg
do
	wine "$IRFANVIEW" "${ROOT_DRIVE}$(echo "$arg" | sed 's/\//\\/g')"
done

Odp: Przydatne skrypty

: 27 cze 2008, 17:22
autor: ubuproblem
Ja kiedyś pisałem skrypcik do dodawania ikon w idesku (bawiłem się małymi WM'ami)
Skrypt nie jest bardzo dopracowany, ale potrafi robić ikonki i je układać (przynajmniej jeden rządek poprawnie układa :P) Są też inne bajerki, które nieco automatyzują flux'a i inne takie WM'y. Po więcej informacji należy uruchomić z argumentem --help

Kod: Zaznacz cały

#!/bin/bash
#
# Skrypt doda automatycznie ikony do aplikacji Idesk. 
# 
#

# Sprawdzanie zależności programu.

if [ $USER == root ]
then
	echo "Nie uruchamiaj tego jako root!"
	exit 0
fi

cd ~
if [ -e /usr/bin/idesk ]
then
	echo -n
else
	echo "Praca programu nie może być kontynuowana, ponieważ program idesk nie został zainstalowany."
	exit 0
fi

if [ -e ~/.idesktop ]
then
	echo -n
else
	mkdir ~/.idesktop
fi


# Funkcja przechodzenia do folderu .idesktop; Jest wielokrotnie wykorzystywana w programie
function spr
{
gdzie=$(pwd | grep .idesktop)
case $gdzie
in
*.idesktop)
	echo -n
	jes=t
	;;
*)
	if [ "$jes" = "t" ]
	then
		echo -n	
	else
		cd .idesktop
	fi
esac
}


# Wyświelta tekst pomocy

function pomoc
{
echo "Adder - Zarządza ikonami na pulpicie programu IDesk."
echo
echo "Użycie: adder [parametr]"
echo "Dostępne parametry:"
echo "adder (bez parametru)		Doda ikony do pulpitu"
echo "-h; --help			Wyświetli ten tekst pomocy"
echo "-rl				Przeładuje IDesk"
echo "-rm				Usunie wybraną aplikację"
echo "-rd				Usunie domyślną ikonę z pulpitu"
echo "-ra				Usunie wszystkie ikony z pulpitu"
echo "-od				Przesunie miejsce tworzonych ikon o 1 miejsce do góry."
}

if [ "$1" = "--help" ]
then
	pomoc
	exit
fi

if [ "$1" = "-h" ]
then
	pomoc
	exit
fi
 
if [ "$1" = "--git" ]
then
	gtkrc=`cat ~/.gtkrc-2.0`
	cat ~/.gtkrc-2.0 > tmm
	case "$gtkrc" in
	*gtk-icon-theme*)
		cat tmm | grep -v "gtk-icon-theme" > ~/.gtkrc-2.0
		je=ah
		;;
	*)
		if [ "$je" = "ah" ]
		then
			echo -n
		else
			cat tmm > ~/.gtkrc-2.0
		fi
		;;
	esac
	echo -n "Wprowadź nazwę zestawu: "
	read git
	echo "gtk-icon-theme-name = \"$git\" #Wygenerowane przez Adder" >> ~/.gtkrc-2.0
	rm tmm
	exit 0
fi
 

# Ta opcja cofnie o jedno miejsce na pulpicie tworzone ikony

if [ "$1" = "-od" ]
then
	spr
	ile=$(cat ost.tmp)
	tyle=$[$ile-90]
	echo $tyle > ost.tmp
	exit 0
fi 

# Ta opcja usunie wszystkie ikony z pulpitu

if [ "$1" = "-ra" ]
then
	spr
	echo -n "Czy na pewno chcesz usunąc wszystkie aktywatory (t/n)"
	read df
	if [ "$df" = "t" ]
	then
		rm *
		exit 0
	else
		echo "Przerwano"
		exit 0
	fi
fi

# Ta opcja usunie domyślną ikonę z pulpitu

if [ "$1" = "-rd" ]
then
	spr
	if [ -e default.lnk ]
	then
		rm default.lnk
		exit 0
	else
		echo "Nie ma już standardowo tworzonego pliku na pulpicie."
	exit 0
	fi
fi

# Ta opcja usunie dowolną ikonę

if [ "$1" = "-rm" ]
then
	spr
	echo -n "Wpisz nazwę aplikacji do usunięcia: "
	read forrm
	rmf=$(echo -n "$forrm.lnk")
	if [ -e $rmf ]
	then
		rm $rmf
		exit 0
	else
		echo "Nie mogłem znaleźć aktywatora $rmf"
		exit 0
	fi
fi

# Ta opcja przeładuje IDesk

if [ "$1" = "-rl" ]
then
	killall -9 idesk
	idesk &
else
	echo -n
fi

# Ta funkcja dodaje ikony (standardowo uruchamiana, bez żadnych parametrów)

function e
{
spr
if [ -e ilew.tmp ]
then
	ilew=$(cat ilew.tmp)
else
	echo "Ile ikon ma być stawiane w jednym rzędzie? (w liczbach)"
	echo -n "> "
	read ilew
	echo $ilew > ilew.tmp
fi
echo "Jaka aplikacja? (np. firefox): "
read apl
echo "Nazwa ikony na pulpicie:"
read nazwa2
nazwa=`echo -n $apl`.lnk
touch $nazwa
echo "table Icon" >> $nazwa
echo "  Caption: $nazwa2" >> $nazwa
if [ -e /usr/games/$apl ]
then
	echo "  Command: $apl" >> $nazwa
fi

if [ -e /usr/bin/$apl ]
then
	echo "  Command: $apl" >> $nazwa
else
	echo "Podaj polecenie aplikacji"
	echo -n "> "
	read polecenie
	echo "  Command: $polecenie" >> $nazwa
fi
piendzi="/usr/share/pixmaps/$apl`echo -n '.png'`"
#"
if [ -e $piendzi ]
then
	echo "  Icon: /usr/share/pixmaps/$apl.png" >> $nazwa
else
	echo -n
fi
ikspeem="/usr/share/pixmaps/$apl`echo -n '.xpm'`"
if [ -e $ikspeem ]
then
	echo "  Icon: /usr/share/pixmaps/$apl.xpm" >> $nazwa
else
	echo "Wpisz ścieżkę do ikony"
	echo -n "> "
	read ikona
	if [ -e $ikona ]
	then
		echo "  Icon: $ikona" >> $nazwa
	else
		echo "Podana ścieżka do ikony nie istnieje."
		e
	fi
fi
if [ -e ost.tmp ]
then
	if [ -e n.tmp ]
	then
		echo -n
		rm n.tmp
	else
		o=$(cat ost.tmp)
		ost=$[$o+90]
	fi
else
	ost=30
fi
echo $ost > ost.tmp

if [ -e ileik.tmp ]
then
	ileik=$(cat ileik.tmp)
	ilete=$[$ileik+1]
	echo $ilete > ileik.tmp
else
	echo 1 > ileik.tmp
fi
if [ -e odst.tmp ]
then
	echo -n
else
	echo 40 > odst.tmp
fi
ileik=$(cat ileik.tmp)

odst=$(cat odst.tmp)
echo "Width: 48
  Height: 48
  X: $odst
  Y: $ost
  end" >> $nazwa
if [ "$ileik" = "$ilew" ]
then
	odst=$(cat odst.tmp)
	odst1=$[$odst+100]
	echo $odst1 > odst.tmp
	ost=30
	echo $ost > ost.tmp
	touch n.tmp
	ileik=0
	echo $ileik > ileik.tmp
fi
killall -9 idesk
idesk &
echo "Czy chcesz dodać następną ikonę? (t/n) "
echo -n "> "
read czydod
if [ "$czydod" = "t" ]
then
	e
else
	exit 0
fi
}
e
#--------------------------------------------------------------------------#
Polecam też przegląd kodu, bo dawałem jeszcze inne opcje niż są w --help.
Z tego co pamiętam, to
./adder --git
pozwoli na ustawienie domyślnego stylu ikon w programach Gnome (thunar itp.)

Odp: Przydatne skrypty

: 29 cze 2008, 04:06
autor: darkmanek
@Sycu:
W skrypcie do przypisywania kluczy repo jest

Kod: Zaznacz cały

sudo apt-key add .gnupg/pubring.gpg > /dev/null
a powinno byś chyba

Kod: Zaznacz cały

sudo apt-key add /home/nazwa_usera/.gnupg/pubring.gpg
ps. po tej zmianie u mnie wszystko działa, a wcześniej Pobierało klucze, ale nie dodawało ;)
Pozdrawiam

Edit: A tak w ogóle, to ten temat nie powinien być w offtopie, jak już ktoś zauważył.

Odp: Przydatne skrypty

: 02 lip 2008, 09:34
autor: karmelek
darkmanek - można i tak, ale skrypt wykonujesz z katalogu domowego usera, wiec ta dluższa wersja nie jest konieczna

Odp: Przydatne skrypty

: 02 lip 2008, 13:32
autor: PietroZ
Bardzo prosty skrypcik, który uruchamiając PlayOnLinux wyłącza Compiz-Fusion, a po wyłączeniu programu uruchamia z powrotem:

Kod: Zaznacz cały

#!/bin/bash
metacity --replace &
playonlinux
compiz --replace -c emerald
Zapisujemy jako np. /home/nazwa_użytkownika/.playonlinux.sh
Zmieniamy wpis skrótu PlayOnLinux w menu z

Kod: Zaznacz cały

playonlinux
na

Kod: Zaznacz cały

sh '/home/nazwa_użytkownika/.playonlinux.sh'
dzięki takiemu rozwiązaniu możemy grać z pełną wydajnością :razz: