Schlagwort-Archive: Linux

Buch-Server Calibre

Das Open-Source-Programm Calibre hat sich ganz auf die Verwaltung von E-Books spezialisiert. Für wirklich große Sammlungen lohnt sich Calibre als Server, der die Bibliothek über jeden Browser für alle Netzgeräte bereitstellt.

Mit der Verbreitung von Tablets gewinnen E-Books – oft im PDF-, MOBI-, CHM- oder EPUB-Format – immer mehr Freunde. Selbst bibliophile und konservative Leser sind leicht durch die unbestreitbaren Vorteile zu überzeugen, die E-Books auf einem handlichen Tablet bieten: Textgröße, Kontrast, Helligkeit lassen sich an jede Situation anpassen. Und auf einem Tablet passt eine ganze Bibliothek ins Handgepäck. Für eine opulente oder systematische Sammlung belletristischer und technischer Bücher ist aber die Aufbewahrung auf verstreuten Lesegeräten suboptimal: Neben der Frage „Was habe ich eigentlich wo (doppelt)?“ wird dort auch schnell der Speicher knapp. Eine ideale zentrale Lösung für das Heimnetz bietet die Software Calibre mit seiner Server-Komponente.

Calibre installieren und Bibliothek erstellen

Calibre gibt es für alle Betriebssysteme unter https://calibre-ebook.com/download. Diese Anlaufstelle ist auch für Linux zu empfehlen, weil eine Installation über die Paketquellen etwa unter Debian/Ubuntu/Mint mit

sudo apt install calibre

nur ältere Versionen anbietet. Für die lokale Nutzung auf einem Rechner spielt das keine große Rolle, aber gerade die Serverkomponente hat in den aktuellen Versionen funktional dazugelernt und kommt auch optisch wesentlich frischer daher. Verwenden Sie daher zur Installation diese Befehlskombination:

wget -nv -O-
https://download.calibre-ebook.com/linux-installer.py | sudo python -c
"import sys; main=lambda:sys.stderr.write('Download failed\n');
exec(sys.stdin.read()); main()"

Das komplexe Kommando kann von der oben genannten Downloadseite oder von hier ohne Tippaufwand direkt ins Terminal kopiert werden. Diese Installationsmethode funktioniert auch als Update einer älteren Version, wobei eine bereits bestehende Bibliothek erhalten bleibt. Calibre ist nach der Installation über das Desktop-Menü oder mit dem Aufruf calibre im Terminal zu erreichen.

Für den Aufbau und die Erweiterung einer Bibliothek dient die Schaltfläche „Bücher hinzufügen“. Den Massenimport von heterogenen Formaten und ganzer Verzeichnisebenen ermöglicht die Unteroption „Bücher aus verschiedenen Verzeichnissen […], jede e-Book-Datei ist ein anderes Buch“. Damit integrieren Sie unstrukturierte Sammlungen von PDF-, HTML-, EPUB- und Office-Formaten in die Calibre-Datenbank. Beachten Sie, dass Calibre alle Dateien physisch kopiert und standardmäßig im Ordner ~/Calibre-Bibliothek/ einsammelt. Beim Import aus unstrukturierten Quellen wird die Software versuchen, aus Dateinamen und Metadaten Informationen zu beziehen, um jedes Buch sinnvoll zu katalogisieren. Fehler aufgrund unzulänglicher Metadaten sind beim Massenimport unvermeidlich, können aber später über „Metadaten bearbeiten“ manuell und mit der Hilfe von Online-Diensten („Metadaten herunterladen“) korrigiert werden.

Die Suche bestimmter Titel erfolgt im Suchfeld über dem Hauptfenster. Weitere Filtermöglichkeiten bieten Kategorien in der linken Navigationsleiste wie „Autoren“, „Formate“, „Bewertung“ oder „Schlagwörter“. Zum Lesen eines markierten Titels verwenden Sie die Schaltfläche „Bücher öffnen“.

Da es nicht primärer Gegenstand dieses Beitrags ist, die zahlreichen Filter-, Konvertierungs- und Einstellungsoptionen der komplexen Software zu erläutern, verweisen wir an dieser Stelle auf das größtenteils deutschsprachige Online-Handbuch unter https://manual.calibre-ebook.com/de/.

Calibre als Lektüre-Server im Netz

Ist eine Bibliothek erst einmal eingerichtet, kann Calibre diese für das Netzwerk freigeben. Für den Start der Serverkomponente genügt der Klick auf „Verbinden/Teilen -> Inhalteserver starten“. Danach informiert Sie ein weiterer Klick auf „Verbinden/Teilen“, unter welcher Adresse der Blbliotheksserver zu erreichen ist. Eine Angabe wie „192.168.178.10, port 8080“ zeigt, dass jeder Browser im lokalen Netz mit der Adresse „192.168.178.10:8080“ zum Calibre-Server gelangt. Wie bei jedem Server ist es auch hier von Vorteil, diese IP-Adresse statisch zu setzen (über den Router), damit Sie sich künftig jederzeit mit einem Lesezeichen verbinden können. Der Calibre-Server kann unter „Einstellungen -> Netzwerkserver“ detailliert konfiguriert werden. Falls nötig, gibt es unter „Benutzerkonten“ auch eine Benutzerverwaltung mit Zugriffskennwörtern.

Auf Client-Seite ist das wichtigste Werkzeug das Lupensymbol im Seitentitel. Im einfachsten Fall geben Sie im Suchfeld einen Autoren- oder Titelnamen ein. Die Treffer werden mit ihrem Titelbild angezeigt, und ein Klick darauf bietet Detailinformationen sowie die Optionen „Lesen“ und „Herunterladen“. Für die Option „Lesen“ wechselt der Browser automatisch in den Vollbildmodus.

Bei einer umfangreichen und gut gepflegten Calibre-Bibliothek können Sie unterhalb des Suchfeldes die Suchkategorie eingrenzen und etwa nur in der Kategorie „Schlagwörter“ nach einem bestimmten Begriff suchen oder unter „Bewertung“ nach einem speziellen Rating.

Calibre-Server „headless“: Die bislang beschriebenen Einrichtungs- und Server-Möglichkeiten orientierten sich an der grafischen Oberfläche von Calibre. Für den grundsätzlichen Aufbau der Bibliothek und insbesondere für Nachbesserungen an den Meta-Informationen ist die grafische Oberfläche in der Tat dringend zu empfehlen. Calibre bietet jedoch darüber hinaus Kommandozeilenwerkzeuge, die eine vollständige Steuerung über eine SSH-Konsole ermöglichen. Somit kann der Lektüre-Server auch auf einem Platinenrechner ohne Monitor und Tastatur laufen (headless). Der wichtigste Befehl

calibre-server /home/ha/Calibre-Bibliothek/

startet die Server-Komponente und ist im Prinzip gleichbedeutend mit dem Menüpunkt „Verbinden/Teilen -> Inhalteserver starten“ an der grafischen Oberfläche. Der Befehl gibt nur den einfachsten Einsatz wieder, ist aber für das Heimnetz in der Regel völlig ausreichend. Die Hilfeseite

calibre-server --help

informiert darüber, dass Sie auf der Kommandozeile alles steuern können, was auch auf der grafischen Oberfläche unter „Einstellungen -> Netzwerkserver“ zu finden ist.

Für den Ausbau und die Verwaltung der Bibliothek ist das mächtige Kommandozeilenprogramm calibredb zuständig. Der wichtigste Schalter „add“ kann alles, was die Optionen unter „Bücher hinzufügen“ auf der grafischen Oberfläche anbieten. So importiert der Befehl

calibredb add --recurse /media/ha/Data/PDFs

alle E-Book- und Textformate, die im angegebenen Pfad liegen, in die Calibre-Bibliothek. Weitere add-Optionen zeigt die Hilfeseite calibredb add –help undden Gesamtumfang des Tools calibredb der Befehl calibredb –help. Theoretisch lässt sich damit ein Calibre-Server von Anfang an und vollständig ohne Oberfläche betreiben – wirklich komfortabel ist das allerdings nicht. Wir empfehlen daher, die Basis im grafischen Programm zu legen. Der Serverstart und gelegentliche Nachbesserungen bereiten hingegen über das SSH-Terminal im Headless-Betrieb keine Mühe.

Calibre-Bibliothek übers Netzwerk durchsuchen: Die Suchergebnisse werden mit Buchtitel angezeigt, nach einem Klick darauf erscheinen weitere Optionen.
„Lesen“ oder „Herunterladen“: Nach Auswahl eines Buchtitels kann die Lektüre beginnen. Beim direkten „Lesen“ ist Voraussetzung, dass der Browser das Format versteht.

Tipps für Linux-Editoren

Ob Samba, SSH, Terminal, Fstab oder Desktop-Verknüpfungen: Für die Linux-Konfiguration sind überwiegend Textdateien zuständig, die zur Bearbeitung einen tauglichen Texteditor erfordern. Wir nehmen vier Editoren genauer unter die Lupe.

Bei der Administration von Linux-Rechnern sind Texteditoren die wichtigsten Werkzeuge. Am Desktop sind grafische Editoren wie Gedit und Kate sicher die bevorzugte Wahl. Universeller – weil auch in virtueller Konsole und im SSH-Terminal funktionierend – sind aber die textbasierten Editoren für das Terminal. Diese haben höheren Tipp- und Anpassungsbedarf als Gedit & Co und erhalten auf den folgenden Seiten gebührende Beachtung.

Der Gnome-Editor Gedit

Der Editor unter allen Gnome-affinen Desktops gehorcht durchwegs standardisierten Hotkeys zur Textnavigation und Textbearbeitung. Für Novizen gibt es im Menü sogar die Option „Tastenkürzel“, um sich alle Hotkeys anzeigen zu lassen. Nichtsdestotrotz erschließen sich nicht alle Anzeige- und Bearbeitungsmöglichkeiten auf Anhieb.

Die Seitenleiste (links) ist über „Ansicht -> Seitenleiste“ oder schneller mit F9 einzublenden. Standardmäßig ist dort der Modus „Dokumente“ aktiv, der die geöffneten Dateien auflistet. Wesentlich nützlicher ist der Modus „Dateiverwaltung“, den das Plugin „Dateiverwaltungsleiste“ bereitstellt (mehr zu Plugins siehe unten). Damit erhält Gedit eine Ordnernavigation, die Dateimanager überflüssig macht. Der Hotkey Strg-H blendet wie im Dateimanager versteckte Dateien ein oder aus. Kontrolle über mehrere geöffnete Dateien behalten Sie immer noch durch die Tab-Register unterhalb der Titelleiste.

Das Übersichtsfenster (rechts) können Sie im Menü unter „Einstellungen -> Ansicht“ aktivieren. Der Informationswert dieser Miniaturübersicht ist gering, aber sie erlaubt mit der Maus schnelles Blättern oder Springen an entfernte Stellen in größeren Texten.

Die Plugins: Für Gedit gibt es eine ganze Reihe nützlicher Plugins, die standardmäßig nur partiell installiert und aktiv sind, wie der Gang im Menü zu „Einstellungen -> Erweiterungen“ zeigt. Alle offiziellen Plugins erreichen Sie mit dem Befehl:

sudo apt install gedit-plugins

Dies kann in keinem Fall schaden, da Sie in dem oben genannten Gedit-Dialog immer noch die Wahl haben, ein Plugin zu aktivieren oder nicht. Neben den „gedit-plugins“ gibt es auch noch das Paket „gedit-developer-plugins“. Sehr zu empfehlen sind „Wortvervollständigung“ (Autocomplete-Funktion), die „Zeichentabelle“, die sich in die Seitenleiste (links) integriert, und das nachfolgend beschriebene „Snippet“-Tool.

Gedit-Optionen: Der Editor zeigt hier seinen per Plugin eingebauten Dateimanager (linke Spalte), Tab-Verwaltung für geöffnete Dateien (oben), Syntaxhighlighting und Autosave-Funktionen.

Das Plugin „Schnipsel“ (Snippets): Dieses Plugin stattet Gedit mit Textbausteinen aus, die per Hotkey oder besser per Textkürzel (gefolgt von der Tab-Taste) eingefügt werden. Typische Kandidaten für solche Schnipsel sind Mailsignaturen, Adressen, Namen, Telefonnummern, IBAN oder auch die Grundsyntax einer Script-Konstruktion. Für Viel-Schreiber und -Scripter sind solche Schnipsel eine unschätzbare Hilfe. Bei aktivierter Erweiterung führt der Menüpunkt „Schnipsel verwalten“ zum Einrichtungsdialog, der in zahlreiche Scriptsprachen untergliedert ist. Textbausteine unter „Global“ gelten für alle Texte. Mit der „+“-Schaltfläche entsteht an der gewünschten Stelle (etwa unter „Global“) ein neuer Eintrag, dem Sie etwa den Namen „Adresse“ geben. Selbige geben Sie im Textfenster ein und definieren unten neben „Tabulatorauslösung“ ein Kürzel wie „adr“. Nach Schließen des Schnipsel-Dialogs ist der Autotext aktiv – „adr“ und Tab-Taste fügt also die komplette Adresse ein.

Hinweis: Eventuell werden die Snippets zunächst nicht gespeichert („~/.config/gedit/snippets“), wofür ein offenbar verbreiteter Fehler bei den Dateirechten verantwortlich ist. Der Terminalbefehl

sudo chmod -R 777 ~/.config/gedit

behebt das Zugriffsproblem.

Suchen und Ersetzen: Die Funktionen gehorchen den Standard-Hotkeys Strg-F und Strg-H. Der Ersetzen-Dialog ist durch seine detaillierteren Optionen die generell bessere Wahl – auch für pure Suche. Gedit kann auch nach Zeilenumbrüchen („\n“), Returns („\r“) und Tabulatoren („\t“) suchen, also etwa mit

\nif 

nach Zeilen, die mit „if“ beginnen.

Das Syntaxhighlighting: Gedit versucht automatisch zu erkennen, um welchen Text es sich handelt, und aktiviert dann das passende, farbige Syntaxhighlighting. Wenn dies unbefriedigend ausfällt, können Sie unter „“Ansicht -> Hervorhebungsmodus“ manuell eine andere Scriptsprache oder „Reiner Text“ auswählen.

Farbschema und Aussehen: Unter „Einstellungen -> Schrift und Farben“ gibt es die typischen Farbschemata „Klassisch“, „Kate“, „Kobalt“, „Oblivion“. Unabhängig vom Farbschema können Sie an gleicher Stelle die Schriftgröße definieren. Vor allem bei der Fehlersuche hilfreich sind die Zeilennummern, die Gedit unter „Einstellungen -> Ansicht“ aktiviert.

Automatische Sicherungskopien: Die Registerkarte „Einstellungen -> Editor“ zeigt zwei Optionen, um bearbeitete Dateien besser zu sichern. Sowohl die „Sicherungskopie“ als auch „Auto-Speichern“ im angegebenen Minutenintervall sind unbedingt zu empfehlen.

Zum Teil Schnickschnack, zum andern Teil unverzichtbar: Plugins wie “ Dateiverwaltungsleiste“, „Schnipsel“, „Wortvervollständigung“ und „Zeichentabelle“ ergänzen Gedit und Xed.

Xed: Der Editor des Mint-Teams

Im Zuge der Entwicklung Desktop-unabhängiger X-Apps arbeitet das Team von Linux Mint am Editor Xed. Diese Textbearbeitung unterscheidet sich äußerlich erheblich von Gedit durch ein klassisches Menü, eine Werkzeugleiste und im Hauptfenster integriertem „Suchen/Ersetzen“. Dennoch ist Xed wie Pluma (Mate-Desktop) ein Gedit-Fork mit praktisch identischer Funktionalität.

Die Bedienung von Xed erscheint uns etwas übersichtlicher, aber triftige inhaltliche Gründe, Gedit gegen Xed (ppa:embrosyn/xapps) auszutauschen, gibt es nicht. Im Gegenteil: Xed kann bislang nicht die Menge an Plugins anbieten wie sein Vorbild Gedit. Einzige Ausnahme ist das Xed-exklusive Plugin „Floskelliste“, das sich in die linke Seitenleiste (F9) integriert und vor allem für HTML-Coding alle wichtigen Tags anbietet, die dann einfach per Doppelklick in das Textfenster übernommen werden.

Plugin „Wortvervollständigung“: Das Autocomplete-Tool für Gedit und Xed indexiert den Text und macht nach Eingabe weniger Buchstaben Vorschläge.

Nano: Standardeditor im Terminal

Nano ist für das Terminal vorinstallierter Standard unter Ubuntu, Mint, Debian und Co. Das unterschätzte Tool wird im SSH-Terminal und in virtuellen Konsolen meistens nur als Notnagel akzeptiert. Dabei erlebt der 20 Jahre alte Editor eine erstaunlich dynamische Entwicklung. Aktuelle Versionen 2.9 bis 3.2 bieten bei Navigation und Markieren fast den Standard grafischer Editoren und zudem erweiterte Anpassungsmöglichkeiten über die Konfigurationsdatei „nanorc“. Die noch in vielen Distributionen vertretenen, älteren Nano-Versionen bis 2.5 benutzen hingegen eigenwillige Hotkeys, die man sich entweder angewöhnen muss oder umbelegen kann.

Neuere Nano-Versionen folgen dem Standard anderer Editoren, mit Umschalt-Taste und Cursortasten Text zu markieren. Bei älteren Nano-Versionen ist der Hotkey Alt-A erforderlich, um eine Markierung ab der Cursorposition zu starten. Danach erweitern Sie die Markierung durch Cursortasten. Erneutes Alt-A beendet die Markierungsaktion. Der Hotkey Alt-A funktioniert auch noch im neuesten Nano, ist dort aber nicht mehr unbedingt notwendig. Markierte Texte lassen sich mit Alt-6 kopieren, mit Strg-K ausschneiden, Strg-U ist der Hotkey, um Textinhalte wieder aus der Zwischenablage zu holen. Nützlich: Strg-K löscht eine komplette Zeile ungeachtet der Cursorposition.

Die Navigation im Text erfolgt durch Cursor- und Bild-Tasten, sowie Pos1 und Ende. Neuere Versionen verwenden außerdem Strg-Pos1/Ende, um zum Beginn oder Ende der ganzen Datei zu springen.

Strg-U ist der Hotkey, um die letzte Aktion rückgängig zu machen. Allerdings ist die Undo-Funktion nicht standardmäßig aktiv. Sie können Sie in der Nano-Konfigurationsdatei mit der Direktive

set undo

scharf schalten.

Die Konfigurationsdatei: Das Anpassen der globalen Konfigurationsdatei /etc/nanorc (mit Root-Recht) oder besser einer benutzerspezifischen Kopie unter ~/.nanorc lohnt sich definitiv. Hier finden Sie zahlreiche auskommentierte Optionen wie etwa die Anweisungen

set backup

und

set backupdir [Pfad]

Wird „set backup“ aktiviert (führendes „#“ löschen), erstellt Nano immer eine Sicherungskopie vom letzten Zustand im Pfad der Originaldatei. Mit aktiviertem „backupdir“ entstehen im angegebenen Zielpfad sogar durchnummerierte Versionssicherungen aller Bearbeitungsschritte. Das angegebene Backup-Verzeichnis muss natürlich existieren. Nützlich sind ferner die Optionen

set linenumbers

zur Anzeige der Zeilennummer, „set positionlog“, das bei neuerlicher Bearbeitung einer Datei sofort zur letzten Bearbeitungsstelle springt, sowie „set mouse“, das Positionieren und Markieren mit der Maus erlaubt.

Nano unterstützt außerdem Farbanpassungen. Beachten Sie, dass die Nano-Farbeinstellungen zu den globalen Terminalfarben passen müssen. Späteres Umstellen der Terminalfarben kann dazu führen, dass die Nano-Farben schlecht lesbar werden. Nano kann Elemente wie die Titelzeile („titlecolor“), die Statuszeile („statuscolor“), markierten Text („selectedcolor“ – nur in neuesten Versionen) und die Infozeilen unten einfärben („keycolor“ und „functioncolor“). Als Farben gibt es die üblichen acht Ansi-Farben (Black, White, Red, Green, Blue, Yellow, Cyan, Magenta). Die Abbildung zeigt ein Beispiel für geänderte Farbeinstellungen und die zugehörigen „set“-Befehle.

Eine der interessantesten Anpassungen sind die Hotkeys, die bei Nano zum Teil sehr gewöhnungsbedürftig ausfallen. Die Hotkey-Belegung ist ebenfalls global in der Datei /etc/nanorc oder User-spezifisch in ~/.nanorc möglich. Die Liste aller Nano-Funktionen, die Sie auf andere Hotkeys legen können, ist unter https://www.nano-editor.org/dist/v3/nano.html#Rebinding-Keys dokumentiert. Die Hotkeys sind in der Konfigurationsdatei in der Form „^“ (Strg) und „M-“ (Alt) zu hinterlegen. Um also etwa das typische Strg-C für das Kopieren von Text zu definieren, wäre folgende Zeile in der Datei nanorc zu vergeben:

bind ^C copytext main

Die Abbildung der Konfigurationsdatei auf dieser Seite zeigt eine Reihe von geänderten Hotkeys, welche die Bedienung des Editors durch standardisierte Tastenkombinationen vereinfacht. Neben den Standards Strg-C|V|X zur Textbearbeitung reagiert Nano danach auch auf Strg-F (Suche) und Strg-Q (Beenden). Beachten Sie, dass Strg-C nach dem obigen Bind-Befehl in allen Untermenüs – etwa im Kontext „Speichern“ – weiterhin als Abbruch-Hotkey arbeitet. Nur im „Main“-Bereich, also im Textfenster, erhält Strg-C seine neue Rolle.

Nano-Farben und Hotkeys: In der Konfigurationsdatei (nanorc) belegen Sie die Tastenkombinationen des Editors um. Farbanpassungen sind Geschmackssache.

Startparameter: Alle Einstellungen der Konfigurationsdatei nanorc lassen sich auch über Parameter beim Nano-Start anfordern. Ausgenommen sind lediglich die Farbdefinitionen und die Hotkey-Umbelegung. Im Allgemeinen ist es sinnvoller, die Nano-Optionen dauerhaft in der Konfiguration abzulegen, jedoch gibt es Ausnahmen: Die oben genannten Direktiven „set backup“ und „set backupdir [Pfad]“ sind nicht für jede Dateibearbeitung nötig und daher besser ad hoc anzufordern. Der Befehl

nano -B [Datei]

würde eine Sicherungskopie der editierten Datei anlegen, und

nano -C ~/nanoback [Datei]

legt bei jedem Speichern eine Versionssicherung an.

Eine ebenfalls nützliche Vorgabe, die in der Konfigurationsdatei

set const

lautet, kann beim Start mit

nano -c [Datei]

geladen werden. Dann bleibt unten die Statuszeile permanent aktiv, welche unter anderem die aktuelle Zeilenziffer anzeigt. Dies ist vor allem bei älteren Versionen nützlich, die eine „set linenumbers“ oder den Startbefehl „nano -l“ noch nicht beherrschen. Die komplette Palette der Nano-Startparameter zeigt die Dokumentation unter https://www.nano-editor.org/docs.php.

Mcedit: Editor des Midnight Commander

Auf jedem Linux-System mit installiertem Midnight Commander gibt es auch Mcedit. Auch dieser Editor wird unterschätzt und ist zunächst nicht einmal im Midnight Commander selbst als Standard vorgesehen. Dies lässt sich unter „Optionen -> Konfiguration“ mit der Einstellung „Internen Editor benutzen“ ändern. Danach ist für das Bearbeiten von Dateien (F4) Mcedit zuständig.

Mcedit ist aber ein unabhängiger Terminaleditor, den Sie auch ohne sein Hauptprogramm verwenden können:

mcedit [datei]

Mcedit zeigt die wichtigsten Bearbeitungs-Hotkeys unten an, nach F9 oder nach Klick auf die obere Infozeile erscheint ein opulentes Menü. Wer dieses Menü immer im Blick haben will, kann das bis zum Schließen des Editors über „Fenster -> Vollbild umschalten“ erreichen, was zugleich den Fenstermodus des Editors aktiviert. Wie das Menü „Fenster“ durch weitere Optionen anzeigt, beherrscht Mcedit nämlich den Umgang mit mehreren Dateien. Das kann zwar auch Nano, aber nicht mit der eleganten Fensterteilung wie Mcedit, die fast grafischen Komfort erreicht: Wenn Sie mehrere Dateien über „Datei -> Datei öffnen“ oder direkt per mcedit-Aufruf geladen haben, dann lassen sich die Dateien (nach „Fenster -> Vollbild umschalten“) skalieren und verschieben. Am Desktop funktionieren diese Aktionen exakt und komfortabel mit der Maus (Skalieren mit der Ecke rechts unten, Verschieben mit dem oberen Fensterrahmen); in der virtuellen Konsole erledigen die Cursortasten nach „Fenster -> Größe ändern“ bzw. „Fenster -> Verschieben“ das Arrangement.

Editor des Midnight Commander: Die wenigsten Nutzer wissen, dass Mcedit ein erstaunlich komfortables Fensterarrangement für mehrere geladene Dateien beherrscht.

Mcedit bietet farbige Syntaxhervorhebung unter „Optionen -> Allgemein“ und die Auswahl der Scriptsprache unter „Optionen -> Syntaxhervorhebung“. Auch in diesem Punkt ist Mcedit ausgereifter als Nano. Eine Sortierfunktion finden Sie unter „Format“, eine Codepage-Auswahl unter „Befehl -> Kodierung“. Auch das Suchen (F7) und Ersetzen (F4) von Text ist optionsreicher als unter Nano. Nützlich: Strg-Y löscht eine komplette Zeile ungeachtet der Cursorposition.

Einige fundamentale Textfunktionen sind gewöhnungsbedürftig: So ist der Text beim Verschieben erst mit der Maus (oder mit Umschalt-Taste und Cursor) zu markieren, anschließend mit Cursor oder Bild-oben/unten an die gewünschte Stelle zu navigieren und dann mit F6 das Verschieben auszulösen. Hier lohnen sich Anpassungen der mc.keymap (siehe unten). Der alte Modus beim Markieren, mit F3 zunächst die Markierfunktion aufzurufen, ist nicht mehr notwendig, da das standardisierte Markieren mit Umschalt-Taste funktioniert. Der F3-Modus besteht aber fort, und ist für die Windows-SSH-Clients Putty/Kitty weiterhin unentbehrlich.

Anpassung der Hotkeys: Trotz des alternativen Menüangebots von Mcedit machen angepasste Tastenkombination die Bedienung einfacher, wenn Sie sich standardisierte Hotkeys einrichten. Das sollte aber in der umfangreichen Keymap-Datei des Midnight Commander dosiert und mit Rückversicherung erfolgen. Verwenden Sie besser nicht die globale Datei „/etc/mc/mc.keymap“, sondern kopieren Sie diese nach „~/.config/mc/mc.keymap“, also in Ihr Home-Verzeichnis. So bleibt das Original unter „/etc“ als Rückversicherung erhalten.

Alle Optionen für Mcedit befinden sich im Abschnitt „[editor]“. Ein nützlicher Eingriff besteht etwa darin, die altertümlichen Hotkeys „ctrl-insert“ und „shift-insert“ für „Store“ (Copy) und „Paste“ durch geläufigeres „ctrl-c“ und „ctrl-v“ ersetzen (Strg-C, Strg-V):

[editor]

Store = ctrl-c
Paste = ctrl-v

Natürlich kann man sich auch die Textsuche, Folgesuche und Ersetzen mit

Search = ctrl-f

SearchContinue = ctrl-n

Replace = ctrl-r

auf einprägsamere Hotkeys legen. Änderungen an der mc.keymap werden immer erst nach dem nächsten Start des Programms gültig. Das Menü des Editors lernt dabei flexibel mit: Es zeigt die von Ihnen definierten Hotkeys.

Manjaro Architect

https://manjaro.org
Download ca. 600 MB (Installer – kein Livesystem

Der aus Deutschland stammende Manjaro Architect ist ein Installer für Bastler, die sich ihr System selbst maßschneidern wollen. Das Prozedere ist keine ganz große Herausforderung, aber etwas Basiswissen über Partitionen, Dateisysteme, Linux-Desktops und Kernel sollte man schon mitbringen. Da bei Manjaro Architect das Endergebnis offen ist, macht es hier keinen Sinn, Desktop-Eigenschaften oder Software-Ausstattung zu beschreiben. Vielmehr geht es um eine kurze Charakterisierung des Installers:

Nach dem Booten können Sie optional die deutsche Tastatur und Sprache einstellen. Danach wählen Sie den Eintrag „Boot: Manjaro.x86_64 architect“, melden sich auf der Konsole als „manjaro“ mit Passwort „manjaro“ an und starten mit der Eingabe „setup“ die Einrichtung. Der Installer arbeitet mit vorgegebenen Optionen und Auswahl mit Cursor- und Tab-Taste, ist also quasi halb grafisch (Ncurses-Basis), logisch vorbildlich, aber durchaus komplex.

Nach Auswahl der Sprache „German“ geht es im Hauptdialog zum ersten Punkt „1 Installation vorbereiten“. Hier sind nicht alle Unterschritte notwendig, aber mindestens „Konsolensprache einstellen“, „Festplatte partitionieren“ und „Partitionen einhängen“. Der schwierigste Punkt „Festplatte partitionieren“ zeigt mehrere Optionen, die das jeweils gewählte Kommandozeilentool starten. Auf unserem Test-Notebook mit einer Festplatte sda wählen wir ein Bios-Installation mit dem Tool cfdisk. Dabei muss das Partitionierungsschema (etwa „dos“ oder „gpt“) und ein Dateisystem gewählt werden (etwa „ext4“). Ferner wird die Größe des Swapfiles abgefragt. Die Zielpartition muss danach mit „Partitionen einhängen“ gemountet werden.

Zurück im Hauptmenü geht es zum nächsten Hauptpunkt „2 Desktop-System installieren“ – der eigentliche Hauptspaß, denn die hier gebotene Auswahl an Desktops, Kernel-Versionen, Kernel-Modulen (Netztreiber, Dateisysteme) und Software-Paketen baut ein System nach Maß. An Oberflächen bietet Manjaro Architect nicht weniger als 14 (!).

Vergessen Sie nach der Installation der Pakete nicht, den Grub-Bootloader zu installieren. Dies wird vom Installer als nächster Schritt angeboten und darf keinesfalls übersprungen werden. Weitere Schritte sind „Basis konfigurieren“ (root-Kennwort, weitere Konten, Hostname, fstab einrichten, Treiber etc.) und optionale „Tweaks“. Am Ende steht ein Arch-System nach Wunsch. Der Software-Bezug erfolgt am einfachsten über die grafische Zentrale „Software hinzufügen/entfernen“. Anpassungen und Optimierungen folgen den Standards des gewählten Desktops.

Manjaro Architect: Die Collage zeigt ein fertig installiertes Manjaro mit Cinnamon-Desktop und rechts oben den Hauptdialog des eigentlichen Architect-Installer.

Openbox / Bunsenlabs für Puristen

Genau so viel Desktop wie Sie brauchen, ist das Motto bei Openbox. Der Fenstermanager ist ein funktionaler und anpassungsfähiger Minimalist mit sehr geringen Hardware-Ansprüchen und kann dabei richtig gut aussehen.

Openbox ist nichts für PC-Anfänger. Diese Oberfläche setzt voraus, dass man ihre Bestandteile kennt und zielsicher konfigurieren kann. Die Distribution Bunsenlabs leistet viel verdienstvolle Vorarbeit – wieviel Vorarbeit, das erschließt sich erst, falls man ein Openbox von Grund auf neu einrichten will. Mehr als ein schlichtes Rechtsklick-Menü für den Desktop ist hier nicht zu sehen. Daher orientiert sich dieser Artikel an der Distribution Bunsenlabs, die den Fenstermanager Openbox vorbildlich ausstattet. Neben Bunsenlabs gibt es nicht viele Distributionen, die auf Openbox setzen. Zu nennen wären noch Salent OS (http://salentos.it/) oder Madbox (http://madbox.tuxfamily.org/).

Motive für Openbox

Warum sollte man sich Openbox in Kleinarbeit zurechtlegen, wo es doch diverse, scheinbar komfortablere Desktops gibt? Openbox hat einige sehr starke Argumente:

1. Der Fenstermanager ist klein, schnell, anspruchslos und macht auf älterer Hardware oder auf USB-Mobilsystemen eine gute Figur. In Form der gut ausgestatteten Distribution Bunsenlabs ist das System mit 1 GB RAM hochzufrieden und kommt auch mit der Hälfte klar, da für System (32 Bit) und Desktop nur etwa 150 MB erforderlich sind. Auf dem Datenträger sind 3 GB Minimum, für Installationen und Benutzerdaten sollten es natürlich entsprechend mehr sein.

2. Wer sich auf Openbox einlässt, kann sich die Oberfläche im Detail zurechtlegen. Die großartige Anpassungsfähigkeit betrifft Aussehen, Farben, Schriftgrößen, Menüangebot, Desktop-Infos, Tastenkombinationen. Openbox kennt keine Zwangselemente: Alle Desktopelemente lassen sich modular ein- und ausschalten.

3. Ein gut eingerichtetes Openbox ist funktional und ästhetisch. Bunsenlabs „Hydrogen“ legt als würdiger Crunchbang-Nachfolger ein Desktop-Angebot vor, das bei puristisch veranlagten Ästheten Kultcharakter hat. Bunsenlabs präsentiert Openbox in einer ansprechenden und über weite Teile mit grafischen Mitteln anpassbaren Optik. Jedoch spricht auch Bunsenlabs primär erfahrene Systembastler an.

Installation von Bunsenlabs oder Openbox

Den Punkt der Installation halten wir relativ kurz, da er vom eigentlichen Thema der Openbox-Einrichtung wegführt. Das Setup erledigt der Debian-Installer strukturiert und vorbildlich informativ. Auch der heikelste Abschnitt „Festplatten partitionieren“ ist übersichtlich – mit klaren Infos und Sicherheitsrückfragen.
Bunsenlabs lädt nach der allerersten Anmeldung ein Startscript „bl-welcome“, das ein Systemupdate und Nachinstallationen vorsieht. Das Script ist umfangreich (Paketquellen-Update, Upgrade, Power-Manager für Notebooks, Wallpapers, Libre Office, Druckertreiber, Java, Flashplayer, Open SSH, LAMP) und lohnt in jedem Fall eine Durchsicht.

Openbox als Desktop nachrüsten: Natürlich lässt sich der Fenstermanager Openbox auch unter einem laufenden System einrichten. Dazu installieren Sie folgende Pakete im Terminal:

sudo apt install openbox openbox-themes obconf obmenu

Danach melden Sie sich ab, gehen Sie in der Sitzungsauswahl auf „Openbox“, und melden Sie sich wieder an. Es erscheint ein komplett leerer Desktop, doch nach Rechtsklick erhalten Sie das Openbox-Menü. Alles Weitere müssen Sie manuell nachrüsten – etwa im Stil von Bunsenlabs.

Openbox-Menü und Menü-Editor: Für Anpassungen des hierarchischen Textmenüs gibt es das bequeme grafische Tool obmenu.

Die Desktop-Zutaten in Bunsenlabs

Die wesentlichen Standardkomponenten am Desktop sind folgende:

1. Das Menü: Das Textmenü erscheint nach Rechtsklick auf eine freie Desktopstelle und startet das dort gewählte Programm. Das Menü erscheint an der Stelle, wo Sie den Rechtsklick auslösen. Gibt es keinen freien Desktopbereich, weil auf dem jeweiligen Desktop-Workspace ein Programm im Vollbild läuft, dann hilft der Rechtsklick auf die Systemleiste. Die Beenden-Optionen wie Herunterfahren oder Abmelden finden Sie im untersten Eintrag „Exit“. Das Menü ist das einzige angestammte Bedienelement von Openbox und ist inhaltlich beliebig anpassbar (siehe unten).

2. Die Tint2-Leiste: Die Systemleiste erscheint standardmäßig am oberen Bildschirmrand. Als typische Ausstattung enthält die Leiste ganz links einige Programmfavoriten mit Icon, dann folgt die Taskbar mit so vielen Bereichen wie Desktop-Workspaces definiert sind. Rechts ist der Systray-Bereich mit Netzwerk, Lautstärkeregler, Multiclipboard und ganz rechts schließlich die Zeitanzeige.
Als Systemleiste dient das externe Programm Tint2. Für mehrere Leisten müssen mehrere Tint2-Instanzen geladen werden mit je eigener Konfigurationsdatei (unter ~/.config/tint2). Tint2 ist ungemein anpassungsfähig, fordert aber intensive Einarbeitung in die Konfigurationsdirektiven (www.mankier.com/1/tint2). Das grafische Tool Tint2conf ist unter Bunsenlabs vorinstalliert, ist aber keine große Hilfe, weil es die aktuellen Werte zwar anzeigt, aber derzeit noch nicht ändern kann. Das Openbox-Menü führt über „Preferences -> Tint2 -> Edit Tint2s“ zur Konfigurationsdatei des aktuellen Tint2.

3. Der Conky-Systemmonitor: Ebenfalls Standard ist ein Systemmonitor, der typischerweise transparente Infos wie CPU- und RAM-Auslastung, Uptime, Zeit, Hostname sowie die wichtigsten Hotkeys anzeigt. Hier arbeitet das externe Programm Conky, das wie Tint2 in einer oder mehreren Instanzen laufen kann. Conky kann im Prinzip alles anzeigen von invariablen Textinfos über dynamische Daten wie Kalender oder Festplattenbelegung bis zur grafischen Darstellung solcher Infos.

4. Die Dmenu-Kommandozeile: Neben dem normalen Menü gibt es mit Hotkey Alt-F3 noch ein „Dynamic Menu“, das alphabetisch alle Programmnamen auflistet, die es im Pfad vorfindet. Mit Tab-, Cursor- oder Bildtasten blättern Sie im Angebot, mit einer Eingabe wie „fi“ filtern Sie etwa schnell Firefox, Filezilla, File-Roller. Der Programmstart erfolgt mit Eingabetaste, wobei aber nur grafische Programme startbar sind. Dmenu leistet aber eine gute Info über alle installierten Tools. Der Desktop wird erst wieder benutzbar, wenn Sie ein Programm gestartet haben oder Dmenu mit Esc verlassen.

Themen und Einstellungen: Für die fundamentale Fensteroptik ist der „Openbox-Einstellungsmanager“ zuständig (obconf), der im Menü als „GUI Menu Editor“ erscheint.

Die grafischen Anpassungshilfen

Wer die Möglichkeiten der skizzierten Desktop-Zutaten ausschöpfen will, landet früher oder später mit dem Editor in den zugehörigen Konfigurationsdateien. Für die wichtigsten Desktop-Anpassungen liefert Bunsenlabs aber grafische Werkzeuge mit:

1. Das Tool Obconf: Den „Openbox Einstellungsmanager“ erreichen Sie im Menü über „Preferences -> Openbox -> GUI Config Tool“) oder durch direkten Aufruf von obconf. Es handelt sich um grundlegende Einstellungen der Openbox-Fensterverwaltung und des Openbox-Menüs. Änderungen an Themen und Fenstereinstellungen (Titelleiste und Controls), Arbeitsflächen, Maus werden sofort angezeigt. Während „Thema“ farbliche Vorgaben definiert, bestimmt „Erscheinungsbild“ die Controls der Fenstertitel und die Schriftgrößen in Fenstertitel und im Openbox-Menü. Einige weitere Punkte wie „Arbeitsflächen“ sind weitgehend selbsterklärend. Der Punkt „Dock“ hat keine Bedeutung, wenn man auf den Einsatz der „Dockapps“ verzichtet.
Die Einstellung „Ränder“ ist wichtig, falls Sie auf die Tint2-Systemleiste verzichten. Das Openbox-Menü kann durch Rechtsklick auf eine freie Desktopstelle oder die Tint2-Leiste ausgelöst werden. Ohne Leiste müssten Sie ein Vollbildprogramm erst verkleinern oder minimieren, um an das Openbox-Menü zu kommen. Hier helfen „Ränder“. Ein Pixel etwa auf der rechten Seite genügt: Dann setzt man einfach die Maus ganz nach rechts, um mit Rechtsklick das Menü auszulösen.

2. Das Tool Lxappearance: Den Dialog „Erscheinungsbild anpassen“ finden Sie im Menü unter „Preferences -> Appearance“. Das vom LXDE-Desktop ausgeliehene Programm bestimmt das Aussehen von Icons, Mauszeiger und Schriften. Der wichtigste Punkt „Fenster“ gibt die Optik für Programm-Menüs und -Dialoge vor. Die Größe der Menü-Schrift ist hier neben „Schrift“ ab 6 Punkt aufwärts beliebig skalierbar.

3. Das Tool Obmenu: Zur inhaltlichen Anpassung des Openbox-Menüs dient Obmenu, das Sie über „Preferences -> Openbox -> GUI Menu Editor“ erreichen. Das Löschen, Umbenennen oder Verschieben von Menüeinträgen ist mit den vorgegebenen Schaltflächen und Eingabefeldern selbsterklärend. Neue Menüordner fügen Sie mit „New menu“ hinzu, Einzeleinträge über „New Item“ nach dem Muster der vorhandenen. Ein neuer Menüpunkt wird immer oberhalb des aktuell markierten Eintrags eingefügt. Über „Label“ vergeben Sie den Namen, neben „Execute“ tragen Sie den Programmaufruf ein. Die gewünschte Aktion („Action“) ist gewöhnlich der Programmstart mit „Execute“, alle anderen Vorgaben („Exit“, „Restart“) beziehen sich auf Openbox. Wenn Sie mit einem Menüeintrag ein Programm beenden wollen, verwenden Sie etwa „pkill conky“ als Execute-Eintrag. Alle Änderungen in Obmenu gelten sofort nach „File -> Speichern“.

4. Das Tool Nitrogen: Für die Auswahl des Hintergrundbildes gehen Sie auf „Preferences -> Choose Wallpaper“. Bunsenlabs nutzt für diese Aufgabe das externe Programm Nitrogen.

In den Openbox-Konfigurationsdateien

Openbox nutzt lediglich drei zentrale Konfigurationsdateien unter ~/.config/openbox, deren Editieren auch im Menü über „Preferences -> Openbox“ angeboten wird:
1. Die Datei menu.xml enthält das Menüangebot. Diese Datei ist bequem über das grafische Tool Obmenu zu bearbeiten.
2. Die Datei rc.xml definiert sämtliche Hotkeys. Openbox nutzt zahllose Tastenkombinationen und bietet im Menü über „Display Keybinds“ einen lohnenden Überblick. Die Vorgaben der der rc.xml können Sie manuell beliebig ändern. Ein typischer Eintrag

<keybind key="W-f">

 

<action name="Execute"><execute>filezilla</execute></action>

 

</keybind>

definiert für Windows-Taste und Taste F den Start des FTP-Client Filezilla. „W“ steht also für die Windows-Taste, ferner „A“ für Alt, „C“ für Strg und „S“ für die Shift-Taste. Damit Änderungen wirksam werden, rufen Sie „Preferences -> Openbox -> Reconfigure“ auf.
3. Die kleine Datei autostart ist das zentrale Startscript, das alle Desktop-Module oder sonstige Programme aufruft. Sie können den Umfang mit jedem Editor reduzieren oder erweitern. Um etwa den Conky-Monitor zu deaktivieren, kommentieren Sie die Zeile mit „bl-conky-session“) einfach mit führendem #-Zeichen aus. Eigene Autostarts fügen Sie mit dem zugehörigen Programmaufruf an geeigneter Stelle als zusätzliche Zeile hinzu. Das Script startet alles einfach in der angegebenen Reihenfolge.

Openbox nutzt zahlreiche Hotkeys: Es lohnt sich ein genauerer Blick auf die vordefinierten „Keybinds“. Zuständig ist die Datei rc.xml, die Sie beliebig manuell anpassen können.

Tint2-Leisten und Conky-Anzeigen

Tint2-Systemleisten sind ungemein flexibel, aber über die Textdateien unter ~/.config/tint2/ relativ mühsam zu editieren. Da sich dieser Aufwand jedoch lohnt, nennen wir an dieser Stelle zumindest die allerwichtigsten Direktiven. Der Eintrag (Beispiel)

panel_items = LTSC

definiert, welche Elemente die Leiste in welcher Reihenfolge anzeigen soll. Möglich sind der Launcher (L) mit Programmfavoriten, die Taskbar (T), der Systray-Bereich (S), der Batterieladezustand (B) und die Uhrzeit (C). Die weiteren Optionen E und F lassen wir außen vor, zumal sie mit dem Verzicht auf die unentbehrliche Taskbar (T) einhergehen.
Wenn Sie einen Launcher-Bereich (L) nutzen, dann können Sie die gewünschten Favoriten unter „#Launcher“ in der Form

launcher_item_app = /usr/share/applications/firefox-esr.desktop

eintragen. Notwendig ist hier also der komplette Pfad zur passenden Desktop-Datei.
Die wichtigsten Direktiven für Position, Ausrichtung und Größe sind folgende:

panel_position = top right vertical
panel_size = 95% 120

Dies würde eine vertikale Leiste am rechten Bildschirmrand zeichnen, die nicht ganz von oben nach unten reicht (95 Prozent) und 120 Pixel breit ist. Werteangaben sind sowohl in Prozent als auch in absoluten Pixelwerten möglich.

Änderungen in der Konfigurationsdatei wirken sich erst aus, wenn Sie Tint2 über „Preferences -> Tint2 -> Restart Tint2“ neu starten. Wer sich intensiv in die Tint2-Konfiguration einfuchsen will, sollte die Manpage unter www.mankier.com/1/tint2 aufsuchen.
Conky-Monitor: Gemessen am Ergebnis – nämlich der Darstellung einiger Systeminfos am Desktop – ist die Anpassung von Conkys ein ambitionierter Sport (zumal sich mit Windows-H jederzeit der Htop-Taskmanager starten lässt). Immerhin gibt es eine Reihe vorinstallierter Conky-Vorlagen unter „~/.config/conky“, die Sie am einfachsten im Menü über „Preferences -> Conky -> Conky Chooser“ erreichen. Wer über „Edit Conkys“ tatsächlich selbst Hand anlegen will, kann mit „alignment“ die Position am Desktop festlegen, mit „xftfont“ die Schriftgröße. Der eigentliche Inhalt des Conkys steht am Ende der Konfigurationsdatei unter „TEXT“. Dies sind nur die allerwichtigsten Direktiven der komplexen Conky-Konfigurationsdateien, weitere Infos finden Sie unter https://wiki.ubuntuusers.de/Conky/. Beim Speichern der Datei ~/.conkyrc startet ein Conky automatisch neu. Conkys lassen sich auch temporär anzeigen: conky -i 30 blendet die Info 30 Sekunden ein und beendet dann das Conky.

Tint2-Leiste und zugehörige Konfigurationsdatei: Das Eintragen der gewünschten Launcher-Favoriten ist eine der leichtesten Übungen.

Openbox und Bunsenlabs „Hydrogen“

Bunsenlabs basiert auf Debian 8 und präsentiert ein sorgfältig eingerichtetes Openbox inklusive grafischen Tools und Scripts. Als Paketverwaltung dient Synaptic oder apt im Terminal. Bunsenlabs ist in der 32-Bit-Variante bootfähig auf Heft-DVD.
Projektseite: www.bunsenlabs.org
Download: www.bunsenlabs.org/installation.html
Infos: https://forums.bunsenlabs.org/
https://wiki.ubuntuusers.de/Openbox/
https://wiki.mageia.org/de/Openbox
https://wiki.archlinux.de/title/Openbox

Noch ein Tipp: Der Desktop von Openbox hat keine Ordnerfunktionalität, kann also nicht als Dateiablage dienen. Wer diese Eigenschaft für unentbehrlich hält, hat theoretisch zwei Möglichkeiten: Eine Option ist das Nachinstallieren eines Dateimanagers wie Nautilus, der diese Fähigkeit mitbringt (nautilus –force-desktop). Eine Alternative sind Tools wie idesk (http://idesk.sourceforge.net). Doch können beide Lösungen nicht überzeugen: idesk ist technisch unbefriedigend, und Nautilus deaktiviert logischerweise das zentrale Rechtsklick-Menü. Ein simples Workaround ist der automatische Start einer Dateimanager-Instanz mit

 thunar ~/Desktop

in der Datei „~/.config/openbox/autostart“. Während man in weiteren Desktop-Workspaces arbeitet, bleibt am ersten Desktop dauerhaft der Transferordner geöffnet. Programme wie Browser oder Office können Sie leicht anweisen, den betreffenden Ordner standardmäßig als Arbeits- oder Download-Ordner zu nutzen.

 

Bash on Ubuntu on Windows

Noch ist „Bash on Ubuntu on Windows“ Beta, aber das Ding wird bald allgemein unter Windows Einzug halten. Das Windows Subsystem for Linux (WSL) ist wesentlich mehr als nur eine Bash-Shell: Es bildet das komplette Dateisystem eines Ubuntu ab und enthält unter /bin und /usr/bin alle typischen Kommandozeilenwerkzeuge. Über die Ubuntu-Repositories und apt-get install können weitere Werkzeuge nachinstalliert werden. Trotz noch bestehender Mängel ist der Eindruck evident, dass hier Microsoft in Zusammenarbeit mit Canonical (Ubuntu) ein ehrgeiziges und nachhaltiges Projekt auf die Beine stellt.

Einrichtung und erster Eindruck

Als Vorbereitung ist unter Windows 10 zunächst via Startmenü über „Einstellungen -> Update und Sicherheit -> Für Entwickler“ der „Entwicklermodus“ zu aktivieren. Danach wird in der Systemsteuerung unter „Programme und Features -> Windows Features aktivieren“ das Paket „Windows Subsystem für Linux“ angeboten und kann durch ein Häkchen und „OK“ installiert werden. Dieser Vorgang wird auch in Zukunft optional bleiben, da typische Windows-User eine Linux-Shell in der Regel nicht vermissen.

Nach dieser Aktion findet sich im Windows-Startmenü das neue Programm „Bash on Ubuntu on Windows“, das den kleinen Bash-Launcher aufruft (bash.exe). Falls das Startmenü den Link nicht anbietet, starten Sie die bash.exe manuell in Cmd-Konsole im Pfad \Windows\System32.

Neuerdings (2016 noch nicht beobachtet) kann sich noch eine kleine Hürde einstellen: Wenn der Aufruf der bash.exe mit der Meldung „Zur Verwendung dieses Features muss die Legacykonsole deaktiviert werden“ scheitert. klicken Sie rechts auf die Titelleiste der Cmd.exe und deaktivieren auf der Registerkarte „Optionen“ das Kästchen vor „Legacykonsole“:

Danach erledigt der Aufruf der bash.exe die eigentliche Installation des minimalen Ubuntu vom Canonical-Server. Am Ende werden Sie aufgefordert, ein (sudo-berechtigtes) Benutzerkonto und dessen Passwort anzulegen. Ab sofort ist die Bash-Shell einsatzbereit.

Die eigentliche Ubuntu-Umgebung befindet sich im User-Kontext unter \user\[Konto]\AppData\Local\lxss, darunter liegt das Dateisystem \user\[Konto]\AppData\Local\lxss\rootfs mit der üblichen Verzeichnisstruktur und etwa 550 MB nach der Installation. Diese Ordner werden vom Windows-Explorer versteckt, sind aber mit direkter Eingabe in die Explorer-Adresszeile ebenso wie mit der Cmd-Kommandozeile problemlos zu erreichen.
Die Benutzung der „Bash on Ubuntu on Windows“ unterscheidet sich bei einfacheren Aufgaben weder funktional noch leistungstechnisch von einer Ubuntu-Shell. Wer sich schon mal mit der weitaus hakeligeren Cygwin-Bash beschäftigt hat, wird in jeder Hinsicht positiv überrascht sein. Es gelingt uns mühelos, mit dem ssh-Client Verbindung zu unseren Servern aufzunehmen, was künftig die Windows-Clients Putty und Kitty weitgehend überflüssig machen könnte.

Bevorzugte Werkzeuge wie htop, nmap, inxi oder mc sind über apt-get problemlos nachinstalliert. Da der Midnight Commander hier auch SSH beherrscht, ist sehr bequemer Austausch des Windows-Systems mit Linux-Servern garantiert.

Für die direkte Zusammenarbeit mit Windows ist das Windows-Systemlaufwerk automatisch unter /mnt/c gemountet, was nach der Definition einiger Bash-Aliases schnell zum komfortablen Datenaustausch zwischen Windows-Desktop und Linux-Shell führt.

Weitere interne oder externe Laufwerke des Windows-Rechners sind gemäß den dort verwendeten Laufwerksbuchstaben unter /mnt/d, /mnt/e und so fort zu finden.

Der Befehl

uname -a

meldet brav ein 64-Bit-„GNU/Linux“ und

lsb_release -a

ein Ubuntu 14.04.5 LTS.

Zweimal das Verzeichnis /usr/bin: Das Dateisystem des Linux-Subsystems befindet sich im Benutzerkonto unter \Users\[Konto]\AppData\local\lxss

Für Linux-Entwickler? Für Linux-User?

Schon das Freischalten des Subsystems mit der Option „Entwicklermodus“ macht deutlich, welche Zielgruppe Microsoft mit der „Bash on Ubuntu on Windows“ in erster Linie im Auge hat. Es sind Entwickler, die unter Linux mit Python, Ruby, Git und Gnu-Compiler arbeiten und dies theoretisch künftig auch unter Windows erledigen können. Microsoft behauptet allerdings auch, mit der Bash einfach nur eine gute Kommandoshell anbieten zu wollen, die dann auch normale Nutzer ansprechen soll (und natürlich solche, die an Bash gewöhnt sind). Einige Möglichkeiten tun sich da in der Tat zwanglos auf, zumal der Launcher bash.exe auch Parameterangaben vorsieht – etwa:

bash.exe myscript.sh
bash.exe -c "mc ~"

„Bash on Ubuntu on Windows“ ist ein unglaublich ambitioniertes Projekt, das jetzt schon überraschend viel kann und das unbedingt weitere Beobachtung verdient.

Der Vergleich zwischen der 2016 veröffentlichten „Bash on Ubuntu on Windows“ mit der aktuellen (Stand: 09.03.2017) zeigt, dass Microsoft und Canonical fleissig weiterentwickeln. Diverse Mängel bei der Bedienung, bei der Eingabe von Sonderszeichen  oder beim Scrollen im Editor, sind weitestgehend ausgeräumt.

Auch grafische Linux-Programme starten anstandslos, wenn unter Windows der X-Server xming (https://sourceforge.net/projects/xming/) installiert ist aud läuft. Grafische Tools hat das Ubuntu zwar zunächst nicht an Bord, sie sind aber über apt-get ebenso nachrüstbar wie Kommandozeilentools.

Als praktisches Highlight für den Benutzeralltag sehe ich die SSH-Shell-Verbindung im Midnight Commander. Umstandsloser, direkter und komfortabler  kann der unbeschränkte Dateiaustausch zwischen Windows und einem Linux-Server nicht stattfinden – auf der einen Seite das komplette Dateisystem des Linux-Rechners, auf der anderen Seite unter /mnt das komplette Dateisystem des Windows-Rechners. Die SSH-Clients Putty/Kitty haben bei mir weitgehend ausgedient.

Midnight-Commander mit SSH-Shell-Verbindung: Hier ist links der Windows-Desktop und rechts der Linux-Server im Bild.

Windows-Software unter Linux: Wine und PlayOnLinux

Wine ist bekanntlich ein Nachbau der Windows-API unter Linux, der eine Vielzahl von Windows-Programmen unter Linux lauffähig macht. Wo immer dies möglich ist, ist dies der direktere Weg gegenüber einer Virtualisierungslösung.

Über Wine und sein komfortables Frontend PlayOnLinux allgemeingültige, praxisnahe technische Anleitungen zu liefern, ist nicht ganz einfach: Streng genommen kann man immer nur das erfolgreiche Einrichten genau eines Windows-Programms erklären. Bei der nächsten Software kann sich der Vorgang schon wieder deutlich unterscheiden, und einen dritten Kandidaten überreden auch trickreiche Nachbesserungen nicht zur Zusammenarbeit. Dieser Artikel kann daher nur die Grundregeln beschreiben.

playonllinux und wine
Winecfg und PlayOnLinux: Hinter dem Frontend bleibt Winecfg (rechts) das maßgebliche Konfigurationstool, das unter anderem festlegt, welche Laufwerke die Windows-Software „sieht“.

Zum Verhältnis Wine und PlayOnLinux

Wine („Wine Is Not an Emulator“) stellt die eigentliche Laufzeitumgebung und Windows-API (Application Programming Interface) bereit und basiert auf mühevoller Rekonstruktion des nicht offenen Windows-Quellcodes durch Experimentieren und Reverse-Engineering. Aufgrund dieser Arbeitsweise ist die von Wine angebotene Windows-API auch nach über 20 Jahren der Entwicklung immer noch lückenhaft, aber inzwischen ausreichend für viele und zum Teil auch komplexe Windows-Programme und –Spiele wie Photoshop oder Halflife. Welche Windows-Software unter Wine zuverlässig läuft, zeigt die Datenbank http://appdb.winehq.org. Linux-Nutzer mit wenig Erfahrung sollten sich an die Kategorien „Platin“ und „Gold“ halten, alle anderen Einstufungen erfordern manuelles Nachbessern.

PlayOnLinux ist im Prinzip nur ein zusätzliches Konfigurationswerkzeug für Wine. Aber es vereinfacht Installationen von Software und bietet vor allem eine komfortable Verwaltung für mehrere Wine-Versionen auf einem Rechner. Es ist nämlich leider keineswegs so, dass die aktuellste Wine-Version auch die beste für jede Windows-Software darstellt. Vielmehr gibt es vor allem für ältere Software ältere Wine-Versionen, welche die optimalen Bedingungen garantieren.

Mit PlayOnLinux nimmt zwar die Wine-Komplexität weiter zu, dennoch gehen wir nachfolgend davon aus, dass Sie Wine in Kombination mit diesem grafischen Frontend nutzen. Ursprüngliches Ziel des Frontends war es, populäre Windows-Spiele besonders komfortabel lauffähig zu machen – daher der Name des Tools. Heute hat Playonlinux aber auch Windows-Programme wie Microsoft Office oder Dreamweaver im Repertoire.

Der Installationsdialog von PlayOnLinux
Der Installationsdialog von PlayOnLinux

Installation über PlayOnLinux

Obwohl es unter den Distributionen auch einige Ausnahmen gibt: In den meisten Fällen sind die Pakete Wine und PlayOnLinux nicht vorinstalliert, weil sie relativ viel Platz beanspruchen und die installierbaren Live-Systeme um circa 200 MB anwachsen ließen. Unter Debian, Ubuntu, Mint und Varianten installiert der Befehl

sudo apt-get install playonlinux curl p7zip-full

alle notwendigen Komponenten. Beachten Sie, dass PlayOnLinux ein aktuelles Wine automatisch mitbringt. Beim Verfassen dieses Beitrags handelte es sich unter Ubuntu um Wine 1.7.12. PlayOnLinux ist aktuell bei Version 4.2.5, bei der Installation über die Ubuntu-Repositories erhalten Sie derzeit Version 4.2.2.

Bei der Installation gibt es unter einigen Distributionen eine irritierende Bremse: Es erscheint ein Textfenster „Konfiguriere ttf-mscorefonts-installer“. Es handelt sich um die EULA (End User License Agreement) für einige Windows-Truetype-Standardschriften, die Sie bestätigen sollen. Allerdings lässt sich das „OK“ in diesem Textfenster nicht direkt mit Eingabetaste erreichen. Vielmehr müssen Sie erst mit der Tab-Taste das „OK“ aktivieren, um den Vorgang mit Eingabetaste fortsetzen zu können.

Vor dem Start von PlayOnLinux sollten Sie erst winecfg aufrufen, am einfachsten via Terminal. Beim Start dieses Konfigurationstools werden oft noch fehlende Komponenten angemahnt und die automatische Nachinstallation angeboten. Außerdem können Sie vorab festlegen, welche Laufwerke die Windows-Software nutzen darf. Erst danach starten Sie PlayOnLinux über das Startmenü oder das Dash. Nach diesen Aktionen sind bereits wichtige Ordnerstrukturen und virtuelle Laufwerke angelegt. Sie finden im home-Verzeichnis den versteckten Ordner ~/.PlayOnLinux/wineprefix, der die virtuellen Laufwerke für alle späteren Installationen aufnimmt.

Exkurs: Neueste Versionen

Wenn es die allerneueste Wine-Version sein soll, gibt es für Ubuntu und Mint ein alternatives PPA mit jüngsten Entwicklerversionen. Dafür nehmen Sie in der Kommandozeile das PPA auf und installieren dann die aktuellste Version:

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine1.7

die neueste verfügbare Wine-Version.

Auch PlayOnLinux bieten die meisten Repositories nicht in der aktuellsten Version. Diese lautet bei Redaktionsschluss 4.2.5, während etwa Ubuntu die Version 4.2.2 installiert. Die jeweils aktuellste Version erhalten Sie mit diesen vier Befehlen:

wget -q "http://deb.playonlinux.com/public.gpg" -O- | sudo apt-key add -
sudo wget http://deb.playonlinux.com/playonlinux_trusty.list -O /etc/apt/sources.list.d/playonlinux.list

sudo apt-get update

sudo apt-get install playonlinux

Anleitungen zur Installation unter anderen Distributionen bietet die Webseite https://www.playonlinux.com/en/download.html.

Beachten Sie jedoch, dass die Entwicklung bei Wine zwar stetig, aber langsam voranschreitet. Die Notwendigkeit ganz aktueller Versionen ergibt sich nur dann, wenn Sie genau wissen, dass die gewünschte Windows-Software die neueste Wine-Version unbedingt voraussetzt.

Setup mit dem normalen Installationsmedium: Der PlayOnLinux-Assistent fragt nach dem Setup-Medium oder der gemounteten ISO-Datei.
Setup mit dem normalen Installationsmedium: Der PlayOnLinux-Assistent fragt nach dem Setup-Medium oder der gemounteten ISO-Datei.

Varianten der Software-Installation

Nach dem Aufruf vom Playonlinux klicken Sie zunächst auf „Datei -> Installieren“. Das damit geöffnete Installationsmenü zeigt zahlreiche Windows-Programme und Spiele, für die es bewährte Installations-Scripts gibt. Mit der Auswahl und dem Klick auf „Installieren“ einer dieser Software-Vorgaben sind Sie auf einer relativ sicheren Seite. „Relativ sicher“ deswegen, weil sich beispielsweise eine genau analysierte Software wie ein Microsoft Office standardmäßig problemlos installieren lässt, das Setup jedoch scheitert, wenn man versucht, eine benutzerdefinierte Auswahl der Komponenten zu treffen.

In den meisten Fällen benötigen Sie ein reguläres Installationsmedium, also CD/DVD oder auch eine ISO-Datei, die Sie am besten schon vorher über „Öffnen mit -> Einhängen von Laufwerksabbildern“ gemountet haben. Bei frei verfügbarer Open-Source-Software fragt PlayOnLinux nach keinem Installationsmedium, sondern lädt die Dateien aus dem Internet und installiert automatisch. Das bei der Installation neu entstehende Wine-Prefix und auch das zugehörige Verzeichnis unter ~/.PlayOnLinux/wineprefix erhält jeweils den Namen der Software.

Die manuelle Setup-Variante: Ist die gewünschte Software in den Vorgaben unter „Datei -> Installieren“ nicht enthalten, können Sie folgenden Weg versuchen: Im Installationsdialog klicken Sie auf ganz unten auf „Installiere ein Programm, das nicht aufgelistet ist“. Damit startet die manuelle Installation, bei der Sie die Option „Installiere ein Programm in einem neuen virtuellen Laufwerk“ anklicken und für die neue Umgebung einen Namen vergeben. Den nächsten Dialog überspringen Sie mit „Weiter“, sofern Sie mit den dortigen Optionen nichts anfangen können. Wenn die Aufforderung „Bitte wähle die Installationsdatei…“ erscheint, navigieren Sie mit „Durchsuchen“ zur gewünschten Setup-Datei. Ob die Installation funktioniert und anschließend auch die Software, muss der Versuch zeigen.

Manuelle Kopie portabler Software: Portable Windows-Programme benötigen bekanntlich keine Installation. Mit solcher Software lässt es sich besonders einfach experimentieren: Kopieren Sie in eine bereits existierende Laufzeitumgebung unter ~/.PlayOnLinux/wineprefix/[Name]/drive_c/Program Files beliebige portable Programme einfach mit dem Dateimanager. Danach gehen Sie im Hauptdialog von Playonlinux auf „Konfigurieren“ und markieren den Namen der betreffenden Laufzeitumgebung. Nun erscheint die Schaltfläche „Lege eine neue Verknüpfung dieses virtuellen Laufwerks an“, die eine Suche nach ausführbaren Windows-Executables (*.exe) startet. Hier klicken Sie auf die gewünschte Programmdatei und auf „Weiter“. Dadurch entsteht ein neuer Programmeintrag im Hauptdialog von PlayOnLinux, zusätzlich auch noch eine Desktop-Verknüpfung.

Ob das portable Programm dann tatsächlich läuft, erweist sich nach Klick auf „Ausführen“ im Hauptdialog. Der Erfolg ist ungewiss, aber Sie können in einem einzigen Wine-Prefix durch schlichtes Kopieren in den virtuellen Programme-Ordner Dutzende von Programmen ausprobieren. Bei kleineren Tools und einfachen Spielen stehen die Chancen generell gut.

Oft unproblematische portable Software: Viele Windows-Programme sind nach schlichtem Kopieren in den virtuellen Programme-Ordner sofort startklar.
Oft unproblematische portable Software: Viele Windows-Programme sind nach schlichtem Kopieren in den virtuellen Programme-Ordner sofort startklar.

Ergebnis aller Installationsvarianten: Für jede Software ist immer eine bestimmte Wine-Version zuständig. Bei den Programmen, die der Installationsdialog anbietet, holt PlayOnLinux automatisch die passende Wine-Version mit an Bord. Bei manuellen Installationen arbeitet normalerweise die Default-Version des Betriebssystems. Einmal installierte Programme erscheinen im Hauptdialog von PlayOnLinux und lassen sich dort „Ausführen“, „Debuggen“, „Deinstallieren“ und genauer „Konfigurieren“. Eine komplette Prefix-Umgebung können Sie unter „Konfigurieren -> Entfernen“ wieder löschen. Falls dies nicht klappt, löschen Sie einfach den betreffenden Ordner unter ~/.PlayOnLinux/wineprefix.

Hauptdialog von PlayOnLinux nach erfolgten Installationen: Die rechte Spalte bietet die Links für alle Aktionen wie das Starten, Debuggen oder detaillierteres Konfigurieren.
Hauptdialog von PlayOnLinux nach erfolgten Installationen: Die rechte Spalte bietet die Links für alle Aktionen wie das Starten, Debuggen oder detaillierteres Konfigurieren.

Debugging und Experimente

Wine bietet eine erstaunlich zuverlässige Basis der Windows-API, kann aber natürlich nicht die zahllosen Spezialitäten berücksichtigen, wie sie Tausende von Windows-Programmen voraussetzen. Das beginnt bei harmlosen Registry-Einträgen und geht bis zu speziellen DLL-Versionen, .Net- oder DirectX-Versionen. Bei besonders prominenter Software ist der Ehrgeiz der Community groß, diesen Spezialitäten mit genau recherchierten Installations-Scripts Rechnung zu tragen. Bei weniger prominenter Software ist Wine die solide Basis, die aber oft erst durch eigenes Experimentieren zum Erfolg führt: Wenn ein Windows-Programm nach der Installation nicht läuft, bedeutet das nicht, dass es prinzipiell nicht funktioniert. Wer einerseits die Struktur von PlayOnLinux verstanden hat, andererseits einige Windows-Kenntnisse mitbringt, hat gute Chancen, eine störrische Software durch Experimentierten zur Arbeit zu bewegen:

Jedes installierte Programm lässt sich im PlayOnLinux-Hauptdialog markieren, danach auf der rechten Seite mit dem Link „Ausführen“ starten. Wenn dies nicht funktioniert, starten Sie das Programm an gleicher Stelle mit dem Link „Debug“, um das Debug-Logfile anzuzeigen. Das Logfile nennt die Probleme deutlich beim Namen– etwa „Library XYZ.DLL not found…“. Allgemeine Windows-Komponenten wie DirectX und .Net lassen sich über den Link „Konfigurieren“ unter der Registerkarte „Installiere Komponenten“ genau für dieses Programm nachrüsten. Wenn aber – wie im obigen Beispiel – ganz spezielle, fehlende DLL-Dateien genannt werden, hilft nur eines: Kopieren Sie die fehlenden Dateien von einer parallelen Windows-Installation manuell nach Linux. Zielordner ist dann entweder ~/.PlayOnLinux/wineprefix/[Prefix-Name]/drive_c/windows/system32 oder direkt das Programmverzeichnis ~/.PlayOnLinux/wineprefix/[Prefix-Name]/drive_c/Program Files/[Programm].

Wenn Sie die DLL-Dateien unter System32 ablegen, starten Sie dann in PlayOnLinux über „Konfigurieren -> Wine -> Wine konfigurieren“ das Tool winecfg, um dort unter „Bibliotheken -> Neue Überschreibung für“ die gewünschte Bibliothek auszuwählen. Mit „Festlegen“ erstellen Sie eine neue Regel, die Sie mit „Bearbeiten“ ändern. Mit der Einstellung „Native“ nutzt Wine dann die manuell kopierte, originale Windows-DLL im virtuellen System32-Ordner statt der eingebauten Wine-Bibliothek (Builtin).

native dlls
Windows-Bibliotheken manuell ersetzen: Wenn Programme laut Debug-Meldung originale Windows-DLLs fordern, kopieren Sie diese und teilen das winecfg mit.

Was für fehlende Komponenten gilt, gilt ähnlich auch für fehlende Informationen in der Windows-Registry. Diese liegt in Form der beiden Dateien system.reg und user.reg im Basisverzeichnis des jeweiligen Wine-Prefix – also unter ~/.PlayOnLinux/wineprefix/[Prefix-Name]. Theoretisch können Sie diese Dateien manuell bearbeiten, was für eine Handvoll Zeilen sicher noch praktikabel ist. Es gibt aber einen wesentlich komfortableren Weg: Auch hier benötigen Sie wieder ein Windows-Referenz-System, auf dem die betreffende Software fehlerlos läuft. Dort nutzen Sie den Registry-Editor Regedit und suchen den Hauptschlüssel der Software auf – typischer Weise [Hkey_Current_User\Software\[Programmname]. Nach Rechtsklick und „Exportieren“ wählen Sie als Ausgabeformat „Win9x-/NT-Registrierungsdateien“ und einen sprechenden Dateinamen.

Diese Exportdatei lässt sich dann bequem in die Registry auf dem Linux-System importieren. Dazu markieren Sie im Hauptdialog von PlayOnLinux das maßgebliche Programm und klicken dann in der rechten Spalte auf den Link „Konfigurieren“, dann auf die Registerkarte „Wine“. Hier finden Sie die Schaltfläche „Registrierungseditor“. Der entspricht exakt jenem unter Windows, und mit „Registry -> Registry importieren“ holen Sie die vorher erstellte Reg-Datei in die Registry Ihres Wine-Prefixes.

Dateizuordnungen festlegen

Wie der Hauptdialog von PlayOnLinux unter „Einstellungen -> Dateizuordnungen“ verspricht, lassen sich Dateitypen anhand ihrer Extension mit einem Wine-Windows-Programm verknüpfen. Ziel ist es, mit einem Doppelklick im Linux-Dateimanager direkt die passende Windows-Software zu laden.

Legen Sie unter „Dateizuordnungen“ mit der Schaltfläche „Neu“ einen neuen Eintrag an. Ein Beispiel wäre etwa die Extension „.xlsx“, falls Sie diese mit Microsoft Excel verknüpfen wollen. Danach klappen Sie neben „Zugewiesenes Programm“ die Drop-Down-Liste der möglichen Wine-Programme auf, wählen das gewünschte Excel und klicken auf „Anwenden“. Damit haben Sie PlayOnLinux darüber informiert, dass es für die Extension „.xlsx“ eine Standardanwendung gibt, der Linux-Dateimanager weiß davon allerdings noch nichts.

Wie der Dateimanager am besten zu informieren ist, darüber finden Sie im Web einige halbrichtige Anleitungen. Nach unserer Erfahrung (mit Nautilus unter Ubuntu und Nemo unter Mint) ist der sicherste Weg folgender: Sie gehen im Terminal mit cd zu einem Verzeichnis, das eine Datei mit der gewünschten Extension enthält. Dort geben Sie nach mimeopen –d den Dateinamen an:

mimeopen –d [Dateiname.ext]

Geben Sie dann die Ziffer ein, die vor „Other“ steht. Damit weisen Sie dem Dateityp unabhängig von bisherigen Vorgaben ein neues Standardprogramm zu. Neben „use command:“ geben Sie jetzt einfach den Befehl „playonlinux“ ein. Damit gibt der Dateimanager die Verantwortung für diesen Typ an PlayOnLinux weiter und dieses weiß wiederum aufgrund der vorher getätigten Dateizuordnung, was es starten soll.

Im letzten Schritt klicken Sie jetzt im Dateimanager eine beliebige Datei dieses Typs rechts an und wählen „Eigenschaften -> Öffnen mit“. Dort sollte jetzt unter anderem auch der Eintrag „playonlinux“ auftauchen, den Sie mit Klick auf die gleichnamige Schaltfläche „Als Vorgabe festlegen“.

mimeopen
Windows-Programm als Standardanwendung: Das Einrichten fordert mehrere (drei) Schritte – hier der Zwischenschritt mit der Umleitung zu PlayOnLinux.

Ubuntu-Variante Zorin OS

Zurück zur Übersichtsseite…

106_Aufmacher

Auf der Suche nach Umsteiger-freundlichen Linux-Distributionen trifft man neuerdings häufiger auf das bislang kaum bekannte Zorin OS. Ich habe mir genauer angesehen, ob das System als ernste Alternative zu Ubuntu oder Linux Mint taugt.

Das System aus dem irischen Dublin will Windows-Anwender für sich gewinnen und lässt sich am Desktop einiges einfallen, um ein Windows-ähnliches Benutzererlebnis anzubieten. Neben einer sorgfältigen bis Detail-verliebten Kombination von Desktop-Komponenten, die im Prinzip allgemein für Gnome- oder KDE-Oberflächen verfügbar sind, gibt es auch ergänzende Eigenentwicklungen. Trotz allem bleibt die unverkennbare Basis ein Ubuntu 14.04 LTS mit bewährtem Installer, Ubuntu-Software-Center und typischer Gnome-Software wie der Systemüberwachung (gnome-system-monitor), den Systemeinstellungen (unity-control-center) oder dem Terminal (gnome-terminal).

„Core“-Edition und der Vorwurf der Abzocke

Mit dem Fokus auf „Oberflächliches“ muss sich Zorin OS Kritik gefallen lassen, zumal es unter http://zorin-os.com („Get it“) eine Option „Premium“ gibt, worunter dann „Ultimate“- und „Business“-Editionen für knapp 10 Euro angeboten werden. Das hat der Distribution einen „Abzocker“-Vorwurf eingebracht, denn diese Premium-Editionen bringen kaum zusätzliche exklusive Eigenentwicklungen mit („Zorin Background Plus“) und unterscheiden sich sonst nur durch zusätzliche Software-Pakete, die sich jeder kompetente Nutzer auch selbst zusammensuchen kann.

Da es aber auch die Option „Free“ gibt mit den Varianten „Core“, „Lite“ und „Educational“, ist es die freie Entscheidung des Nutzers, für Zorin zu bezahlen oder eben nicht. Außerdem raten die Zorin-Entwickler ausdrücklich, erst mit der kostenlosen „Core“-Edition die Kompatibilität des Rechners zu testen, bevor man für eine Premium-Edition tatsächlich Geld ausgibt.

Dieser Beitrag bezieht sich auf das kostenlose Zorin OS 9 „Core“. Die „Lite“-Version mit LXDE-Desktop ist nicht annähernd so attraktiv, und Attraktivität ist nun mal ein wesentlicher Aspekt bei Zorin. Wer für schwächere Hardware ein „Lite“-System sucht, ist mit einer offiziellen Ubuntu-Variante wie Xubuntu oder Lubuntu besser beraten.

Die kostenlosen Varianten finden Sie unter http://zorin-os.com/free.html. Der Download der „Core“-Edition umfasst 1,3 bis 1,4 GB (32 und 64 Bit).

Benutzung – Bedienung – Anpassung

Das Live-System startet erst gar nicht auf den Desktop, sondern bietet sofort den Install-Dialog, den Sie aber mit „Try Zorin“ (oder nach Umstellung auf Deutsch „Zorin ausprobieren“) auch übergehen können, um erst das System zu begutachten. Das Setup erfolgt mit Ubuntus Ubiquity-Installer und verläuft identisch mit einer Ubuntu-Installation. Das installierte Zorin bietet beim Start einen schick angepassten Grub2-Startbildschirm, der schon beim Booten andeutet, dass hier nicht an Farbe gespart wird.

Zorin-9-bootet
Schon beim Booten wird’s bunt: Zorin OS hat sich die Mühe gemacht, dem Bootloader ein freundliches Outfit zu verpassen.

Wesentliches Element am Desktop ist das Dock am unteren Bildschirmrand, das sich auch oben anbringen lässt, rechts und links nur theoretisch, weil sich das wichtige Indicator3-Applet mit Sitzungsmenü, Netzwerk, Lautstärke nur horizontal sinnvoll nutzen lässt. Bei diesem Dock handelt es sich um den Avant Window Navigator (AWN): Es vereint Taskleiste und pinbare Favoriten ähnlich wie Windows 7, zeigt die Indikatoren vergleichbar mit dem Windows-Systray, bietet ein Programm-Menü und weitere optionale Applets wie einen Desktop-Switcher.

Zorin-Menu
Zorin-Menü: Der Nutzer kann für das zentrale Dock diverse Menüs wählen. Das Zorin-Menü orientiert sich an Windows 7.

Die Anpassung von AWN erfolgt durch das Tool awn-settings, das am einfachsten durch Rechtsklick auf das Startmenü und „Dock Preferences“ geladen wird. Unter „Applets“ können Sie Plugins per Drag & Drop nach unten in die Zeile „Aktive Applets“ ziehen, die dann sofort an der betreffenden Stelle im Dock erscheinen. Umgekehrt ziehen Sie unnötige Applets mit der Maus einfach aus den „Aktiven Applets“ heraus.

Ein wichtiges Standard-Plugin nennt sich DockBarX, das als Taskleiste ähnliche Effekte bietet wie jene von Windows 7 – mit Aero-mäßiger Thumbnail-Vorschau laufender Tasks. Als Startmenü gibt es unter den „Applets“ einige Auswahl. Ganz klar am nächsten bei Windows ist hier das Zorin Menu mit Programmkategorien, den wichtigsten Medienordnern (Dokumente, Musik etc.), dem Kontrollzentrum („Systemsteuerung“) und einer Instant-Search zur Programmsuche.

Optik und Animationen zeugen von Liebe zum Detail: Selbst die Standardbilder für Benutzerkonten sind jenen von Windows nachempfunden. Und während Windows 8 den 3D-Taskswitcher mit der Tastenkombination Super-Tab (Win-Tab) abgeschafft hat, ist er hier wieder vertreten.

Der Compiz-Fenstermanager erlaubt über das bekannte Tool CCSM (CompizConfig-Settings Manager) zahlreiche weitere Animationseffekte und Fenstereinstellungen wie etwa das Einrasten von Fenstern, die an den Bildschirmrand gezogen werden.

Hardware-Voraussetzungen und Leistung

Für Zorin OS 9 „Core“ mit angepassten Gnome-Desktop 3.10.4 nennen die Entwickler als Mindestvoraussetzungen: 1 GHz-CPU, 512 MB RAM, 5 GB auf Festplatte. Das 64-Bit-System, das übrigens auch EFI-Firmware unterstützt, nimmt sich aber ab Start etwa 460 MB RAM, sodass hier 1 GB, besser 2 GB als realistischere Voraussetzung gelten dürfen. Der Speicherbedarf liegt damit in etwa bei jenem eines Standard-Ubuntu, während etwa ein Linux Mint mit 320 MB deutlich sparsamer ist. Die Bootzeiten von Zorin OS sind nicht überragend, aber etwas schneller als bei Ubuntu 14.04 und Linux Mint 17. Das laufende System arbeitet trotz mancher verspielter, aber insgesamt wohldosierter Animationen jederzeit reaktionsschnell und produziert keine unnötige CPU-Last.

Software und Eigenentwicklungen

Zorin bringt drei eigene Werkzeuge mit, die Sie im Menü unter „Systemwerkzeuge“ sowie „Internet“ finden: Der „Zorin Web Browser Manager“ unter „Internet“ installiert mit einem Klick den gewünschten Browser  nach. Vorinstalliert ist Firefox mit Flash, nachinstallierbar sind Chrome, Opera und Midori.

Der „Zorin Look Changer“ wechselt in der laufenden Sitzung zwischen den drei verschiedenen Themes „Windows 7“, „Windows XP“ und „Gnome 2“. Es empfiehlt sich, diese Entscheidung vor einer Anpassung des AWN-Docks zu treffen, da eine Theme-Umstellung das Dock wieder auf Standardeinstellungen zurücksetzt.

Der „Zorin Theme Changer“ bietet die Farbschemata „Light“ (hell), „Blue“ und „Dark“, wobei „Blue“ und „Dark“ mehr oder weniger identisch ausfallen.

Die Software-Ausstattung ist üppig und bringt unter anderem mit Libre Office, Empathy, Firefox, Thunderbird, Gimp, Shotwell, Gnome-Screenshot, Brasero, Openshot, Rhythmbox die üblichen Kandidaten mit. Als Dateimanager arbeitet Nautilus. Wine und sein Frontend PlayOnLinux sind ebenfalls Standard.

Das „Kontrollzentrum“ entspricht nahezu vollständig den Systemeinstellungen von Ubuntu. Lediglich das Tool Gufw zur „Firewall-Konfiguration“ ist hier zusätzlich an Bord.

„Zorin Theme Changer“: Hierbei handelt es sich nur um Farbschemata. Grundlegender ist der „Zorin Look Changer“.
„Zorin Theme Changer“: Hierbei handelt es sich nur um Farbschemata. Grundlegender ist der „Zorin Look Changer“.

Fazit: Ubuntu bleibt Ubuntu

Über das Bemühen, einem Linux einen Windows-Look zu verpassen, kann man geteilter Meinung sein. Sobald der Windows-Umsteiger den Dateimanager oder das Kontrollzentrum braucht, hat er ein Linux-Dateisystem statt Laufwerkbuchstaben und reduzierte Systemeinstellungen statt einer ausufernden Systemsteuerung vor sich. Insofern bleibt Zorin OS „oberflächlich“. Es ist kein Windows-ähnliches Linux, sondern ein ansehnliches Ubuntu mit gelungenem Bedienkonzept: Es ist anpassungsfähiger als das Ubuntu-Original und deutlich frischer als das konservative Linux Mint.

Zorin-Anmeldbildschirm
Zorin-Anmeldbildschirm

Zurück zur Übersichtsseite…

Hardware- und Systeminfos unter Linux

Zurück zur Übersichtsseite…

Wer von Windows kommt, sucht unter den meisten Linux-Distributionen vergeblich einen Geräte-Manager oder ein „Systeminfo“. Trotzdem ist es kein Problem, sich über die Hardware-Komponenten eines PCs zu informieren, ohne das Gehäuse zu öffnen.

Wie viel Speicher steckt im Rechner? Sind noch Bänke frei? Wird die CPU zu heiß? Unterstützt der Prozessor Hardware-Virtualisierung? Solche Fragen beantworten unter Linux typischer Weise spezielle Kommandozeilen-Tools. Daneben gibt es auch grafische Alternativen an Bord oder weitere, die Sie manuell nachladen können.

Eingebaute und nachinstallierbare Info-Zentralen

Die Ausstattung an Info-Software unterscheidet sich bei den aktuell populären Distributionen deutlich:

Auf Distributionen mit KDE-Desktop ist in der Regel das „KDE Info Center“ vorinstalliert. Dieses bietet auf der Seite der grafischen Tools den benutzerfreundlichsten Einblick in die Rechnerausstattung. Das Modul „Device Information“ zeigt alle angeschlossenen Peripheriegeräte, Schnittstellen und Ressourcen, unter „Memory“ erscheint die stets aktualisierte Speicherauslastung. Das kinfocenter lässt sich auch unter anderen Desktop-Umgebungen wie Gnome oder Unity mit
sudo apt-get install kinfocenter
nachrüsten, zieht dabei aber circa 150 MB KDE-Bibliotheken mit sich.

KDE Info Center: Auf Distributionen mit KDE-Desktop ist diese grafische Informationszentrale in der Regel vorinstalliert.
KDE Info Center: Auf Distributionen mit KDE-Desktop ist diese grafische Informationszentrale in der Regel vorinstalliert.

Open Suse bietet unter „Systemeinstellungen -> Yast -> Administrator Settings“ ein umfangreiches grafisches Kontrollzentrum, das unter anderem auch den Punkt „Hardware-Informationen“ enthält. Die dort nach kurzer Überprüfung angezeigten Details sind ausführlich, allerdings nicht auf das Wesentliche zu filtern. Einen schnellen Überblick können diese „Hardware-Informationen“ nicht leisten, und neben unnötigen Detailangaben fehlen andererseits wesentliche Informationen.

Linux Mint hat das grafische Tool hardinfo („System Profiler und Benchmark“) an Bord. Es ist im Menü unter den „Systemtools“ zu finden. Das Tool hat links eine Kategorienspalte, zeigt im rechten Fenster die zugehörigen Werte und generiert auf Wunsch auch einen HTML-Export. Hardinfo ist übersichtlich, klickfreundlich und zeigt wesentliche Infos. Aber auch hier fehlen wichtige Angaben, während andererseits etwa die unsortierten Detailinfos über diverse „Memory“-Spezifika die wenigsten Nutzer ernsthaft interessieren dürften.

Ubuntu gibt standardmäßig sehr wenig über Hardware und System preis: Was hier unter „Systemeinstellungen -> Informationen“ angezeigt wird, kommt über Gesamtspeicher, CPU und die Angabe der Ubuntu-Version nicht hinaus. Wer ein grafisches Übersichtsprogramm vermisst, kann mit
sudo apt-get install hardinfo
das bereits genannte Tool hardinfo nachinstallieren.

Ein empfehlenswertes grafisches Tool ist ferner i-nex, das Sie unter https://launchpad.net/i-nex als DEB-Paket erhalten und mit Doppelklick unter Ubuntu installieren und danach verwenden können. Das Programm ähnelt CPU-Z für Windows, ist deutlich übersichtlicher und präziser als hardinfo, beschränkt sich aber ausschließlich auf die Hardware-Komponenten.

i-nex
Ganz auf Hardware spezialisiert: i-nex ist das übersichtlichste und präziseste grafische Werkzeug zur Hardware-seitigen Rechner-Inventur.

Die Kommandozeilen-Tools

Die meisten grafischen Tools gießen nur die Ausgabe von Konsolen-Kommandos in eine hübschere grafische Form. Daher suchen und filtern Sie die gewünschten Daten letztlich übersichtlicher und zielsicherer, wenn Sie sich gleich mit Konsolenwerkzeuge wie dmidecode, lspci, lsusb, lshw, hwinfo und sensors anfreunden und häufiger benötigte Infos als Script oder als Alias-Abkürzungen für das Terminal ablegen.

Sämtliche PCI-Ports und USB-Geräte zeigen die spezialisierten Tools lspci und lsusb, wobei Sie Gesprächigkeit der Ausgabe durch die Parameter „-v“ und „-vv“ noch erhöhen können. Eine relativ knappen allgemeinen Überblick verschaffen Sie sich mit dem Befehl hwinfo oder:
hwinfo –short
Sie erhalten die wichtigsten Infos zu CPU, Grafikkarte, Festplatte(n), Netzwerk-Adapter und Festplatten-Controller. Deutlich präziser als bei hwininfo wird es mit dem Hardware-Lister lshw, der auf den meisten Distributionen vorinstalliert ist. Nach
sudo lshw –short
sehen Sie unter anderem für die Klasse „memory“ die belegten und die nicht belegten RAM-Slots sowie die Kapazität der einzelnen Speichermodule. Eine ganz detaillierte Aufstellung der Speicherbestückung liefert dmidecode mit dem dafür vorgesehenen Schalter „-t 17“:
sudo dmidecode -t 17
Hier erhalten Sie für jedes „Memory Device“ eine exakte Info über Größe, Typ und Geschwindigkeit. Die zahlreichen Schalter und Typenschlüssel von dmidecode können Sie mit man dmidecode abfragen.

Inxi: Dieses Kommandozeilen-Tool ist eine Info-Perle für alle, die keinen Text-Output im Terminal scheuen. Sie erhalten das Deb-Installationspaket für Ubuntu mit
wget ftp://cathbard.com/binary/inxi*.deb
und können es dann per Doppelklick installieren. Die Terminal-Eingabe
inxi –v7 –c12
wirft dann alle wesentlichen Hardware-Infos aus. „v7“ steht für den höchsten Verbose-Level, also für möglichst umfangreiche Ausgabe, „-c12“ ist nur eine Farbcodierung zur besseren Lesbarkeit. Selbstverständlich kann inxi auch gezielt Einzelinfos abrufen, etwa inxi –S zur detaillierten Anzeige des Betriebssystems oder inxi –s zur Abfrage der Temperatursensoren. man inxi zeigt die ganze, nicht ganz triviale Schalterpalette des Tools. Zur Abfrage der Temperatur nutzt inxi das Tool lm-sensors, das daher ergänzend installiert werden sollte (siehe unten).

Sensors kann die Temperatur von Prozessor und Hauptplatine anzeigen. Es benötigt allerdings die vorherige Installation von lm-sensors (Linux-Monitoring Sensors). Unter Ubuntu richten Sie es mit diesem Befehl ein:
sudo apt-get install lm_sensors
Danach konfigurieren Sie das Tool mit
sudo sensors-detect
ein, wobei Sie alle Fragen bejahen. Nach dem Scan nach vorhandenen Sensoren erhalten Sie dann durch die Eingabe sensors oder mit dem Programm inxi die aktuellen Temperatur-Infos.

Ausgabe des Kommandos sensors: Das Tool nennt auch gleich kritische Vergleichswerte, so dass Sie die aktuellen Werte beurteilen können.
Ausgabe des Kommandos sensors: Das Tool nennt auch gleich kritische Vergleichswerte, so dass Sie die aktuellen Werte beurteilen können.

Zurück zur Übersichtsseite…

Surfsystem Porteus (mobil und sicher)

Das Projekt Porteus ist allererste Wahl, wenn Sie ein transportables, dabei überragend schnelles und konfektionierbares Surfsystem suchen. Damit sind Sie jederzeit im Internet – unabhängig von Ihrem eigentlichen Betriebssystem.

Das noch relativ junge Porteus verdankt den Hauptteil seines Namen der „Portability“ und setzt dafür auf minimalen Footprint sowohl im Speicher wie auf dem Datenträger. Es überzeugt aber nicht allein durch Schnelligkeit, sondern durch Flexibilität und Erweiterbarkeit. Porteus ist selbst auf optischen Medien wie CDs und DVDs flott unterwegs. Neben der Desktop-Version gibt es auch noch ein Porteus mit Browser im Kiosk-Modus, das sich ideal für öffentliche Surfstationen eignet.

0_Aufmacher_Porteus

Die Flexibilität der Desktop-Variante

Das Einrichten einer Porteus-Desktop-Variante auf USB-Stick beginnt im Web auf http://build.porteus.org/. Hier können Sie unter fünf Oberflächen auswählen, ferner statt dem Firefox einen anderen Browser (Chrome, Opera) sowie einige Standardprogramme; aber auch über Tastaturlayout und Benutzerkennwörter können Sie hier entscheiden. Somit erhalten Sie schon mit dem Download ein individualisiertes Live-System, das sich dann mit den üblichen Werkzeugen wie Unetbootin auf einen USB-Stick befördern lässt.

Eine weitere Anpassung des Live-Systems ist etwas komplizierter, in vielen Fällen aber wünschenswert: Eventuell möchten Sie zusätzliche Software einbauen, dafür sorgen, dass der Browser seine Lesezeichen synchronisiert oder auch nur die Oberfläche anpassen. Änderungen sind grundsätzlich nur möglich, wenn im Bootmenü beim Start der erste Eintrag „Graphics mode“ gewählt wurde, in den anderen Modi „Always fresh“ sowie „Copy To RAM“ werden alle Systemänderungen grundsätzlich verworfen.

Aber auch der „Graphics mode“ speichert Änderungen nur dann, wenn Sie das explizit im System anfordern: Dazu gehen Sie mit „System -> Porteus Settings Centre“ und dem Diskettensymbol zur Seite „Porteus changes“ und sichern dort den aktuellen Zustand der Sitzung mit dem Butten unter „Porteus Save Session“. Von den jetzt angebotenen Optionen wählen Sie am besten „Save to module“ und klicken bei der nachfolgenden Ordnerauswahl einfach auf „OK“. Damit landet ein neues Modul „changes-[Datum].xzm“ im „modules“-Standardordner. Alle hier enthaltenen XZM-Module lädt das System beim Start automatisch. Daher ist es am einfachsten, die XZM-Module einfach hierher zu verschieben.

Mit dem USM (Unified Slackware Package Manager) können Sie Pakete nachinstallieren, wobei beim Download das Häkchen „Convert to modules“ aktiviert werden muss, um die die txz-Downloads in Porteus-Module zu konvertieren. Unter /tmp/usm lässt sich das XZM-Modul dann mit „Open with „Activate“ einbinden und das Programm steht dann im Hauptmenü zur Verfügung.

Insgesamt sind die Desktop-Varianten von Porteus komplex und flexibel und bieten mit dem Rootcopy-Verzeichnis, mit „Magic Folders“ und der Option, Änderungen auf FAT und NTFS zu schreiben, noch weitere Raffinessen der Anpassung. Kurzanleitungen dazu finden Sie unter www.porteus.org/tutorials. Diese Möglichkeiten eignen sich aber nur für fortgeschrittene Nutzer mit Linux-Erfahrung.

Noch ein wichtiger Tipp: Das „Porteus Settings Centre“ ist fundamentale Anlaufstation für Spracheinstellungen, Tastaturlayout und generell für Systemänderungen. Für solchen Eingriff brauchen Sie aber Administrator-Rechte (root-Rechte): Das Standardpasswort für root lautet „toor“, der Standard-User ist „guest“ mit Kennwort „guest“.

Nachträgliche Systemanpassungen: Das Live-System kann Änderungen und Installationen in Modulen oder externen Dateien speichern, die es dann bei jedem Start lädt.
Nachträgliche Systemanpassungen: Das Live-System kann Änderungen und Installationen in Modulen oder externen Dateien speichern, die es dann bei jedem Start lädt.

Kiosk-Variante: Nur Surfen ist erlaubt

Die Kiosk-Variante ist das technisch eindeutig einfachere Porteus mit einem Firefox im Kiosk-Modus. Dies bedeutet, dass dieses System ausschließlich das Surfen mit dem Firefox erlaubt. Da das System später keinerlei Eingriff ermöglicht, müssen alle Browser- und Sicherheitseinstellungen vorab erledigt werden.

Um die Kiosk-Variante von Porteus auf USB-Stick installieren, holen Sie sich das ISO von http://porteus-kiosk.org. Das Hybrid-ISO lässt sich mit den üblichen Werkzeugen wie Unetbootin nicht kopieren, sondern muss unter Windows mit dem Win32 Diskimager, unter Linux mit dem Kommandozeilentool  dd übertragen werden. Wenn Sie unter Windows Vmware installiert haben, können Sie sich diesen Zwischenschritt aber auch sparen, indem Sie das Porteus-ISO als virtuelle Maschine booten und das eigentliche Zielsystem in der Virtualisierungs-Software auf dem USB-Datenträger einrichten.

Nach dem Booten des Original-ISOs beginnt die Konfiguration des eigentlichen Zielsystems, das mit einem Schritt-für-Schritt-Assistenten sehr komfortabel gelingt. Hier geht es zum Beispiel um die Entscheidung Ethernet oder WLAN, Flash Player und Java sowie um diverse Firefox-Einstellungen wie etwa die Start-URL. Der Assistent schreibt dann das maßgeschneiderte System auf den USB-Datenträger. Selbst mit einigen Zusatzmodulen fordert Porteus in dieser Kiosk-Variante kaum mehr als 100 MB Platz auf dem Stick.

Im Kiosk-Modus startet ausschließlich Firefox. Der Browser läuft im Vollbildmodus und zeigt keine Menüs und Einstellungen. Es gibt keinerlei Zugriff auf das System, und auch Firefox speichert keine Infos wie Verlauf oder Kennwörter. Beendet wird das System einfach durch Abschalten des Geräts.

Kiosk-Modus: In dieser Variante wird das System vorab komplett von außen konfiguriert (im Bild ein kleiner Abschnitt des Assistenten). Im laufenden System gibt’s nur Firefox pur.
Kiosk-Modus: In dieser Variante wird das System vorab komplett von außen konfiguriert (im Bild ein kleiner Abschnitt des Assistenten). Im laufenden System gibt’s nur Firefox pur.

 

Scripten mit Bash

Die Bash-Shell ist unter Linux ein unverzichtbares interaktives Werkzeug. Darüber hinaus kann sie durch Shell-Scripts Aufgaben lösen und Abläufe automatisieren. Dieser kleine Beitrag kann die Möglichkeiten nur andeuten und zur Eigeninitiative motivieren.

Der folgende kleine Crash-Kurs fängt nicht bei null an, sondern setzt grundlegende Kenntnis der interaktiven Shell-Benutzung bereits voraus. Er zeigt Regeln und Kniffe bei der direkten, interaktiven Arbeit im Terminal und legt nachfolgend die Basis für komplexere Shell-Scripts.

Interne und externe Befehle

Die Shell muss bei jedem Befehl unterscheiden, ob es sich um ein externes Programm oder einen internen Befehl der Bash-Shell handelt. So ist „gedit“, also der Texteditor, ebenso ein externes Programm wie „ls“, das Programm zum Auflisten von Dateien. „cd“ hingegen, zuständig für den Verzeichniswechsel, werden Sie auf der Festplatte nicht finden, da es sich um einen internen Bash-Befehl handelt. Solange externe Programme in den Standardpfaden wie /bin und /usr/bin liegen, findet sie die Shell automatisch, sodass Sie sich um die Unterscheidung „intern – extern“ nicht groß kümmern müssen. Dennoch ist es wichtig zu wissen, dass externe Programme eventuell eine komplette Pfadangabe oder den vorherigen Wechsel in ihr Verzeichnis benötigen, um fehlerfrei zu starten.
Aufbau einer Kommandozeile
Eine Kommandozeile besteht aus einem oder mehreren Wörtern, die durch Leerzeichen getrennt sind. Das erste Wort ist immer das maßgebliche interne oder externe Programm. Im simpelsten Fall genügt dieses eine Wort – etwa „firefox“ oder „ls“. Häufig folgen aber weitere Argumente wie etwa Dateiangaben oder auch Optionen des jeweiligen Programms: So nutzt „firefox –safe-mode“ die eingebaute Browser-Option, im abgesicherten Modus ohne Erweiterungen zu starten. Jede derartige Programm-Option muss mit genauester Kenntnis der Schreibweise eingegeben werden, andernfalls wird sie vom Programm bestenfalls ignoriert oder als fehlerhaft bemängelt.
In komplexeren Beispielen kommen zusätzliche Befehlsverkettungen zum Einsatz:
free | awk '/Speicher:/ { print "Speicher frei (%): " int($4/$2*100)}'
Der Grundbefehl „free“ ermittelt die aktuelle Speichersituation – aber relativ unübersichtlich. Der dann folgende (mit den Tasten Alt Gr-| erzeugte) Längstrich ist das fundamentale Signal für Befehlsverkettungen. In diesem Fall wird die unübersichtliche Ausgabe von „free“ an ein zweites Programm „awk“ übergeben, das zunächst die Zeile mit „Speicher:“ herausfiltert und dort wiederum das zweite und vierte Textfeld ($2 und $4). „awk“ kann die gefundenen Angaben auch gleich verrechnen und mit erklärendem Text ausgeben.

0_Syntax-Highlighting
Hilfreich bis unentbehrlich: Ein guter Script-Editor mit Syntax-Highlighting (hier gedit) macht die Arbeit einfacher.

Zwischen interaktiver Nutzung und Scripting

Der Übergang zwischen interaktiver Nutzung und Scripting ist fließend. Sobald Sie beginnen, in der automatisch eingelesenen Standarddatei .bashrc (im Home-Verzeichnis) Änderungen vorzunehmen, sind Sie auf dem Weg zum Scripten. Typische erste Anpassungen in der .bashrc sind Befehlsabkürzungen in Form von Alias-Definitionen. Beachten Sie, dass Änderungen der Datei bashrc immer erst für Terminals gelten, die nach der Änderung gestartet werden. So verhilft etwa dieses Alias
alias d='cd $HOME/Desktop'
dazu, mit der Eingabe „d“ schnell zum Desktop zu wechseln. Achtung: Der Desktop-Ordner heißt bei einigen Linux-Distributionen auch „Schreibtisch“ oder „Arbeitsfläche“.
Folgendes Alias
alias 2d='cp --target-directory=$HOME/Desktop $1'
dient einer schnellen Kopie zum Desktop: Nach der Eingabe „2d“ sollte ein Dateiname folgen, den das Alias mit der Variablen „$1“ verarbeitet und die jeweilige Datei zum Desktop kopiert.
Unentbehrlich ist mittelfristig sicher ein Alias, das die bashrc-Datei in einen Editor lädt:
alias ini='gedit ~/.bashrc & disown'
„& disown“ ist nicht notwendig, sorgt aber dafür, dass der Editor unabhängig vom Terminal gestartet wird. Ein ähnliches einfaches Beispiel ist der Aufruf des grafischen Dateimanagers im aktuellen Verzeichnis:
alias x='nautilus $PWD & disown'
Ein Alias kann aber mehr als nur ein einzeiliges Kommando aufnehmen, wobei Sie die Befehle mit einem Semikolon trennen:
alias env='env | sort;echo "";echo -e ${PATH//:/\\n}'
Nach der Eingabe „env“ werden hier die Umgebungsvariablen sortiert angezeigt und nach einer Leerzeile noch einmal der Systempfad in gut lesbarer Form mit je einem Eintrag pro Zeile ausgegeben.
Ein weiteres Beispiel ermittelt mit „extip“ die externe IP-Adresse, wobei es einen beliebten Internetdienst befragt. Das ebenfalls benutzte Tool Curl ist meist Systemstandard, und ist – wo nicht – schnell nachinstalliert:
alias extip='echo -n "Externe IP = ";curl http://ifconfig.me'
Sobald Aliases mehr als drei, vier Kommandos enthalten und mit den trennenden Strichpunkten schwer lesbar werden, lohnt sich eine andere Form, nämlich die einer Funktion. Auch Funktionen, jedenfalls die allerwichtigsten, können Sie in der .bashrc unterbringen. Die Syntaxbasis einer Funktion sieht wie folgt aus:
function Name() {
[Befehle…]
}

Auch Funktionen sind im einfachsten Fall simple Befehlsstapel, nachfolgend etwa, um einige Systeminformationen abzufragen:
function ver() {
echo -n "System: "; uname -o
echo -n "Kernel: "; uname -r
echo -n "CPU : "; uname -p
echo -n "Name : "; uname -n
gnome-shell --version
}

Ein etwas komplexeres Beispiel zeigt die Timer-Funktion in der Abbildung auf dieser Seite, die eine Stoppuhr auslöst, welche mit beliebiger Taste beendet wird. Die gemessene Zeitdauer wird dann am Prompt exakt angezeigt.
Die weitere Beispielfunktion „xd“ eignet sich ebenfalls für die Datei-bashrc, weil sie den interaktiven Komfort der Kommandozeile erhöht: Sie macht bereits von einfachen Kontrollstrukturen Gebrauch, in diesem Fall von einer einfachen Fallunterscheidung mit If – Then – Else. Beim Verzeichniswechsel mit „xd“ spielt es keine Rolle, ob ein Ordnerpfad oder ein Dateipfad nachfolgt, denn im zweiten Fall zieht sich die Funktion einfach den Ordner aus dem Dateipfad. Das ist etwa praktisch, wenn Sie Dateiobjekt aus dem Dateimanager in das Terminal ziehen und dann in dessen Ordner wechseln wollen. Das der Funktion nachgestellte Alias „cd=‘xd‘“ macht das intelligentere „xd“ zum Standard.

Einfache Stoppuhr: Die Funktion „timer“ speichert die Startzeit. Nach beliebigem Tastendruck errechnet sie die exakte Differenz zur Endzeit und zeigt das Ergebnis an.
Einfache Stoppuhr: Die Funktion „timer“ speichert die Startzeit. Nach beliebigem Tastendruck errechnet sie die exakte Differenz zur Endzeit und zeigt das Ergebnis an.

Selbständige Shell-Scripts

Die bisher genannten Aliases der Datei bashrc oder auch Funktionen innerhalb dieser Datei bedeuten zwar bereits Scripting, waren aber immer noch auf den interaktiven Einsatz am Terminal-Prompt ausgerichtet. Es gibt aber gute Gründe, ein Bash-Script als unabhängige und selbständige Datei abzulegen: Nur so ist es möglich, ein Script per Mausklick aus der grafischen Oberfläche zu starten oder automatisch beim Logon sowie als periodischen Cron-Job auszuführen. Außerdem ist es nicht sinnvoll, umfangreiche, aber nur gelegentlich genutzte Scripts allesamt stets in der bashrc-Datei mitzuschleppen.
Bash-Scripts sind wie die bereits genutzte bashrc einfache Textdateien, die Sie mit einem Editor Ihrer Wahl erstellen und bearbeiten. Der Editor sollte aber Fähigkeiten wie Syntax-Highlighting mitbringen, was die Übersicht wesentlich verbessert. Der empfehlenswerte Editor gedit zeigt unter „Ansicht -> Hervorhebungsmodus -> Skripte“ die Option „sh“, die Sie für Shell-Scripts wählen sollten. Auch die Farbschemata unter „Bearbeiten -> Einstellungen -> Schrift und Farben“ sind beim Scripten wichtiger als beim Tippen von Text.
Ein Bash-Script beginnt immer mit dieser Zeile:
#!/bin/bash
Das Zeichen „#“ leitet eigentlich einen Kommentar ein, also eine Zeile, die die Shell ignorieren soll. In der Kombination „#!“ gibt sie jedoch die zu verwendende Shell an. Da nicht auf allen Systemen die Bash-Shell Standard sein muss, erfährt das System hier, welches Programm es starten soll. Das setzt natürlich voraus, dass /bin/bash tatsächlich existiert, was aber in aller Regel der Fall ist.
Für einen ersten Versuch erstellen Sie ein ganz kurzes Script test.sh mit folgendem Inhalt:
#!/bin/bash
for i in *.*
do mv $i $(echo $i | tr ':' '-')
done

Das Beispiel-Script ersetzt bei allen Dateien des aktuellen Verzeichnisses eventuelle Doppelpunkte im Namen durch Bindestriche. Das ist eine nützliche Hilfe, wenn Sie Dateien von Linux nach Windows kopieren wollen. Für eine vollständigere Ersetzung problematischer Zeichen müssen Sie nur die dritte Script-Zeile für weitere erforderliche Zeichen wiederholen.
Ein guter Ort für solche speziellere Scripts ist etwa ein Ordner /Scripts im Home-Verzeichnis. Öffnen Sie dann ein Terminal-Fenster, und geben Sie
chmod u+x ~/Scripts/test.sh
ein, um das Script für den aktuellen Benutzer „Ausführbar“ zu machen. Alternativ geht das auch im Dateimanager über „Eigenschaften -> Zugriffsrechte -> Datei als Programm ausführen“. Gehen Sie dann mit „cd“ in einen Ordner, der Dateien mit problematischen Zeichen enthält, und starten Sie mit
sh ~/Scripts/test.sh
das Script. Die Variable „$i“ nimmt innerhalb der do-Schleife nacheinander jeweils den Wert des nächsten Dateinamens im aktuellen Verzeichnis an. „echo $i“ übergibt den Namen an das Translate-Tool „tr“.
Ein weiteres einfaches Script verbessert die Benutzung des gnome-search-tools, indem es einen übergebenen Suchbegriff und das aktuelle Verzeichnis direkt an das Tool weitergibt. Wird das Script an der grafischen Oberfläche oder auch im Terminal ohne Suchbegriff gestartet (also ohne Parameter $1), dann lädt das Tool ganz normal mit dem Home-Verzeichnis als Vorgabe. Eine typische Eingabe am Prompt wäre dann:
sh ~/Scripts/search Shakespeare
Den Aufrufkomfort externer Shell-Scripts sollten Sie bei allen wichtigeren Exemplaren durch Aliases weiter und deutlich verbessern. Mit einem Alias „search=sh ~/Scripts/search‘‘ verkürzt sich die Eingabe auf
search Shakespeare
Script-Start per GUI: Wenn Sie Shell-Scripts über die grafische Oberfläche per Doppelklick starten wollen, genügt es nicht, den Scripts das Attribut „Ausführbar“ zuzuweisen. Zusätzlich müssen Sie diese Startoption im Dconf-Editor oder – meist einfacher – im Dateimanager erlauben. Bei Nautilus (Ubuntu) und Nemo (Mint) finden Sie die Option unter „Bearbeiten -> Einstellungen -> Verhalten -> Ausführbare Textdateien“.

Suchbegriff und aktuellen Pfad direkt an das grafische Gnome-Search-Tool übergeben: Wird das Script ohne Parameter aufgerufen, setzt das Script lediglich den Standardpfad /home.
Suchbegriff und aktuellen Pfad direkt an das grafische Gnome-Search-Tool übergeben: Wird das Script ohne Parameter aufgerufen, setzt das Script lediglich den Standardpfad /home.

Wichtige Tipps zur Ablaufkontrolle

Einige kleinere IF-Entscheidungen kamen bereits zu Wort. Es gibt zahlreiche Parameter und Operatoren für IF-Fallunterscheidungen. Ein wichtiger Parameter „-e“
if [ -e ~/Schreibtisch ]; then
cd ~/Schreibtisch
fi

überprüft die Existenz eines Dateiobjekts. Der Parameter „-n“ stellt fest, ob die nachfolgend genannte Variable existiert („not empty“ ist):
if [ -n “$var“ ]; then echo “Existiert“; fi
Dies ist auch von besonderer Bedeutung, wenn Sie die Übergabeparameter an ein Script („$1“, „$2“ etc.) auswerten müssen. Viele weitere Vergleich-Operatoren müssen Sie bei Bedarf im Web recherchieren. Wichtig zu wissen ist es, dass die Operatoren „-eq“ (gleich), „-ne“ (ungleich) nur bei Integer-Zahlen funktionieren, während Sie für den Textvergleich „=“ (gleich) und „!=“ (ungleich) verwenden müssen:
if [ “X“ = “Y“ ]…
Diese Zeile ist ebenso korrekt wie folgende:
if [ “21“ –eq “5“ ]…
Schleifenkonstruktionen mit While, Until (meist entbehrlich) und For haben entweder eine genau bezifferbare Anzahl der Durchläufe oder warten auf ein bestimmtes Ereignis (etwa ein Textinhalt, Dateiname), das die Schleife beendet. Eindeutig bezifferbar, ohne dass Sie das selbst absehen oder programmieren müssten, ist etwa die Anzahl der Dateien in folgender Schleife:
for dat in `find /home -name "*.png" -type f`
do echo $dat
done

Dasselbe gilt für das Einlesen und Analysieren einer Textdatei mit
while read line; …
bis zum Ende der Datei. In eher selteneren Fällen sind genau bezifferbare Schleifendurchläufe folgender Sorte die richtige Wahl:
for i in {1..255}; do ping –c1 192.168.0.$i; done
Viel häufiger ist es erforderlich, in der Schleife bei jedem Durchlauf eine Variable zu neu aktualisieren, die dann bei einem bestimmten Wert die Schleife stoppt:
while [ „$name“ != „LinuxWelt“ ]; …
Noch pragmatischer kann es sein, eine Schleife etwa mit „while :“ ohne Bedingung endlos laufen zu lassen und beim entscheidenden Ereignis direkt im Schleifencode mit dem Schlüsselwort „break“ abzuspringen.

Basis-Script für eine Textdatei-Auswertung: Die While-Schleife liest Zeile für Zeile einer übergebenen Datei ein und zeigt sie in diesem Fall lediglich mit Zeilenummer an.
Basis-Script für eine Textdatei-Auswertung: Die While-Schleife liest Zeile für Zeile einer übergebenen Datei ein und zeigt sie in diesem Fall lediglich mit Zeilenummer an.

————————————————————————–
Empfohlene Quellen für Bash und Scripting

GNU-Shell Bash (deutsch): www-user.tu-chemnitz.de/~hot/unix_linux_werkzeugkasten/bash.html

Shell-Programmierung (deutsch): http://openbook.galileocomputing.de/shell_programmierung/

Advanced Bash-Scripting Guide (englisch): http://tldp.org/LDP/abs/html/index.html

————————————————————————–

Anhang 1: Informativer und cooler Prompt

Manche fundamentale Info müssen Sie gar nicht erst explizit erfragen, sondern können sich diese standardmäßig am Terminal-Prompt anzeigen lassen. Möglich ist hier im Prinzip alles, weil die Bash-Shell mit dem „PROMPT_COMMAND“ eine interne Funktion vorsieht, die vor jeder Prompt-Darstellung aufgerufen wird. Daher können Sie in einer selbstgestrickten Funktion „promptcmd“ alles abfragen, was Sie Echtzeit-aktuell am Prompt angezeigt haben wollen. Die Abbildung zeigt den passenden Abschnitt in der Datei bashrc und darunter das Ergebnis, wie es sich im Terminal auswirkt.

Cooler-Prompt

Anhang 2: Grafische Dialoge für Bash-Scripts

In verbreiteten Distributionen wie Ubuntu und Linux Mint ist ein Programm für grafische Dialoge in der Regel vorinstalliert. Geben Sie am Terminal den Befehl dialog ein, um sich dieser Tatsache zu versichern. Sie erhalten eine Reihe von Unterfunktionen angezeigt wie „inputbox“, „msgbox“ oder „yesno“. Den ganz großen Charme versprühen diese Dialoge nicht, aber gelegentlich ist der Mausklick doch angenehmer als eine Texteingabe (mit „read“). Das im nachfolgenden Bild abgebildete Beispiel soll einige Möglichkeiten andeuten: In der Inputbox wird ein Name abgefragt, danach folgt eine Yes-No-Entscheidung, deren Ergebnis schließlich mit einer Notify-Meldung quittiert wird.

GUI

Zurück zur Linux-Übersichtsseite…