ubuntuusers.de

ranger

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/terminal.png Ranger 🇬🇧 ist ein mächtiger, in Python geschriebener Dateimanager für die Konsole [2]. Durch eine dreispaltige Darstellung ist er sehr übersichtlich. Die mittlere Spalte ist aktiv, in der linken wird das übergeordnete Verzeichnis angezeigt, während rechts eine Vorschau auf den Inhalt des aktiven Elements erscheint. Alle Operationen werden über die Tastatur gesteuert. In der Standardbelegung werden dazu Kürzel ähnlich wie in VIM verwendet. Diese Kürzel können an die eigenen Bedürfnisse angepasst werden. Das Browsen in Tabs ist möglich. Durch die vielfältigen Konfigurationsmöglichkeiten kann der Leistungsumfang des Programms deutlich erweitert werden.

Ranger eignet sich vor allem im Zusammenhang mit anderen Terminalprogrammen, kann aber auch im Kontext einer grafischen Oberfläche (und mit Maus-Unterstützung) genutzt werden.

Installation

ranger.png Ranger kann aus den Ubuntu-Paketquellen über folgendes Paket installiert werden [1]:

  • ranger (universe)

Paketliste zum Kopieren:

sudo apt-get install ranger 

Oder mit apturl installieren, Link: apt://ranger

Start des Programms

Mit dem Befehl [2]

ranger 

wird Ranger gestartet.

Wichtige Tastaturkürzel

Ranger ist vollständig über die Tastatur zu bedienen. Die folgende Übersicht stellt eine Auswahl häufiger Operationen im Dateimanager zusammen:

Hinweis:

Wird die erste Taste einer Tastenkombination gedrückt, erscheint eine Liste aller weiteren Möglichkeiten. Beispiel: Beim Druck von G zeigt die Liste (standardmäßig), dass mit nachfolgenden H der Wechesl ins Home-Verzeichnis oder mit E nach /etc möglich ist. In dem Fall genügt es also erstmal, sich zu merken, dass mit G zu anderen Verzeichnissen gesprungen wird.

Tastaturkürzel
Taste/n Operation
? , F1 Hilfeseite anzeigen
1 ? Tastaturbefehle anzeigen
2 ? Konsolenbefehle anzeigen
J / K , / abwärts/ aufwärts bewegen
H / L , / nach links/ rechts bewegen
+ H / + L einen Schritt zurück/ vor gehen
G H ins home Verzeichnis wechseln
G / , G R ins root Verzeichnis wechseln
F3 Datei anzeigen
F4 Datei bearbeiten
Datei/ Verzeichnis öffnen
R öffnen mit
         Markierung setzen/ entfernen
V markiert/ nicht markiert umkehren
U V Markierung für alle Dateien aufheben
V Visueller Markiermodus (Alles, was berührt wird, markieren)
Y Y , F5 kopieren
D D , F6 ausschneiden
P P einfügen
Entf löschen (bei mehreren Dateien mit Bestätigung)
F8 löschen (mit Bestätigung)
C W umbenennen (neuer Dateiname)
I umbenennen (ändern des aktuellen Dateinamens)
M X ein als x benanntes Lesezeichen anlegen
´ , + # Lesezeichen anzeigen
´ X , + # X zum Lesezeichen X gehen
Z H verborgene Dateien zeigen/ verbergen
/ suchen
N / + N nächsten/ vorherigen Treffer anzeigen
F finden (springt zu Treffer, sobald Zeichenfolge eindeutig), ignoriert Groß-/ Kleinschreibung
O N Sortierung nach Name ( O S - nach Größe, O M - nach Änderungsdatum ...)
: rangers eigene Konsole öffnen (Befehle siehe unten)
! Befehle an die Shell weiterreichen
C D Konsole mit Befehl :cd öffnen (Namensergänzung durch Tab)
Esc , Strg + C Konsole verlassen
+ S Eine Shell im aktuellen Verzeichnis öffnen
Strg + D Aus der Shell zu ranger zurückkehren
F7 Konsole mit :mkdir öffnen (= neues Verzeichnis anlegen)
(100-777) = Dateirechte setzen (chmod)
G N , Strg + + N neuen Tab öffnen
Alt + 1 bis 9 Tab mit der Nummer (1-9) öffnen
G T / G + T , Tab ⇆ / + Tab ⇆ zu nächstem/ vorherigem Tab wechseln
G C , Strg + + W aktuellen Tab schließen (solange mehrere geöffnet sind)
F10 , Q ranger schließen

Tastenkürzel und Konfiguration anpassen

Um die Konfiguration anzupassen, wird mit:

ranger --copy-config=all 

eine Kopie aller Konfigurationsdateien nach ~/.config/ranger/ kopiert und kann dort angepasst werden. Wenn nur die Tastaturkürzel bearbeitet werden sollen, reicht:

ranger --copy-config=rc 

Zur Änderung der Kürzel wird die Datei rc.conf bearbeitet. Um z.B. die Kürzel zur Verfügung zu haben, die in grafischen Dateimanagern üblich sind, wird in der Datei eingetragen

1
2
3
4
5
6
7
8
map <C-c> copy
map <C-x> cut
map <C-v> paste
map <C-a>   mark_files all=True toggle=True
map <F2>  eval fm.open_console('rename ' + fm.env.cf.basename)
map <C-t>     tab_new ~
map <     history_go -1
map >     history_go 1

Wenn <C-c> ( Strg + C ) zum Kopieren verwendet werden soll, müssen folgende Elemente auskommentiert (oder gelöscht) werden.

1
2
3
# map <C-c> abort
# copycmap <ESC> <C-c>
# copytmap <ESC> q Q w <C-c>

Auch können Befehle an die Shell einem Kürzel zugewiesen werden. Hierzu dient der Zusatz shell. Ein Beispiel womit eine Datei mit 7z über das Kürzel kd komprimiert wird:

1
map kd shell 7z a %f

Das anstehende %f ist eine Variable, die ranger durch den Namen der aktuell ausgewählten Datei ersetzt. Ein Auszug gebräuchlicher Variablen:

Variablen innerhalb von ranger
Variable Wird zu...
%f Aktuell ausgewählte Datei (eine)
%s Aktuell ausgewählte Dateien (mehrere)
%d Pfad zum aktuellen Arbeitverzeichnis
%t Dateien, die markiert wurden

Kommandozeile (in ranger)

Durch : wird innerhalb von Ranger eine Kommandozeile geöffnet, in der weitere Funktionen zur Verfügung stehen. Zum Beispiel:

  • :bulkrename – Die Dateinamen markierter Dateien werden in einem Texteditor geöffnet und können dort angepasst werden, bevor die Änderungen auf die Dateinamen übertragen werden

  • :cd – Wechsel des Verzeichnisses

  • :filter – nur Dateien mit angegebener Zeichenreihenfolgen im Namen anzeigen (z.B. Dateieendungen)

  • :mark<Regulärer Ausdruck> – Dateien mit angegebener Zeichenreihenfolgen markieren

  • :flat <Zahl> – Dateien der Unterverzeichnisse im aktuellen Arbeitsverzeichnis (rekursiv) anzeigen. Die Zahl gibt die Ebenen an. :flat 1 zeigt Dateien der Unterverzeichnisse- :flat 2 auch die der Unter-Unterverzeichnisse an usw. :flat 0 kehrt zur normalen Ansicht zurück. Praktisch in Kombination mit :bulkrename.

  • :mkdir – ein Verzeichnis erstellen

  • :map <Tastenkürzel> <Befehl> – Kürzel für aktuelle Instanz von Ranger festlegen; soll es dauerhaft zur Verfügung stehen, muss es in die rc.conf eingetragen werden

  • :touch – eine (leere) Datei anlegen

Mit ! öffnet sich eine Shell-Eingabezeile im aktiven Verzeichnis. Hier können die gewohnten Terminalbefehle zur Bearbeitung von Dateien verwendet werden, allerdings kein alias. Durch + S wird eine eigene Instanz der Shell geöffnet. Nach deren Beendigung ( Strg + D , exit) kehrt man zu ranger zurück.

ranger2.png

Erweiterungen

Textdateien werden in der rechten Spalte automatisch in einer Voransicht dargestellt. Damit auch pdf-Dateien dargestellt werden, muss poppler (pdf2txt) installiert sein. Zur Darstellung von html-Dateien muss ein Terminalbrowser vorhanden sein (lynx, elinks, w3m).

ranger3.png

Medieninformationen anzeigen lassen

Ranger bietet die Möglichkeit, mit Hilfe von MediaInfo Details für Audio,- und Videodateien in der rechten Spalte anzeigen zu lassen.

Hier genügt, es einfach in den gewünschten Ordner zu Navigieren und mit den entsprechend konfigurierten Tasten für die Navigation über die Einträge zu gehen.

ranger4.png

Bilder anzeigen lassen

Bilder lassen sich ebenfalls als Vorschau in ranger darstellen. Dazu muss das Paket w3m-img installiert sein. Für eine korrekte und saubere Darstellung sollten folgende Änderungen in der Konfigurationsdatei [3] rc.conf vorgenommen werden. In der Datei sucht man nach den folgenden Einträgen, und prüft bzw. ändert diese wie gezeigt entsprechend ab.

set preview_images true
set preview_images_method w3m
set draw_borders true

Danach genügt es, einfach wieder in den gewünschten Ordner zu Navigieren und mit den entsprechend konfigurierten Tasten für die Navigation über die Einträge zu gehen.

ranger5.png

Videothumbnails anzeigen lassen

Videos lassen sich ebenfalls als Thumbnailvorschau in ranger darstellen. Dazu muss das Paket ffmpegthumbnailer installiert sein.

Es müssen nun Änderungen an zwei Konfigurationsdateien [3] im Ordner ~/.config/ranger/ vorgenommen werden:

In der Datei scope.sh sucht man nach dem im folgenden gezeigten Eintrag und kommentiert diesen aus:

# Image preview for video, disabled by default.:
       video/*)
           ffmpegthumbnailer -i "$path" -o "$cached" -s 0 && exit 6 || exit 1;;

In der rc.conf kommentiert man den Eintrag

set preview_script ~/.config/ranger/scope.sh

Nun muss ranger einmal neu gestartet werden. Allerdings muss man sich hier entscheiden, ob man lieber die Thumbnailvorschau oder die Medieninformationen angezeigt haben möchte.

Man kann aber nach wie vor mit + S eine eigene Instanz der Shell öffnen und mediainfo + Dateiname wie gehabt aufrufen, da man sich ja bereits in dem entsprechenden Verzeichnis befindet.

Einbinden von Datenträgern und Laufwerken

Datenträger werden von ranger automatisch unter /media/benutzername eingehängt. Mit der Tastenkombination gm wechselt man dann Automatisch in das entspr. Verzeichnis, und ebenso ist diese Tastenkombination in der rc.conf bereits zugewiesen.

Möchte man den Datenträger wieder aushängen, bietet sich umount an siehe Dateisysteme aushängen. Zur eindeutigen Gerätebezeichnung bietet sich lsblk an. Netzwerklaufwerke können per gvfs-mount eingebunden werden.

Nützliche Konfigurationseinstellungen

Ranger bietet sehr umfangreiche Konfigurationsmöglichkeiten, von denen an dieser Stelle nur ein paar erwähnt werden sollen, welche aber durchaus nützlich sein können. In den allermeisten Fällen können die Optionen die Werte true oder false annehmen, alle anderen Optionen sollten selbsterklärend sein.

1
2
# How many columns are there, and what are their relative widths?
set column_ratios 1,4,3

Hier legt man die Spaltenbreite fest für den Fall, dass sehr lange Dateinamen nicht komplett in die mittlere Spalte passen. Standardmäßig ist der Wert auf 1,3,4; dezimale Zwischenwerte wie etwa 1,8 oder 1.8 sind nicht zulässig bzw. haben keinerlei Auswirkung.

1
2
3
4
# Ask for a confirmation when running the "delete" command?
# Valid values are "always", "never", "multiple" (default)
# With "multiple", ranger will ask only if you delete multiple files at once.
set confirm_on_delete always

Über die Variable confirm_on_delete kann das Verhalten beim Löschen von Dateien und Ordnern mit dem Befehl :delete (Tastenfolge dD) konfiguriert werden (z.B. set confirm_on_delete always).

In der Voreinstellung (multiple) wird nur beim Löschen von mehr als einer Datei nach einer Bestätigung gefragt. Das Löschen muss mit Y bestätigt werden, alle anderen Tasten brechen den Vorgang ab.

Weitere mögliche Werte für confirm_on_delete sind always, womit die Abfrage immer erfolgt und never, wodurch die Abfrage komplett deaktiviert wird.

1
2
3
# Which colorscheme to use?  These colorschemes are available by default:
# default, jungle, snow, solarized
set colorscheme default

An dieser Stelle geht es lediglich um eine Frage der Optik. Sollte das nicht ausreichen, wird man auf Github 🇬🇧 fündig.

1
2
# Save the console history on exit?
set save_console_history true

Hierbei handelt es sich um die History der Befehle, die man innerhalb von ranger über : aufruft.

1
2
3
# How many directory-changes or console-commands should be kept in history?
set max_history_size 20
set max_console_history_size 50

Hat man sich entschieden, die History aktiv zu lassen, legt man hier die Anzahl der entspr. Einträge fest.

1
2
3
# Draw a progress bar in the status bar which displays the average state of all
# currently running tasks which support progress bars?
set draw_progress_bar_in_status_bar true 

Sehr nützlich bei größeren Dateioperationen, da ansonsten keine weitere visuelle Rückmeldung erfolgt. Der Wert ist standardmäßig schon auf true gesetzt, eine Überprüfung kann allerdings nicht schaden.

1
2
# Display the directory name in tabs?
set dirname_in_tabs true

Auch diese Einstellung sollte selbsterklärend sein, wobei bei false nur eine Nummerierung der Tabs angezeigt wird.

1
2
# Enable the mouse support?
set mouse_enabled false

Hierzu braucht man nicht allzu viel zu erwähnen, außer dass der Wert, der standardmäßig auf true steht, für ein cli-Programm eher hinderlich ist.

1
2
3
# Display the file size in the main column or status bar?
set display_size_in_main_column true
set display_size_in_status_bar true

Hier kann man sich entscheiden bzgl. der Anzeige der Dateigrößen in der Haupt- und Statusleiste.

1
2
# One of: size, natural, basename, atime, ctime, mtime, type, random
set sort natural

Hier legt man die Standardsortierung der Dateien dauerhaft fest.

1
2
3
4
5
# Additional sorting options
set sort_reverse false
set sort_case_insensitive true
set sort_directories_first true
set sort_unicode false

Und kann an dieser Stelle festlegen, dass z.B. Dateien vor Ordnern angezeigt werden sollen.

1
2
3
# Avoid previewing files larger than this size, in bytes.  Use a value of 0 to
# disable this feature.
set preview_max_size 0

Diese Option ist z.B. nützlich für die Dateivorschau von PDF,- Bild- oder Videodateien. Wobei jede Hardware unterschiedlich leistungsstark ist und man hier ausprobieren muss.

1
2
# Add the highlighted file to the path in the titlebar
set show_selection_in_titlebar true

Hier entscheidet man sich für oder gegen den kompletten Dateipfad in der Titelleiste.

1
2
# Clear all existing filters when leaving a directory
set clear_filters_on_dir_change false

Wenn man über die Option :filter nach einer Datei in einem Verzeichnis sucht, legt man hier fest, ob der gesetzte Filter nach dem Verlassen erhalten bleiben soll oder nicht.

Da nicht alle Optionen erwähnt wurden, sei an dieser Stelle nochmals auf die Projektseite verwiesen.

Problembehebung

Alt-Taste wird nicht erkannt

Bei manchen Terminal-Emulatoren (wie xterm), kann es zu Problemen mit der Erkennung der Taste Alt kommen. Dies lässt sich beheben, indem in der Konfigurationsdatei rc.conf folgende Zeile geändert wird:

1
2
3
set xterm_alt_key false
zu
set xterm_alt_key true

Bildvorschau defekt nach Update

Wechselt man zu einer neueren Version von ranger und übernimmt die alten Konfigurationsdateien (z.B. im Rahmen eines Ubuntu-Upgrades) kann die Bildvorschau ihren Dienst versagen. In dem Fall, muss die Datei scope.sh unter .config/ranger zunächst gelöscht- und mit folgendem Befehl die aktuelle Version kopiert werden:

ranger --copy-config=scope 

Aus Shell zurückkehren klappt nicht

Unter manchen Terminal-Emulatoren ist es nötig, dass sich nichts im Prompt befindet wenn das Tastenkürzel zum Rückkehren zu ranger ( Strg + D ) gedrückt wird.

Ähnliche Programme

Diese Revision wurde am 5. Juni 2020 23:29 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Dateimanager, System, Shell