[[Vorlage(Getestet, )]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Programme_starten: Ein Programm starten] }}} [[Inhaltsverzeichnis(2)]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] [https://ranger.github.io/ Ranger] {en} 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 [wikipedia:Registerkarte: 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 = [[Bild(ranger.png, 400, right)]] Ranger kann aus den Ubuntu-Paketquellen über folgendes Paket installiert werden [1]: {{{#!vorlage Paketinstallation ranger, universe }}} = Start des Programms = Mit dem Befehl [2] {{{#!vorlage Befehl 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: {{{#!vorlage Hinweis Wird die erste Taste einer Tastenkombination gedrückt, erscheint eine Liste aller weiteren Möglichkeiten. Beispiel: Beim Druck von [[Vorlage(Tasten, g)]] zeigt die Liste (standardmäßig), dass mit nachfolgenden [[Vorlage(Tasten, h)]] der Wechesl ins Home-Verzeichnis oder mit [[Vorlage(Tasten, e)]] nach ''/etc'' möglich ist. In dem Fall genügt es also erstmal, sich zu merken, dass mit [[Vorlage(Tasten, g)]] zu anderen Verzeichnissen gesprungen wird. }}} ||<-2 tableclass="zebra_start3" rowclass="titel"> Tastaturkürzel || || Taste/n|| Operation || ||[[Vorlage(Tasten, ?)]], [[Vorlage(Tasten, F1)]] || Hilfeseite anzeigen|| ||[[Vorlage(Tasten, 1)]] [[Vorlage(Tasten, ?)]] || Tastaturbefehle anzeigen|| ||[[Vorlage(Tasten, 2)]] [[Vorlage(Tasten, ?)]] || Konsolenbefehle anzeigen|| ||[[Vorlage(Tasten, j)]]/ [[Vorlage(Tasten, k)]], [[Vorlage(Tasten, down)]] / [[Vorlage(Tasten, up)]] || Eine Position abwärts/ aufwärts bewegen|| || [[Vorlage(Tasten, shift)]] + [[Vorlage(Tasten, j)]]/ [[Vorlage(Tasten, shift)]] + [[Vorlage(Tasten, k)]] || 25 Positionen abwärts/ aufwärts bewegen|| ||[[Vorlage(Tasten, h)]]/[[Vorlage(Tasten, l)]], [[Vorlage(Tasten, left)]] /[[Vorlage(Tasten, right)]] || nach links/ rechts bewegen|| || [[Vorlage(Tasten, shift)]] + [[Vorlage(Tasten, h)]]/ [[Vorlage(Tasten, shift)]] + [[Vorlage(Tasten, l)]] || zurück/ vor gehen|| ||[[Vorlage(Tasten, g)]][[Vorlage(Tasten, h)]] || ins home Verzeichnis wechseln|| ||[[Vorlage(Tasten, g)]][[Vorlage(Tasten, /)]], [[Vorlage(Tasten, g)]][[Vorlage(Tasten, r)]] || ins root Verzeichnis wechseln|| || [[Vorlage(Tasten, F3)]] || Datei anzeigen|| ||[[Vorlage(Tasten, F4)]] || Datei bearbeiten|| || [[Vorlage(Tasten, Enter)]] || Datei/ Verzeichnis öffnen|| || [[Vorlage(Tasten, d)]] + [[Vorlage(Tasten, c)]] || Größe vom ausgewählten Verzeichnis anzeigen statt Anzahl der Dateien|| ||[[Vorlage(Tasten, r)]] || öffnen mit|| || [[Vorlage(Tasten, leer)]] || Markierung setzen/ entfernen|| ||[[Vorlage(Tasten, v)]] || markiert/ nicht markiert umkehren|| ||[[Vorlage(Tasten, u)]][[Vorlage(Tasten, v)]] || Markierung für alle Dateien aufheben|| ||[[Vorlage(Tasten, shift)]][[Vorlage(Tasten, v)]]|| Visueller Markiermodus (Alles, was berührt wird, markieren)|| ||[[Vorlage(Tasten, y)]][[Vorlage(Tasten, y)]], [[Vorlage(Tasten, F5)]] || kopieren|| ||[[Vorlage(Tasten, d)]][[Vorlage(Tasten, d)]], [[Vorlage(Tasten, F6)]] || ausschneiden|| ||[[Vorlage(Tasten, p)]] [[Vorlage(Tasten, p)]] || einfügen|| ||[[Vorlage(Tasten, entf)]] || löschen (bei mehreren Dateien mit Bestätigung)|| ||[[Vorlage(Tasten, F8)]] || löschen (mit Bestätigung)|| ||[[Vorlage(Tasten, c)]] [[Vorlage(Tasten, w)]] || umbenennen (neuer Dateiname)|| ||[[Vorlage(Tasten, I)]] || umbenennen (ändern des aktuellen Dateinamens)|| ||[[Vorlage(Tasten, m)]] [[Vorlage(Tasten, x)]] || ein als x benanntes Lesezeichen anlegen|| ||[[Vorlage(Tasten, akut)]], [[Vorlage(Tasten, shift)]]+[[Vorlage(Tasten, #)]] || Alle gesetzten Lesezeichen anzeigen|| ||[[Vorlage(Tasten, akut)]] [[Vorlage(Tasten, x)]], [[Vorlage(Tasten, shift)]]+[[Vorlage(Tasten, #)]] [[Vorlage(Tasten, x)]] || zum Lesezeichen X gehen|| ||[[Vorlage(Tasten, z)]] [[Vorlage(Tasten, h)]] || verborgene Dateien zeigen/ verbergen|| ||[[Vorlage(Tasten, /)]] || suchen|| ||[[Vorlage(Tasten, n)]]/ [[Vorlage(Tasten, shift)]]+[[Vorlage(Tasten, n)]] || nächsten/ vorherigen Treffer anzeigen|| ||[[Vorlage(Tasten, f)]] || finden (springt zu Treffer, sobald Zeichenfolge eindeutig), ignoriert Groß-/ Kleinschreibung|| ||[[Vorlage(Tasten, o)]] [[Vorlage(Tasten, n)]] || Sortierung nach Name ([[Vorlage(Tasten, o)]] [[Vorlage(Tasten, s)]] - nach Größe, [[Vorlage(Tasten, o)]] [[Vorlage(Tasten, m)]] - nach Änderungsdatum ...)|| ||[[Vorlage(Tasten, :)]] || rangers eigene Konsole öffnen (Befehle siehe unten)|| ||[[Vorlage(Tasten, !)]] || Befehle an die Shell weiterreichen (Ein [:alias:] wird nicht unterstützt)|| ||[[Vorlage(Tasten, c)]] [[Vorlage(Tasten, d)]] || Konsole mit Befehl :cd öffnen (Namensergänzung durch Tab)|| ||[[Vorlage(Tasten, Esc)]], [[Vorlage(Tasten, strg)]] + [[Vorlage(Tasten, c)]] || Konsole verlassen|| ||[[Vorlage(Tasten, shift)]] + [[Vorlage(Tasten, S)]] || Eine Shell im aktuellen Verzeichnis öffnen; zum zurückkehren die Shell schließen|| || [[Vorlage(Tasten, F7)]] || Neues Verzeichnis anlegen|| ||`(100-777)`[[Vorlage(Tasten, =)]] || Dateirechte setzen (chmod)|| ||[[Vorlage(Tasten, g)]] [[Vorlage(Tasten, n)]], [[Vorlage(Tasten, strg)]]+[[Vorlage(Tasten, shift)]]+[[Vorlage(Tasten, N)]] || neuen Tab öffnen|| || [[Vorlage(Tasten, Alt)]] + [[Vorlage(Tasten, 1)]] bis [[Vorlage(Tasten, 9)]] || Tab mit der Nummer (1-9) öffnen|| ||[[Vorlage(Tasten, g)]] [[Vorlage(Tasten, t)]]/ [[Vorlage(Tasten, g)]] [[Vorlage(Tasten, shift)]] + [[Vorlage(Tasten, T)]], [[Vorlage(Tasten, tab)]] / [[Vorlage(Tasten, shift)]] + [[Vorlage(Tasten, tab)]] || zu nächstem/ vorherigem Tab wechseln|| || [[Vorlage(Tasten, g)]] [[Vorlage(Tasten, c)]], [[Vorlage(Tasten, strg)]] + [[Vorlage(Tasten, shift)]] + [[Vorlage(Tasten, W)]] || aktuellen Tab schließen (solange mehrere geöffnet sind)|| ||[[Vorlage(Tasten, F10)]], [[Vorlage(Tasten, q)]] || ranger schließen|| = Tastenkürzel und Konfiguration anpassen = Um die Konfiguration anzupassen, wird mit: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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 {{{#!code map copy map cut map paste map mark_files all=True toggle=True map eval fm.open_console('rename ' + fm.env.cf.basename) map tab_new ~ map < history_go -1 map > history_go 1 }}} Wenn ([[Vorlage (Tasten, Strg+C)]]) zum Kopieren verwendet werden soll, müssen folgende Elemente auskommentiert (oder gelöscht) werden. {{{#!code # map abort # copycmap # copytmap q Q w }}} 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: {{{#!code cfg 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: ||<-2 rowclass="titel"> 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 [[Vorlage(Tasten, :)]] 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` – Dateien mit angegebener Zeichenreihenfolgen markieren * `:flat ` – 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 ` – 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 [[Vorlage(Tasten, !)]] öffnet sich eine Shell-Eingabezeile im aktiven Verzeichnis. Hier können die gewohnten [:Shell/Befehlsübersicht: Terminalbefehle] zur Bearbeitung von Dateien verwendet werden, allerdings kein [:alias:]. Durch [[Vorlage(Tasten, shift+S)]] wird eine eigene Instanz der Shell geöffnet. Nach deren Beendigung ([[Vorlage (Tasten, Strg+d)]], `exit`) kehrt man zu ranger zurück. [[Bild(ranger2.png, 300, right)]] = 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'''). [[Bild(ranger3.png, 300, right)]] = 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. [[Bild(ranger4.png, 300, right)]] = 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. [[Bild(ranger5.png, 300, right)]] = 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 [[Vorlage(Tasten, shift+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 [:mount/#Dateisysteme-aushaengen:Dateisysteme aushängen]. Zur eindeutigen Gerätebezeichnung bietet sich [:lsblk:] an. Netzwerklaufwerke können per [:gio_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. {{{#!code # 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. {{{#!code # 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 [[Vorlage(Tasten, "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. {{{#!code # 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 [https://github.com/ranger/colorschemes Github] {en} fündig. {{{#!code # 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 [[Vorlage(Tasten, :)]] aufruft. {{{#!code # 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. {{{#!code # 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. {{{#!code # 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. {{{#!code # 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. {{{#!code # 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. {{{#!code # One of: size, natural, basename, atime, ctime, mtime, type, random set sort natural }}} Hier legt man die Standardsortierung der Dateien dauerhaft fest. {{{#!code # 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. {{{#!code # 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. {{{#!code # 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. {{{#!code # 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 [[Vorlage(Tasten, Alt)]] kommen. Dies lässt sich beheben, indem in der Konfigurationsdatei '''rc.conf''' folgende Zeile geändert wird: {{{#!code 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 [:Upgrade: 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: {{{#!vorlage Befehl ranger --copy-config=scope }}} = Ähnliche Programme = * [:Midnight Commander:] * [http://cade.datamax.bg/vfu/ vfu] {en} * [https://vifm.info/ vifm] {en} =Links= * [https://ranger.github.io/ Projektseite] {en} * [archwiki:Ranger:] {en} # tag: Dateimanager, Shell, System