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 | přečteno 6761×

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ů.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1933