2012. szeptember 10., hétfő

Thunar egyéni műveletek: ISO készítés, mount


A Crunchbang Linux alapértelmezett fájlkezelője a Thunar, melynek fejlesztési céljai közé tartozik, hogy gyorsabban induljon, mint bármely más böngésző, és rendkívül megbízható legyen, ezenkívül könnyen kiterjeszthető legyen a funkcionalitása plugin-ek és egyéb szkriptek segítségével. Talán gyorsaság és memóriahasználat szempontjából nem a legjobb (a PCManFM egy kicsit ebben megelőzi), viszont az általam korábban használat Konqueror-t, és Nautilus-t bőven lehagyja.
Sokáig nem használtam hozzá saját kiegészítéseket, mert a Crunchbang-ben alapból hozzá adtak már néhány egyéni műveletet (custom action, magyarul szörnyen hangzik). Ezek a következők: Fájlok keresése Catfish-el, Thunar megnyitása root jogosultsággal, Terminator megnyitása az adott mappában a felhasználó vagy root jogosultsággal.
Nautilus esetén is ezeket a kiegészítéseket használtam, de néha hasznos lenne, ha .iso fájlokat is gyorsan tudnék kezelni Thunar-ból. Például egy Daemon Tools funkcionalitását megvalósíthatná custom action-ökkel! Amikor ez eszembe jutott el is kezdtem átírni a korábbi Nautilus-nál használt .iso kezelő szkriptjeimet Thunar-os verzióra, így most megosztom, hátha szüksége van másoknak is rájuk.

előkészítés
3 szkripttel elég jól kezelni tudjuk már az .iso képfájlokat. Lesz egy képfájlt csatoló, egy leválasztó, és egy képfájlokat készítő szkript. Természetesen bárhova telepíthetőek lesznek, ez csak egy példa lesz:
#csináljunk a home-unkban egy .scripts könyvtárat, ha még nincs
mkdir -p ~/.scripts/ISOManager
#hozzuk létre a 3 szkriptet
touch ~/.scripts/ISOMount ~/.scripts/ISOunMount ~/.scripts/MakeISO
#tegyük őket futtathatóvá
chmod +x  ~/.scripts/ISOMount ~/.scripts/ISOunMount ~/.scripts/MakeISO
.iso képfájl csatolása
A Thunar-ban a Szerkesztés -> Egyéni műveletek beállítása... résznél, a "+" gomb megnyomása után adhatunk hozzá újat. A Név és Leírás mezőket töltsük ki tetszés szerint, a Parancs részhez, pedig írjuk be a következőt:
gksudo ~/.scripts/ISOManager/ISOMount %f
Megjelenési feltételeknél írjuk be, hogy csak a *.iso alakú Egyéb fájlok-nál jelenjen meg ez az opció. Ezután Terminálban:
gedit ~/.scripts/ISOManager/ISOMount
 Majd illesszük be a következő szkriptet, és mentsük el a fájlt:
#!/bin/bash
BASENAME=`basename "$1"`
ISO=`printf "%q" "$1"`
sudo mkdir -p "/media/$BASENAME"
if sudo mount -o loop -t iso9660 $ISO "/media/$BASENAME"; then
    if zenity --question --title "ISO Mounter" --text "$BASENAME Successfully Mounted. Open Volume?"; then
        thunar /media/"$BASENAME"
    fi
    exit 0
else
    sudo rmdir "/media/$BASENAME"
    zenity --error --title "ISO Mounter" --text "Cannot mount $BASENAME!"
    exit 1
fi
.iso képfájl leválasztása
Az előzőhöz hasonlóan kell hozzáadnunk, de a Parancs a következő legyen:
gksudo ~/.scripts/ISOManager/ISOunMount %f
Megjelenési feltételeknél írjuk be, hogy csak a *.iso alakú Egyéb fájlok-nál jelenjen meg ez az opció. Ezután Terminálban:
gedit ~/.scripts/ISOManager/ISOMount
Majd illesszük be a következő szkriptet, és mentsük el a fájlt:
#!/bin/bash
BASENAME=`basename $1`
sudo umount "/media/$BASENAME"
sudo rmdir "/media/$BASENAME"
zenity --info --text "Successfully unmounted /media/$BASENAME"
exit 0
.iso képfájl készítése
Ugyanúgy, mint az előzőeket. Parancs:
~/.scripts/ISOManager/MakeISO %N
Megjelenési feltételeknél írjuk be, hogy bármely fájlnál (*) jelenjen meg ez az opció, és minden fájltípust jelöljünk be. Majd Terminálban:
gedit ~/.scripts/ISOManager/MakeISO
Végül  illesszük be a következő szkriptet, és mentsük el a fájlt:
#!/bin/bash
zenity --question --text="Create an ISO image here?" || exit

(genisoimage -r -o generated.iso "$@" 2>&1 |
while read i; do
    PARCIAL=$(echo $i | grep -o [0-9]*'\.'[0-9]*)
    if [ $PARCIAL ]; then
        echo $PARCIAL
        echo "# $PARCIAL% done..."
    fi;
done
echo "# Finish." ) | zenity --progress --title="Creating \"$*.iso\""
Ha mindent jól csináltunk a következő menüpontokkal találkozhatunk Thunar-ban, ha jobb klikkel kapcsoltunk kijelölt fájlokra:




Thunar hivatalos Wiki-je, néhány új custom action
Thunar hivatalos oldala

Nincsenek megjegyzések:

Megjegyzés küldése