LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> Souborový manažer Ranger

Ranger je souborový manažer pro příznivce práce v terminálu a pro fanoušky programovacího jazyka Python. Pokud hledáte minimalistický souborový manažer spolupracující s ostatními programy v textovém režimu, neměl by Ranger uniknout vaší pozornosti.

31.5.2012 00:00 | David Adamczyk | Články autora | přečteno 3865×

Ranger je souborový manažer napsaný v jazyce Python s propracovaným rozhráním pracující v textovém režimu podporující ovládání ve stylu textového editoru vi. Jeho autorem je Roman Zimbelmann a veškerý kód je uvolněn pod svobodnou licencí GPL3. Tento souborový manažer se vyznačujě některými speciálními vlastnostmi. Například díky tomu, že je napsán v Pythonu je poměrně jednoduché jej rozšířit nebo upravit. Podporuje barevná témata, záložky, historii příkazů, makra a náhledy. Pro náhledy různých formátů souborů využívá speciální programy pracující nejčastěji v textovém režimu, jako například img2txt pro prohlížení souborů grafických formátů.

Instalace

Pro některé hlavní distrubuce (Arch, Debian, Gentoo, Slackware) je k dispozici balíček. Jestliže nechcete instalovat z distribučního balíčku máte k dispozici zdrojové kódy na oficiální webové stránce. Máte rovněž možnost stáhnout zdrojové kódy prostřednictvím gitu. Pro stabilní verzi zadejte:

git clone git://git.savannah.nongnu.org/ranger.git
git checkout stable
Pro testovací verzi:
git clone git://git.savannah.nongnu.org/ranger.git
git checkout master
Pokud máte zdrojové kódy staženy, případně i rozbaleny můžete pokračovat dále a správce souborů rovnou i spustit pokud se nacházíte v příslušném adresáři:
cd ranger
./ranger.py
Protože je Ranger napsán kompletně v Pythonu, můžeme od něj očekávat stejné konvence jako od všech ostatních programů napsaných v Pythonu. Máme k dispozici instalační skript setup.py, přes který můžeme do systému Ranger nainstalovat. Dále máme k dispozici soubor s názvem Makefile, pomocí příkazu make options zadaného do příkazového řádku získáme všechny volby, které můžeme provádět:
make:          Provedení testu a kompilace.
make install:  Instalace správce souborů do systému.
make clean:    Odstranění zkompilovaných souborů (*.pyc, *.pyo)
make doc:      Vytvoření dokumentace pomocí pydoc
make cleandoc: Odstranění dokumentace
make man:      Vytvoření manuálové stránky pomocí "pod2man"
make manhtml:  Vytvoření manuálové stránky v html pomocí "pod2html"
make snapshot: Vytvoří archív s aktuální revizí z gitu
make test:     Testuje všechny testovatelné moduly
make todo:     Prohlížení todo 
Volby:
PYTHON = /usr/bin/python   Cesta k pythonu
PYOPTIMIZE = 1             Povolení optimalizace
DOCDIR = doc/pydoc         Cesta s dokumentací
DESTDIR = /                Cílový adresář
Chcete-li tedy Ranger instalovat s nějakými specifickými volbami použijte příkaz make:
make DESTDIR=/home/david/.bin install

První kroky

Základy práce

Jak jste si mohli všimnout na prvním screenshotu, má Ranger poněkud zvláštně provedené rozhrání. Horní stavový řádek vás informuje o aktuálně otevřeném adresáři, spodní stavový řádek popisuje přístupová práva, skupiny a uživatele aktuálně vybrané položky (soubor nebo adresář) včetně informace jako velikost položky a volné místo na disku případně pozice v daném adresáři. Veškerá práce se soubory a adresáři je prováděná ve třech panelech. Aktuální je vždy prostřední panel, první panel vlevo znázorňuje obsah adresáře nadřazeného a třetí panel vpravo zobrazuje náhled aktuálně vybraného adresáře nebo souboru.

Ovládání a klávesové zkratky

Pro pohyb ve struktuře adresářů můžete používat jak šipky, tak oblíbené klávesy [h,j,k,l]. Pokud se potřebujete dostat v aktuálním adresáři do příkazového řádku, stiskněte klávesu S. Výběr souborů a adresářů provedete buď klávesou SpaceBar nebo klávesou v pokud chcete označit celý obsah aktuálního adresáře včetně všech podadresářů. Samozřejmě existují i klávesové zkratky pro třidění obsahu adresářů, hledání a další činnosti. Podrobný seznam těchto klávesových zkratek naleznete v manuálové stránce nebo v dokumentaci a případně si jej můžete kdykoliv vyvolat zadáním klávesové zkratky 1?. Kromě klávesových zkratek připominající práci s textovým editorem vi můžeme používat i několik málo klávesových zkratek známých ze souborového manažeru Midnight Commander. Klávesou F3 otevřete intérní prohlížec souborů, klávesou F4 editujete soubor textovým editorem VIM. Jsou k dispozici všechny známé zkratky Midnight Commanderu od klávesy F1 až do F10. Mimo standardní klávesové zkratky můžete vytvářet i své vlastní, stací provést jisté úpravy v souboru ~/.config/ranger/rc.conf. Například pro přesunutí souboru do koše (nachází se například v cestě ~/.Trash/) přidejte do konfiguračního souboru příkaz:

map DD shell mv -t /home/uzivatel/.Trash %s

Příkazy

Příkazy vyvoláváme obdobně jako v textovém editoru vi. Příkaz :rename SOUBOR123 přejmenuje aktuálně vybraný soubor na soubor s názvem SOUBOR123. Příkaz :cd /var/log vás přesune do daného adresáře. Kdykoliv je možné nalézt seznam příkazu v manuálové stránce, v dokumentaci, nebo zadáním klávesové zkratky 2?. V úvodu článku jsme si řekli, že správce souborů Ranger je napsán kompletně v jazyce Python, ovládáte-li alespoň trochu tento jazyk můžete si psát své vlastní příkazy. Doporučuji si případně projít vygenerovanou dokumentaci, kterou jste mohli získat pomocí make doc. Všechny příkazy jsou uloženy v souboru ~/.config/ranger/commands.py. Všechny třídy definované v tomto souboru dědí z třídy Commands a jsou používany jako příkazy, které můžete libovolně vykonávát dle potřeby během práce se správcem souborů. Tyto třídy obsahují i několik atributů a speciálních metod jako například execute() nebo cancel(). Popis těchto metod a atributů naleznete ve výše uvedeném souboru, který je mimo jiné i dostatečně okomentován, takže by neměl být problém cokoliv upravit přpadně vytvořit vlastní příkazy. Následuje malá úkázka kódu:

class terminal(Command):
     """
     :terminal
 
     Spawns an "x-terminal-emulator" starting in the current directory.
     """
     def execute(self):
         self.fm.run('x-terminal-emulator', flags='d')
Jako první vidíte třídu terminal dědící z třídy Command. Následuje malý komentář popisující činnost příkazu. Všimněte si, že příkaz vyvoláte stejným názvem jako je název samotné třídy. Za komentářem následuje metoda v jejímž těle se volá příkaz pro spouštění emulátoru terminálu.

Nastavení a konfigurace

Náhledy, které jsou k dispozici v třetím panelu jsou řešeny skriptem ~/.config/ranger/scope.sh. Pro prohlížení některých formátů jako třeba html můžete doinstalovat například program w3m. Nebo pro prohlížení bitmapových obrázků v textovém režimu program img2txt. Soubor scope.sh můžete dle úvážení libovolně modifikovat a přídávát například podporu pro další programy. Obecná nastavení jsou uložena v souboru ~/.config/ranger/options.py. Tyto nastavení můžete provádět opět buď editací souboru nebo pomocí příkazu během práce se správcem souborů. Příkazy pro úpravu nastavení zadávejte ve tvaru :set volba hodnota například: :set sort 'natural'. Popis všech nastavení naleznete opět v propracované dokumenaci nebo v manuálové stránce. Můžete také použít klávesovou zraktu 3?.

Závěr

Pokud máte rádi jazyk Python a práci v terminálu můžete se po správci souborů Ranger poohlédnout. Nevýhodou může být jiný přístup při práci se třemi panely pro uživatelé, kteří jsou zvyklí na souborové manažery typu Midnight Commander. Výhodou naopak může být snadná konfigurace, modifikace a vytváření nových příkazů, takže si můžete Ranger jednoduše přizpůsobit dle svých požadavků.

Verze pro tisk

pridej.cz

 

DISKUZE

Nejsou žádné diskuzní příspěvky u dané položky.



Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

4.9.2016 20:13 /Pavel `Goldenfish' Kysilka
PR: Dne 22.9.2016 proběhne v Praze konference Cloud computing v praxi. Tématy bude např. nejnovější trendy v oblasti cloudu a cloudových řešení, provozování ERP v cloudu, o hostování různých typů softwaru, ale třeba i o zálohování dat nabízeném podnikům formou služby.
Přidat komentář

1.9.2016 11:27 /Honza Javorek
Česká konference o Pythonu, PyCon CZ, stále hledá přednášející skrz dobrovolné přihlášky. Máte-li zajímavé téma, neváhejte a zkuste jej přihlásit, uzávěrka je již 12. září. Konference letos přijímá i přednášky v češtině a nabízí pomoc s přípravou začínajícím speakerům. Řečníci mají navíc vstup zadarmo! Více na webu.
Přidat komentář

27.8.2016 8:55 /Delujek
Dnes po 4 letech komunitního vývoje vyšla diaspora 0.6.0.0
diaspora* je open-source, distribuovaná sociální síť s důrazem na soukromý
Více v oficiálním blog-postu
Přidat komentář

24.8.2016 6:44 /Ondřej Čečák
Poslední týden CFP LinuxDays 2016; pokud byste rádi přednášeli na LinuxDays 2016 8. a 9. října v Praze, můžete svůj příspěvek přihlásit, následovat bude veřejné hlasování.
Přidat komentář

9.8.2016 22:56 /Petr Ježek
Zařazení souborového systému reiser4 do jádra 4.7 znamená konečně konec patchování jádra jen kvůli možnosti použít reiser4.
Přidat komentář

12.7.2016 13:14 /František Kučera
Spolek OpenAlt zve na 130. distribuovaný sraz příznivců svobodného softwaru a otevřených technologií (hardware, 3D tisk, SDR, DIY, makers…), který se bude konat ve čtvrtek 21. července od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

11.7.2016 16:53 /Redakce Linuxsoft.cz
Konference LinuxDays hledá přednášející. Přihlášky poběží do konce prázdnin, v září bude hlasování a program. Více na https://www.linuxdays.cz/2016/cfp/.
Přidat komentář

8.5.2016 17:19 /Redakce Linuxsoft.cz
PR: Dne 26.5.2016 proběhne v Praze konference Cloud computing v praxi. Tématy bude např. nejnovější trendy v oblasti cloudu a cloudových řešení, cloudové služby, infrastruktura cloudu, efektivní využití cloudu, možné nástrahy cloudů a jak se jim vyhnout
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

19.9.2016 21:04 / Marek Schoř
Poděkování

1.9.2016 13:07 / Walker
hardwood floor refinishing

12.8.2016 11:51 / Josef Zapletal
Jak udělat HTML/Javascript swiping gallery do mobilu?

8.8.2016 14:58 / Adams
fairies for hire

28.7.2016 15:51 / pepan
Re: NetBeans vs Eclipse

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2016) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze