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 | czytane 6870×
KOMENTARZE
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ů.