přejít na obsah přejít na navigaci

Linux E X P R E S, Rozšíření a skripty pro Nautilus

Vera

Rozšíření a skripty pro Nautilus

nautilus_ext.jpg

Správce souborů Nautilus je bez nadsázky srdcem prostředí GNOME, bez něj by uživatelé neměli ani ikony na ploše. Nautilus už se vyvíjí řadu let a ač se jeho vývojáři řídí filozofií jednoduchosti, která je vlastní celému GNOME, jedná se o propracovaného správce souborů. Mnoho uživatelů však ani netuší, že ho lze rozšířit o další funkce, jejichž počet je prakticky omezen jen nápaditostí a schopnostmi uživatele.


reklama

Než se ale dostaneme k libovolným skriptům pro Nautilus, pojďme se podívat na rozšíření, která jsou již pro uživatele připravena, tedy zásuvné moduly.

Existující rozšíření

Modul Sendto

S nadsázkou řečeno - modul Sendto vám umožní poslat soubory třeba i do pekel, nabízí totiž mnoho způsobů, jak z Nautilu odeslat soubor do světa. Nainstalujete balíček nautilus-sendto, alespoň u distribucí, se kterými jsem se setkal, to tak bylo. Když jej máte nainstalovaný, stačí na vybraný soubor kliknout pravým tlačítkem myši a z kontextové nabídky vybrat Odeslat. Vyskočí dialogové okno, v kterém musíte vybrat, jakým způsobem chcete soubor odeslat. Nautilus nabízí několik možností - e-mail, instant messaging a od verze 2.26 přináší i odeslání do „pekárny" (vypálení) a na výměnná zařízení nebo sdílení.

Posílání souborů přes instant messaging je velmi jednoduché, stačí vybrat v Poslat jako volbu Instant message a uživatele, kterému má být odeslána. Doplňkovou službou je komprese, ta nejenom že dokáže odesílaný soubor zmenšit, ale zabalený soubor je i lépe chráněný před poškozením během přenosu. Tímto způsobem se dají velmi jednoduše posílat i soubory na Jabber disk, který může sloužit jako online klíčenka. Pokud chci poslat soubor na Jabber disk, vyberu si uživatele Jdisk - private a po stisknutí klávesy Odeslat se soubor již kopíruje na server. Modul Sendto dosud podporoval dva kecálky - Pidgin a Gajim, které v nové verzi doplňuje ještě Empathy.

Další možností je poslat soubor e-mailem. V tomto případě spolupracuje modul s aplikací Evolution. Otevře nový e-mail a soubor do něj vloží jako přílohu. Příjemnou vlastností je, že když začnete psát do pole Poslat pro, začnou se vám automaticky nabízet kontakty, které máte v Evolution uložené.

Novinkou je vypalování souboru. Modul posílá soubory do Tvůrce CD/DVD. Vždy máte na výběr, jestli chce poslat soubor do již existujícího projektu, nebo vytvořit nové CD. Poslední možností je poslat soubor na výměnná zařízení a sdílení. Abych pravdu řekl, nějak smysl této funkce nechápu, protože zkopírovat soubor např. na flashku můžete jednoduše z adresáře do adresáře. Možná, že odeslání je rychlejší a navíc mu stačí jen jedno okno.

Modul SendtoModul Sendto

 

Další rozšíření z balíčků

Z balíčků lze doinstalovat i další rozšíření. Zde však záleží na tom, zda distribuce tato rozšíření v repozitářích nabízí. Minimálně repozitáře Ubuntu a Debianu nabízí následující balíčky:

  • nautilus-open-terminal - přidá do kontextové nabídky položku Otevřít terminál; ten se následně otevře v adresáři, v němž se zrovna v Nautilu nacházíte - ušetříte si tak práci s příkazem cd.
  • nautilus-gksu - díky tomuto rozšíření už nebudete muset spouštět celý Nautilus s právy uživatele root - rozšíření vám umožní spouštět nebo otevírat v Nautilu jednotlivé programy nebo soubory s rootovskými právy.
  • nautilus-image-converter - toto rozšíření považuji za nejpraktičtější. Pro práci s obrázky používá známý program imagemagick a ve spolupráci s ním vytváří maximálně jednoduchý způsob práce s obrázky, především té dávkové. Stačí označit libovolný počet obrázků a z kontextové nabídky vybrat položky Změnit velikost obrázků nebo Otočit obrázky podle toho, co s nimi chcete dělat. Objeví se dialogové okno, kde nastavíte požadované parametry a potom už jenom necháte imagemagick pracovat.
  • nautilus-wallpaper - umožňuje nastavit pomocí položky v kontextové nabídce vybraný obrázek jako pozadí.

Nautilus pyextensions

Několik dalších zajímavých rozšíření umožňuje skupina skriptů napsaných v jazyce Python nazvaná Nautilus pyextensions. Na výběr jich zatím příliš není, k dispozici jsou pouze čtyři skripty:

  • open-terminal-geometry.py - v kontextové nabídce po kliknutí pravým tlačítkem do adresáře najdete volbu Open Terminal Here. Funguje stejně jako rozšíření nautilus-open-terminal.
  • copy-to-browsed-place.py - když vyberete soubory či adresáře a v kontextové nabídce kliknete na Copy to browsed place, objeví se souborový dialog, kde můžete vybrat adresář, kam označené položky zkopírovat. Je to další ze způsobů, jak kopírovat soubory.
  • set-as-desktop-background.py - po kliknutí na obrázek v kontextové nabídce naleznete volbu Set As Desktop Background, pomocí níž můžete libovolný obrázek nastavit jako pozadí. Funguje stejně jako nautilus-wallpaper.
  • add-to-audacious-playlist.py - pokud používáte přehrávač Audacious, může se vám hodit tento skript. Pokud totiž označíte libovolný počet hudebních souborů a v kontextové nabídce vyberete Add To Audacious Playlist, nakopírují se do seznamu skladeb v Audaciu.

Audacious je modulární hudební přehrávač. Nedávno jsme o něm vydali trojdílný článek Audacious: modulární hudební přehrávač.

Zaujalo vás jedno z rozšíření? První, co musíte udělat, je nainstalovat balíček python-nautilus, který do Nautilu přidává podporu pro rozšíření napsané v Pythonu. Uživatelé Ubuntu mají práci ulehčenou v tom, že pro ně autor připravil balíček, který si můžou stáhnout na jeho stránkách. Po nainstalování naleznou v nabídce Aplikace | Příslušenství správce rozšíření pod názvem Nautilus pyextensions.

Uživatelé ostatních distribucí jsou odkázáni na stažení archivu se zdrojovými kódy. V domovském adresáři se nachází skrytá složka .nautilus, ve které je potřeba vytvořit složku python-extensions a nakopírovat do ní z archivu skripty v podobě souborů s koncovkou .py. V archivu se nachází také soubor nautilus-pyextensions, který spouští již zmiňovaného správce rozšíření, kde lze kromě aktivování a deaktivování skripty také editovat.

Správce PyextensionsSprávce Pyextensions

Vytváření vlastních funkcí

V další části článku bych se rád zaměřil na nástroje, které vám umožní přidávat si do Nautilu funkce, které si definujete vy sami, a nemusíte se tak spoléhat na ty předpřipravené.

Nautilus-actions

Nástrojem, který je tak na půli cesty mezi předpřipraveným rozšířením a rozšířením, které si definujete úplně sami, je Nautilus-actions (do češtiny překládáno jako Akce programu Nautilus). Naleznete jej jako stejnojmenný balíček v repozitářích. Program se čtyři roky nevyvíjel, protože původní autor o něj ztratil zájem, ale nedávno se našel nový, který by ho měl i nadále vylepšovat.

Po nainstalování ho naleznete v nabídce Systém | Volby | Konfigurace akcí programu Nautilus. Všimněte si v úvodním okně tlačítka Import/Export. Nautilus-actions taktéž počítá s importem předpřipravených rozšíření. Navíc ale umí rozšíření i exportovat. Chcete-li tedy poslat svoje rozšíření někomu jinému, stačí ho pomocí této funkce vyexportovat.

Seznam funkcíSeznam funkcí

Nové rozšíření vytvoříte tak, že kliknete na Přidat a otevře se vám nové okno pro vytvoření nové akce. Do pole Jmenovka zadejte název, pod kterým se má rozšíření objevit v kontextové nabídce. Text v poli Nápověda se zobrazí, když v kontextové nabídce na toto rozšíření najedete myší. Položce také můžete vybrat ikonu, aby byla v nabídce lépe rozlišitelná. Na výběr máte ze seznamu nebo můžete vybrat jakoukoliv ikonu o velikosti 16×16 pixelů.

Úprava akceÚprava akce

Funkci přidáte tak, že kliknete v sekci Profile na tlačítko Přidat (nebo upravíte předpřipravený Main). Na kartě Action musíte do pole Cesta zadat cestu k programu, který chcete v akci použít. Do pole Parametry pak zadáte parametry a proměnné podle toho, co chcete, aby program vykonal. V orientaci mezi proměnnými vám pomůže nápověda skrývající se pod tlačítkem Legend. V našem příkladu jsem si definoval akci otočení vybraného obrázku o devadesát stupňů doleva.

Karta ActionKarta Action

Na další kartě (Podmínky) si můžete nastavit podmínky, za jakých se akce objeví v kontextové nabídce. V poli Filenames můžete zadat název souboru, na jaký se bude akce vztahovat, hvězdička je univerzální. Praktičtější využití má Mimetypes, kde můžete zadat, pro jaký typ souboru bude funkce dostupná. Když tvoříte rozšíření na otáčení obrázků, je zbytečné, aby se objevovalo i v kontextové nabídce např. hudebních souborů, proto jsem typ souboru omezil na png. Dále si můžete vybrat, zda má být akce dostupná jen pro soubory nebo i pro složky a jestli ji nabídnout pouze v případě, že máte označeno víc položek. Na kartě Advanced Conditions můžete zadat dostupnost akce podle umístění souboru.

Karta PodmínkyKarta Podmínky

Akce Otočení v kontextové nabídceAkce Otočení v kontextové nabídce

Skripty

Určitě jste si všimli, že Nautilus-actions vám dává oproti předpřipraveným rozšířením notnou dávku variability, ale pořád to není ono. Pokud si chcete opravdu vytvořit rozšíření podle své libosti, musíte skriptovat. Nautilus umí pracovat se skripty v jazycích (shellů) Bash, Zsh, Python, Perl, Ruby, PHP... vybrat si můžete dle libosti. Pokud ani jeden z jazyků neovládáte a chtěli byste do tajů skriptování proniknout, doporučuji povedený seriál seriál Bash a nebo Programovací jazyky.

Smyslem tohoto článku není obsáhnout celou problematiku skriptování pro Nautilus, ale nastínit základní informace a specifika.

Pokud chcete tvořit skripty pro Nautilus, musíte ve skriptech uvést, se kterými soubory má pracovat. Z tohoto důvodu Nautilus poskytuje čtyři proměnné:

  • $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS - cesty k označeným souborům;
  • $NAUTILUS_SCRIPT_SELECTED_URIS - URI k označeným souborům;
  • $NAUTILUS_SCRIPT_CURRENT_URI - cesty k aktuální složce;
  • $NAUTILUS_SCRIPT_WINDOW_GEOMETRY - umístění a velikost aktuálního okna.

Hotový skript musíte nakopírovat do adresáře ~/.gnome2/nautilus-scripts. Nezapomeňte mu nastavit spustitelný příznak (práva spouštění). Skripty nakopírované do toho adresáře se objeví v kontextové nabídce pod položkou Skripty. Struktura podnabídek se tvoří podle struktury podadresářů v adresáři ~/.gnome2/nautilus-scripts.

I v tomto případě je však pamatováno na ty, kdo nechtějí ztrácet čas tvorbou vlastních skriptů. Na stránkách G-scripts naleznete archivy s různými balíčky skriptů. Ty stačí stáhnout, rozbalit a nakopírovat do výše zmíněného adresáře.

Skripty v kontextové nabídce NautiluSkripty v kontextové nabídce Nautilu

Nahoru

Odkazy

(Jako ve škole)
Průměr: 1,33 | Hodnotilo: 3
 

Top články z OpenOffice.cz

Příspěvky

Rozšíření a skripty pro Nautilus
jz 28. 05. 2009, 11:56:01
Odpovědět  Odkaz 
Pěknej článek, ani jsem netušil, že jde nautilus rozšiřovat (holt začátečník) a zrovna tyhle rozšíření je to co mi tam chybělo ...
Re:Rozšíření a skripty pro Nautilus
maor 28. 05. 2009, 12:17:15
Odpovědět  Odkaz 
Tiez som donedavna o tomto nepocul, ale raz som si prezeral http://www.gnome-look.org/ kde som objavil celkom peknu zbierku skriptov
Ivan Bíbr Dost hustý...
bibri 28. 05. 2009, 12:16:06
Odpovědět  Odkaz 
Neřekl bych, že to jde tak lehce a je to takhle efektivní. Super článek!
Miroslav Hrončok Re:Dost hustý...
Miro Hrončok 28. 05. 2009, 14:42:38
Odpovědět  Odkaz 
Na mě to působí příliš komplikovaně... Thunar to zvládá (subjektivně posouzeno) lépe a radostněji. Jdu vykrást ty skripty a hrát si... třeba o tom i napíšu.
Miroslav Hrončok Re:Re:Dost hustý...
Miro Hrončok 28. 05. 2009, 14:43:42
Odpovědět  Odkaz 
Jinak článek samozřejmě taky líbí :) Hodně mě inspiroval.
Petr Šafařík Rozšíření a skripty pro Nautilus
Peťoš 28. 05. 2009, 12:47:42
Odpovědět  Odkaz 
Moc pěkný článek. Ivanovi: nepřejdeš? ;)
Rozšíření a skripty pro Nautilus
Half 28. 05. 2009, 17:23:38
Odpovědět  Odkaz 
tak nautilus-image-converter ma milo prekvapil.. :) este keby ponukal moznost optimalizacie - tak by to bolo uplne dokonale..
Rozšíření a skripty pro Nautilus
Profik123 29. 05. 2009, 09:42:40
Odpovědět  Odkaz 
Hezký článek.

Jen nevím, jak může být zabalený soubor chráněný před poškozením během přenosu. To má fungovat jak? Copak se o spolehlivost přenosu nestará protokol TCP?
Jiří Eischmann Re:Rozšíření a skripty pro Nautilus
Jiří Eischmann 29. 05. 2009, 10:42:30
Odpovědět  Odkaz 
TCP ano, ale co ty vrstvy nad tím? to je prostě praktická zkušenost. Když jsem posílal soubory po ICQ, Jabberu, Skypu, tak byly mnohdy poškozené, i když se dostahovaly celé. Z archivu se to ještě dalo dostat.

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Jiří Eischmann

Jiří Eischmann

(*1984) studoval na VŠE a Memorial University of Newfoundland. Je členem GNOME Foundation. Podílel se na knihách o Mandriva Linuxu a Ubuntu a momentálně pracuje ve společnosti Red Hat jako manažer zodpovědný za vývoj desktopových aplikací a je Fedora ambasadorem pro ČR. Ve volném čase se věnuje sportu a cestování.


  • Distribuce: Fedora
  • Grafické prostředí: GNOME
  • Hodnocení autora: *****

| proč linux | blog