Nautilus a skripty?
Ano. Jsou to obyčejné skripty v libovolném jazyce, které lze aplikovat na aktuální složku či pouze na vybrané položky. Jsou přístupné z kontextové nabídky Nautilu.
K čemu jsou dobré?
Možností upotřebení je celá řada – jen namátkou zmiňuji kompresi, zálohování, přidání mp3 souborů do playlistu, zobrazení podrobných informací o souboru, editaci souboru se superuživatelskými oprávněními, instalace balíčků, spuštění kompilace, konverze souborů JPG na PNG nebo třeba vytvoření náhledů ze všech, či pouze označených obrázků ve složce.
Proměnné nautilích skriptů
Je samozřejmé, že skript sám o sobě nepozná, jaké soubory jsou označeny a jaké nikoliv. Proto nám Nautilus poskytuje tyto informace v několika proměnných, které jsou ze skriptu dostupné:
$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
je proměnná obsahující cesty k vybraným souborům oddělené znakem nového řádku.$NAUTILUS_SCRIPT_SELECTED_URIS
je proměnná velmi podobná výše uvedené, ale narozdíl od ní nevrací cesty k souborům, ale jejich URL.$NAUTILUS_SCRIPT_CURRENT_URI
poskytuje URL aktuální složky.$NAUTILUS_SCRIPT_WINDOW_GEOMETRY
uchovává informace o velikosti a umístění okna.
Přirozenější a příjemnější cestou než používání $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
je použití proměnných $1, $2 atd. či $* v bashi či jejich ekvivalentů v jiných programovacích jazycích (tedy ARGV v Ruby, @ARGV v Perlu či sys.argv v Pythonu).
Samozřejmě pokud budeme chtít nějakou z výše uvedených proměnných použít v některém ze skriptovacích jazyků přímo, bude třeba s ní pracovat jako s proměnnou prostředí, tedy například v Ruby to bude ENV['NAUTILUS_SCRIPT_WINDOW_GEOMETRY']
.
Nicméně pokud si nejste přesně jisti, co přesně která proměnná znamená, zkuste použít tento drobný skriptík (nautilus_variables (HTML 760 bytů)). Pomocí něj můžete snadno vypsat zmíněné proměnné do souboru ~/nautilus-scripts-log
. Zkuste si, co vrátí, když vyvoláte kontextovou nabídku na libovolném místě v adresáři a co vrátí když označíte libovolné soubory.
Kam s nimi?
Veškeré skripty ukládejte do složky ~/.gnome2/nautilus-scripts
, kde je Nautilus sám najde a vy již více řešit nemusíte. Je dobré vědět, že ve zmíněné složce můžete libovolně vytvářet podsložky, které budou expandovány na jednotlivá submenu, jak je patrno z obrázku výše.
Tipy
Grafika
Patrně je vám jasné, že GTK v bashi přímo používat nemůžete. V Pythonu, Ruby či Perlu sice ano, ale upřímně řečeno, kdo by se s tím chtěl psát kvůli nějakému skriptíku? Naštěstí je tu elegantní řešení. Jmenuje se zenity.
Základem okýnek v nautilích skriptech je zobrazování informací. To se dělá pomocí zenity --info --title="titulek okna" --text="zobrazený text"
. Chcete-li informovat o chybě, použijte raději zenity --error --title="titulek okna" --text="zobrazený text"
.
Neméně důležité je vkládání informací uživatelem. Od toho slouží zenity --entry --title="titulek okna" --text="zobrazovaný text"
. Zenity pochopitelně nabízí i specializovanější formy tohoto vkládacího dialogu, například dialog pro výběr data se volá zenity --calendar
a dialog pro výběr souborů zase zenity --file-selection
.
Jak na heslo roota?
Ne, opravdu vám nemíním vyzradit heslo do redakčního systému vašeho oblíbeného serveru, míním tím uživatele root na vašem počítači. K tomuto účelu slouží gksu
a gksudo
. Rozdíl mezi nimi je více než patrný – prvá aplikace volá příkaz su
, kdežto druhá příkaz sudo
. Takže například když chcete pustit Firestarter s právy roota přes sudo, použijte gksudo firestarter
.