Home / LinuxUser / 2002 / 07 / Der programmierbare Dateimanager

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Midnight Commander

Der programmierbare Dateimanager

Gebundenes

Im Konqueror oder in xftree, dem Datei-Browser des Xfce Desktop Environment, bringt der Klick auf eine Grafikdatei ein Bild auf den Monitor. Ein Klick auf ein Soundfile spielt die Datei ab. Beim Midnight Commander hingegen herrscht oft Stille bis die Maus glüht, denn er wartet darauf, dass Sie die Datei ~/.mc/bindings für ihn erstellen und anpassen. Den Namen bindings trägt die diese Konfigurationsdatei zu recht, denn sie verrät dem mc, welche Programme er an bestimmte Dateiendungen binden soll.

Um diese Datei im Verzeichnis ~/.mc zu kreieren, wählen Sie in der oberen Menüleiste die Punkte Befehl/Suffixdaten bearbeiten oder kopieren die globale Konfiguration mc.ext aus dem Bibliothekenverzeichnis des Datei-Browsers nach ~/.mc/bindings. Auf den ersten Blick wirkt bindings erschreckend und undurchschaubarer als die Datei ~/.mc/ini, deshalb machen wir anhand zweier Beispiele die Konfiguration klar:

regex/\.(wav|WAV|Wav|snd|SND|Snd|voc|VOC|Voc|au|AU|Au)$
       Open=play %f

Das Schlüsselwort regex beschreibt den regulären Ausdruck, bei dem die Regel ihre Anwendung findet, und das Schlüsselwort Open verrät, welches Programm durch Enter oder einen Doppelklick die Datei öffnet. Die Datei selbst wird durch den Platzhalter %f dargestellt. Etwas weniger abstrakt ausgedrückt sagt dieser Eintrag:

Dateien mit der Endung wav, WAV, Wav sowie den Varianten, die durch Enter oder Doppelklick gestartet werden, sind mit dem Programm play verknüpft und werden durch dieses abgespielt.

Zumeist finden Sie in den Binding-Einträgen eine Zeile, die ein Icon spezifiziert. Diese Anweisungen sind jedoch für unseren Gebrauch nicht weiter wichtig.

Eine Nuance schwieriger ist unser nächstes Beispiel:

type/JPEG\ image
        Include=image-options
(…)
include/image-options
        Open=if [ "$DISPLAY" = "" ]; then zgv %f; else (xv %f &); fi
        View=%view{ascii} identify %f

Bekommt es der Midnight Commander mit einer Bilddatei vom Typ IMAGE/JPEG zu tun, bindet er durch den ersten Teil der Regel die Konfigurationsanweisung image-options ein. Diese Anweisung wird im zweiten Teil der Regel definiert. Die Trennung nach type und include zeigt ihren Vorteil dann, wenn mehrere Dateitypen von einer Regel abgedeckt werden sollen. Sehen wir uns an, wie der Include-Teil funktioniert:

Sobald Sie eine Datei mit dem Typ IMAGE/JPEG anrühren, sei es durch Return-Taste oder Mausklick, prüft der Midnight Commander die Umgebungsvariable $DISPLAY. An dem Ergebnis dieses Tests erkennt er, ob eine grafische Benutzeroberfläche läuft.

Ist die Antwort positiv, startet der Dateimanager die ausgewählte JPEG-Datei im Bildbetrachter xv, im anderen Falle greift er zum Konsolen-Viewer zgv. Neu ist in unserem zweiten Beispiel das Schlüsselwort View. Es beschreibt, welches Programm vom Mc gestartet wird, wenn Sie den internen Betrachter mit der Funktionstaste [F3] aufrufen. In unserer Beispiel-Konfiguration liefert Ihnen das Tool ImageMagick ein paar Informationen zur ausgewählten Datei.

Abbildung 3

Abbildung 3: Die Datei ~/.mc/bindings macht Bildbetrachtung möglich

Das letzte Beispiel enttarnt den Kern des Midnight Commander als Visual Shell, denn dem Schlüssel Open ist eine If-Verzweigung aus der Shell-Programmierung zugeordnet. Um als Anwender Hand an die Konfiguration der Datei ~/.mc/bindings zu legen, sollten Sie also etwas Basiswissen aus der Welt der Shell-Skripte mitbringen.

Bevor wir es mit der Konfiguration in ~/.mc/bindings bewenden lassen und weiter zum folgenden Abschnitt gehen, noch ein Hinweis auf die Einträge, die den Umgang mit Tar-Archiven und RPM-Paketen betreffen.

Die Datei ~/.mc/bindings ist der Ort, der es Ihnen ermöglicht, bequem durch Tarballs, ZIP-Dateien oder RPM-Pakete zu navigieren, als seien diese Dateien ein Teil Ihres Verzeichnisbaumes. Freilich können Sie auf diese Weise einzelne Dateien aus einen Tar-Archiv kopieren oder RPMs installieren. Innerhalb eines solchen RPM-Verzeichnisses, das der Dateimanager für Sie abbildet, finden Sie die Dateien INSTALL und UPDATE. Wie der Name sagt, installieren die Dateien, via Klick oder Return, das RPM auf Ihrem System oder führen ein Update durch.

Auswahl des Menüs

Es gibt eine dritte Datei, über die Sie informiert sein sollten. Doch schauen wir uns zuerst die Funktionsleiste am unteren Rand des Midnight Commander an, die Sie neben der Maus mit den Tasten [F1] bis [F10] ansprechen. Die Funktionsleiste erlaubt Ihnen flinke Systemoperationen wie das Löschen von ganzen Verzeichnissen oder das Verschieben von markierten Dateien.

Wir richten unser Augenmerk auf die zweite Option, die mit Menü gekennzeichnet ist. Diese ruft ein Fenster mit dem Titel Benutzermenü auf. Das Interface bieten Ihnen eine frei konfigurierbare Auswahl von Aktionen an, die Sie auf die ausgewählte Datei oder ein Verzeichnis anwenden können.

So kann es Dateien durch beliebige Programme leiten, vom aktuellen Verzeichnis mit tar, tar.gz oder zip ein komprimiertes Archiv erstellen oder einfach nur das Programm info aufrufen.

Gesteuert wird das Benutzermenü von den Einträgen der Datei mc.menu, die Sie ebenfalls im Bibliotheksverzeichnis des Midnight Commander vorfinden. Um für Ihre Experimente eine eigene Konfigurationsdatei zu erhalten, die die systemweiten Einstellungen überschreibt, gehen Sie im Menüpunkt Befehl in die Zeile Menüdatei bearbeiten und speichern Ihre neu erstellte ~/.mc/menu ab.

Obschon die Datei ~/.mc/menu in der Manpage dokumentiert ist, sehen wir uns hier ein Beispiel an, um die kryptische Makrosprache in den Griff zu bekommen. Öffnen Sie im Editor die Datei ~/.mc/menu und fügen Sie folgende Zeilen hinzu:

+ f \.html?$ & t r
~       Convert HTML to txt
        CONV=
        while [ -z "$CONV" ]; do
          echo -n "Name der neuen Textdatei (ohne Extension): "
          read CONV
          lynx -dump %f > $CONV.txt
          echo -n "Die Datei $CONV.txt wurde erstellt.  "
        done

Dieses Konstrukt konvertiert mit Hilfe des Text-Browsers Lynx ein HTML-Dokument in eine Textdatei.

Setzen wir uns zuerst mit der ersten Zeile + f \.html?$ & t r auseinander. Das Zeichen + bewirkt, dass der Eintrag Convert HTML to txt nur in der Auswahl des Benutzermenüs erscheint, wenn die nachfolgende Bedingung wahr ist. Das f \.html?$ & t r sagt: Die Datei muss die Bedingung des Musters .htm oder .html als Dateiendung erfüllen [f \.html?$], und es muss eine reguläre Datei [r] sein (kein Binary, Skript, Verzeichnis), die im Datei-Browser unter dem Auswahlbalken [t] liegt.

Wenn Sie tiefer in die Materie einsteigen möchten, steht eine Liste der Buchstaben f, t, r und anderer Kürzel im Kapitel Menu File Edit der Manpage für Sie parat.

Jetzt ist die zweite Zeile an der Reihe. Die Tilde ~ ist der Shortcut, mit dem Sie die Option ohne Umwege starten, und der Text Convert HTML to txt steht steht als Erläuterung im Menüfenster.

Den Rest der Anweisung teilen sich die Elemente eines Shell-Skriptes, das Sie nach dem Namen der zu erstellende Textdatei fragt. Ihre Antwort wird in der Variablen $CONV gespeichert und dem Text-Browser Lynx zur Bearbeitung vorgelegt. Nachdem Lynx die Konvertierung abgeschlossen hat, erscheint die Rückmeldung, dass Ihre Textdatei fertig ist.

Sie sehen, mit ein wenig Grundwissen ist der Midnight Commander je nach Anspruch, Geschmack oder Laune zu programmieren. Und zum Abschluss unserer kleinen Reise ins Verzeichnis ~/.mc servieren wir Ihnen eine etwas leichtere Kost.

Tip a friend    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 142 Punkte (13 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...