Schlagwort-Archive: Linux

Bash: Filterkommandos

Die Filterbefehle Grep, Awk, Xargs & Co sind unentbehrlich, um den Textoutput von Terminalbefehlen zielsicher zu filtern. Der Beitrag erklärt die wichtigsten Filter und die Prinzipien der Benutzung.

Grep: Der horizontale Zeilenfilter

Grep ist der häufigste Textfilter, um eine eventuell seitenlange Liste auf die relevante(n) Zeile(n) abzukürzen. Grep ist relativ eingängig, weil man einfach den Textstring angibt, den die benötigten Zeilen enthalten müssen (oder nicht enthalten dürfen).

Im einfachsten Fall geht es im interaktiven Terminal nur darum, die Ausgabe übersichtlich zu halten. So zeigt etwa der mount-Befehl auf Ubuntu-Systemen mit zahlreichen Snaps überwiegend Mountpunkte, die für den Benutzer irrelevant sind. Der Befehl

mount | grep "/dev/sd"

verkürzt auf die physischen Laufwerke. In manchen Fällen ist es sinnvoll, den Filter mit „-v“ umzudrehen, um nur die Zeilen zu erhalten, wo der String nicht vorkommt:

apt list --installed | grep -v "automatisch"

Dies zeigt alle installierten Software-Pakete, die manuell nachinstalliert wurden, also nicht zum „automatisch“ mitgelieferten Umfang gehören.

Für Scripts ist es oft erforderlich, genau eine einzige Ausgabezeile eines Standardbefehls auszuwerten. Der Suchstring muss dann entsprechend eindeutig ausfallen:

free -m | grep "Speicher:"

Die weitere Auswertung der verbleibenden Zeile kann dann das Werkzeug Awk übernehmen (siehe unten). Für Scripts ist ferner die Tatsache wichtig, dass Grep den Errorlevel „1“ zurückmeldet (abzufragen mit „$?“), wenn der Textstring nicht gefunden wird:

echo $file | grep -i ".7z"
if [ $? -eq 0 ] then …

Im Prinzip eignet sich Grep auch für die Textrecherche in vielen Dateien. Das Kommando

grep -r "Bunsenlabs" .

durchsucht ab dem aktuellen Verzeichnis rekursiv alle Dateien nach dem Suchstring. Da es sich aber um reine Textdateien handeln muss, wenn die Ausgabe lesbar sein soll, bleibt der Nutzwert von Grep als Desktopsuche begrenzt. Textprofis werden dafür eher zu Recoll oder Docfetcher greifen. Die Parameter „–after-context=“ und „–before-context=“, die auf Wunsch Zeilen nach und vor dem Suchtreffer ausgeben, zielen ebenfalls auf solche Textrecherche und seien hier zumindest erwähnt.

Hinweis: Die Varianten Egrep, Fgrep, Rgrep bleiben hier unberücksichtigt. Sie sind allesamt über Grep-Schalter zu erreichen.

Grep macht Datenfluten übersichtlich: Hier kontrolliert der String „deleting“, was ein rsync-Befehl bei tatsächlicher Ausführung löschen würde.

Sort: Zeilenreihenfolge umstellen

Sort ist ein Filter, der die Datenmenge insgesamt unverändert lässt (Ausnahme Schalter „-u“). Das Sortieren kann aber die Daten in völlig neue Zusammenhänge setzen, die besseren Überblick und schnelle Auswertung ermöglichen.

Sort sortiert die Ausgaben anderer Befehle alphabetisch (Standard) oder numerisch (Schalter „-n“), bei Bedarf auch nach der gewünschten Spalte (Schalter „-k“). Vor allem die Sortierung von Listen nach einer beliebigen Spalte bringt rückt Informationen zusammen, die aus den ursprünglichen Daten nie ersichtlich wären: Der Befehl tree -isa listet alle Dateien unterhalb des aktuellen Verzeichnisses mit Bytezahl auf. Mit

tree -isa |sort -k2 -n

wird die Liste numerisch („-n“) nach dieser Größenangabe sortiert, sodass die größten Dateien am Ende erscheinen. Sortiert werden muss – etwas irritierend – nach Spalte 2, weil die beginnende Klammer „[ “ als erste Spalte zählt.

Als weiteres Beispiel sei der Befehl ps –A angeführt, der alle laufenden Prozesse zeigt. Die Ausgabe ist standardmäßig nach der PID (Prozess-ID) sortiert, was bei der Suche nach einem bestimmten Programm unübersichtlich ist. Sort macht daraus mit

ps –A | sort –k4

eine alphabetische Liste:

Sort kann nicht nur nach einer bestimmten Spalte sortieren („-k“), sondern dies auch dort, wo ungewöhnliche Spalten- und Feldbegrenzer vorliegen (Schalter „-t“). Typisch ist etwa das Semikolon in CSV-Dateien:

cat Buchungen.csv | sort -t ";" -n -k7

Wenn Spalte 7 die Buchungsbeträge enthält, wird die komplette Tabelle numerisch nach diesen Werten sortiert.

Mit Schalter „-u“, der ausschließlich horizontal und zeilenbezogen arbeitet, filtert Sort bei der Ausgabe langer Listen oder Dateien doppelte, identische Zeilen weg:

cat .bash_history | sort -u

Wer diesen Räumdienst direkt in der Originaldatei übernehmen will, nutzt am besten Sponge:

cat .bash_history | sort -u | sponge

Dies erspart den lästigen Umweg über eine sekundäre, temporäre Datei.

Hinweis Uniq: „sort -u“ macht das kleine Hilfsprogramm Uniq weitgehend überflüssig. Der Mehrwert gegenüber „sort -u“ liegt allenfalls bei der Analyse, zumal Uniq grundsätzlich nur funktioniert, wenn ein Sort-Filter vorangestellt wird:

cat .bash_history | sort | uniq -c

Dies zeigt alle Zeilen mit der Anzahl eventueller Wiederholungen. Jeder Wert größer als „1“ bedeutet einen doppelten oder vielfachen Eintrag.

Sort schafft Ordnung: Wichtige Eigenschaften sind die Sortierung nach Spalten (-k) und der Schalter für numerische Werte (-n).

Awk: Der vertikale Spaltenfilter

Awk ist das umfangreichste Filterwerkzeug und zerlegt die Textausgabe von Terminalkommandos in Spalten und Felder. Damit können Sie Spalten einer Liste ausblenden oder umstellen oder in einer Ausgabezeile genau einen bestimmten, einzelnen Wert ermitteln und weiterverarbeiten. Awk kann außerdem vorgefundene Werte gleich mathematisch verrechnen und etwa Additionen oder Divisionen erledigen.

Awk ist ein selbständiges Programmiertool. Die folgenden Beispiele können diesen Umfang nicht annähernd wiedergeben und fokussieren sich auf wichtige Aufgaben im interaktiven Einsatz oder für einfache Bash-Alias oder Funktionen. Die Arbeitsweise von Awk zeigt ein ganz simples Beispiel:

echo Anna Sepp Hans Berta | awk '{print $1 $4 $3 $2}'

Die Felder (hier Namen) werden umgestellt, sind aber ohne Trenner schlecht lesbar – also:

echo Anna Sepp Hans Berta | awk '{print $1 "\t" $4 "\t" $3 "\t" $2}'

Dies setzt einen Tabulator zwischen die Felder.

Nun wird es ernster: Awk soll aus dem Standardbefehl Top die aktuelle CPU-Last abgreifen und nur diesen einzigen Wert anzeigen:

top -n1 | grep "CPU(s)" | awk '{print 100-$8"%"}'

Feld 8 in der Zeile „CPU(s)“, die Grep vorfiltert, enthält den aktuellen Idle-Wert. Von 100 subtrahiert, ergibt sich die aktuelle CPU-Last.

Eigentlich ist Awk in diesem Fall gar nicht auf Grep angewiesen: Wenn eine Befehlsausgabe wie der Header von Top genau normiert ist, also von vornherein klar, in welcher Zeile welche Information erscheint, dann kann Awk auf die Nachhilfe von horizontalen Filtern verzichten. Mit „NR==“ lässt sich die exakte Zeilennummer einstellen und nachfolgend auswerten. Das folgende Beispiel ermittelt die aktuelle RAM-Belegung aus Zeile 4 des Top-Kommandos:

top -n1 | awk 'NR==4 {print int($8) " MB belegt von " int($4) " MB"}'

Dies wird ein Ergebnis wie „524 MB belegt von 3732 MB“ erzeugen. Die Funktion „int“ ist nicht zwingend, bereinigt aber auf gut lesbare Ganzzahlen.

Auf diese Weise wird es relativ einfach, gesuchte Werte nicht nur auszugeben, sondern als Bash-Variable zur Weiterverarbeitung abzulegen:

RAM_used=$(top -n1 | awk 'NR==4 {print int($8)}')

Danach steht die Variable $RAM_used für Scripts oder Funktionen zur Verfügung.

Awk kann auch eine Zeilennummerierung ausführen:

find . | awk '{print NR "\t" $0}'

Hier will offenbar jemand wissen, wie viele Dateien sich im aktuellen Ordner befinden: Awk nummeriert die Zeilen und hängt nach Tabulator die komplette Zeile an, wie sie Find anliefert („$0“ bedeutet die gesamte Zeile ohne Feldauswahl).

Wenn statt einer klaren Tabellenstruktur die Felder durch Trenner wie Semikolon, Doppelpunkt oder Slash definiert sind, dann hilft der Awk-Schalter „-F“ („Field“):

cat /etc/passwd | awk -F: '{print $3 "\t" $1}'

Die Datei /etc/passwd nutzt den Doppelpunkt als Feldtrenner, daher „-F:“. Die Ausgabe wird dann auf Username und UID reduziert, die Spalten umgedreht (Name zuerst) und zur besseren Lesbarkeit ein Tabulator zwischengeschaltet (Tipp: Der Backslash ist das typische Signal für Sonderzeichen in Bash-Filtern – hier „\t“ für den Tabulator).

Das letzte Beispiel zeigt zugleich noch einmal, dass Awk die Spalten eines Ausgangbefehls beliebig umstellen und unnötige Spalten ausblenden kann.

Awk pickt sich jeden Wert aus Zeilen und Spalten. Dieser Filter ist für Scripts und Aliases absolut unentbehrlich.

Column: Spaltenzerlegung

Dieses Tool verbessert die Lesbarkeit unformatierter Listen signifikant. Wer Awk beherrscht, wird Column zwar nicht oft brauchen, aber das Tool ist handlich und setzt passende Tabulatoren nach Berechnung aller Daten. Es kann auch als Vorbereitung dienen, um eine weitere Zerlegung durch Awk zu erleichtern.

Vergleichen Sie die überaus schlecht lesbare Ausgabe von mount mit dieser Variante

mount | column -t

oder den Befehl cat /etc/passwd mit dieser Tabellendarstellung:

cat /etc/passwd | column -s: -t

Column ersetzt hier das Trennzeichen „:“ (Schalter „-s“ steht für Separator) durch Tabulatoren. Sortiert man das Ganze dann noch mit

cat /etc/passwd | column -s: -t | sort -n -k3

numerisch nach der User-ID in Spalte 3, ist das Resultat mit der Originaldatei kaum noch zu vergleichen. Anders als Awk oder Sed, die ebenfalls Tabulatoren einsetzen können, errechnet Column eine passende Tabulatorweite für alle Spalten der gesamten Datenmenge.

Column schafft aber auch Felder, wo vorher keine waren. Der schon früher genannte Befehl

apt list --installed

trennt die Paketnamen durch einen „/“-Slash von der nachfolgenden Paketquelle. Mit

apt list --installed | column -s/ -t

wandeln Sie den Slash-Trenner um in eine gut lesbare Tabelle und mit

apt list --installed | column -s/ -t | awk '{print $1}'

bleiben nur noch die Paketnamen der ersten Spalte übrig, die sich dann für eine Masseninstallation verwenden lässt. Hierfür ist das Tool Xargs einschlägig (siehe unten).

Hinweis: Für genau dasselbe Ergebnis des letzten Befehls reicht mit

apt list --installed | awk -F/ '{print $1}'

auch das begabte Awk allein.

Column macht Listen mit seltsamen Trennzeichen lesbar und ist vor allem zur Darstellung größerer Tabellen die optisch ansprechendste Lösung.

Cut: Spalten definieren und entfernen

Column und vor allem Awk bieten alle Möglichkeiten, um vertikale Spalten und Felder darzustellen, zu analysieren oder bei Bedarf durch Umwandlung von Trennzeichen erst herzustellen. Das Tool Cut ist technisch weitaus einfacher, aber gerade deswegen oft die unkompliziertere Alternative.

Cut eignet sich ideal, um eine bestimmte Spalte aus einer Liste zu filtern, die ihre Felder mit einem Delimiter-Zeichen wie Semikolon, Komma, Doppelpunkt, Bindestrich oder Slash trennt. Die wichtigsten Schalter von Cut sind „-d“ (Delimiter), der das Trennzeichen definiert, und „-f“ für die Angabe der gewünschten Spalten (Fields). Der Befehl

echo Anna Sepp Hugo | cut -d" " -f2

wird folglich mit „Sepp“ antworten. Das letzte Beispiel oben, das mit Column und Awk eine Paketliste erstellte, ist daher mit dem Tool Cut noch einfacher zu realisieren:

apt list --installed | cut -d/ -f1

Mit dem Schalter „-d“ wird hier der Slash „/“ als Spaltentrenner definiert und mit „-f1“ nur noch die erste Spalte angezeigt, also die puren Paketnamen. Im folgenden Beispiel

cut -d: -f1,3 /etc/passwd

reduziert Cut die genannte Datei auf die zwei Felder Usernamen und UID.

Cut ist ein relativ einfaches Tool, um gezielt eine oder mehrere Spalte(n) einer Liste zu isolieren.

Sed: Zeichen ersetzen oder löschen

Der Streameditor Sed eignet sich sowohl zur Dateibearbeitung als auch zur Korrektur des Terminaloutputs. Er ersetzt einzelne Zeichen oder Zeichenfolgen durch einen anderen String, löscht störende Zeichen oder fügt zusätzliche ein.

Sed kann automatische Textersetzungen oder Löschungen in allen Dateien des aktuellen Verzeichnisses erledigen. Ferner kann es auch als Kosmetik für schlecht lesbare Terminalbefehle dienen. Wenn das mächtige Werkzeug viele Dateien bearbeiten soll, ist Vorsicht geboten und zumindest ein vorhergehender Test zu empfehlen, der nur im Terminal angezeigt wird:

sed 's/domain.org/neue.domain.de/g' *.html

Jedes Vorkommen von „domain.org“ wird durch die neue Adresse korrigiert. Mit zusätzlichem Schalter „-i“ (oder „–in-place“) erledigt Sed die Aktion tatsächlich.

Hocheffizient, aber auch riskant sind Löschkommandos mit „d“:

sed -i '/bind /d' ~/.bashrc

Hier wird jede Zeile der angegebenen Datei gelöscht, die mit dem Kommando „bind “ beginnt.

Sed ist aber auch für die interaktive Kosmetik am Terminaloutput nützlich. Die Ausgabe des Systempfads mit

echo $PATH

trennt die Ordner bekanntlich schlecht lesbar mit Doppelpunkt. Folgende Alternative

echo $PATH | sed 's/:/\n/g'

ersetzt alle Doppelpunkte durch einen Zeilenumbruch („\n“) und macht die Ausgabe übersichtlich. Wie schon bei Awk angemerkt, ist der Backslash wieder das typische Signal für ein nachfolgendes Sonderzeichen.

Streameditor Sed: Das Tool ist ein phänomenaler Zeitsparer, erfordert aber sehr präzise und eindeutige Angaben.

Xargs: Andere Befehle füttern

Das Tool Xargs gehört in diesen Kontext, obwohl es selbst keine Filterleistung bietet. Aber es gibt vorher gefilterte Argumente oder den Inhalt einer Dateiliste direkt an einen anderen Befehl weiter. Damit ist es eine nützliche Abkürzung, die eine weitaus umständlichere Scriptverarbeitung erspart.

Im ersten einfachen Beispiel wird eine vorher angelegte Paketliste

apt-mark showmanual > liste.txt

später an diesem oder auf einem anderen System mit

cat liste.txt | xargs apt install

in einem Rutsch installiert. Xargs übergibt einfach den kompletten Inhalt der Textdatei an den Paketmanager.

Diese beiden nachfolgenden Befehle sind funktionsidentisch:

xargs -a liste.txt -n 1 apt install
cat liste.txt | xargs -n 1 apt install

Das zeilenweise Abarbeiten mit „-n 1“ ist notwendig, wenn die Listendatei für jedes Argument eine eigene Zeile nutzt.
Xargs kann auch für eine besser lesbarere oder ergänzte Terminalausgabe sorgen:

free -m | grep "Speicher" | awk '{print int(($3/$2)*100)}' | xargs -i echo {}% RAM belegt

Die Ausgabe von free wird auf die Zeile mit „Speicher“ gekürzt. Awk filtert dort die Werte für den Gesamtspeicher ($2) und den benutzten Speicher ($3) und berechnet den belegten Prozentwert (bereinigt durch „int“ auf eine Ganzzahl). Damit nicht die bloße Zahl geliefert wird, übergibt Xargs den Wert an Echo. Weil der vorher ermittelte Wert nicht am Ende des Echo-Befehls steht, muss Xargs mit Schalter „-i“ verwendet werden. Die Klammern „{}“ definieren dann die Stelle für den Übergabewert.

Xargs ist ein Wertelieferant und gibt die von Bash-Filtern gesammelten Infos an einen anderen Befehl weiter (hier nur an Echo).

Bash-Filter: More & Less

Es gibt eine Reihe weiterer (Mengen-) Filter wie More und Less zum zeilenweisen Blättern in der Ausgabe, Head und Tail zur Reduktion der Ausgabe auf die ersten oder letzten Zeilen. Dies nur der Vollständigkeit halber – denn dieser letzte Abschnitt ist eher ein Fazit.

In der Bash-Shell geht mit den genannten Tools im Prinzip alles. Wie bei allen textbasierten Shells ist es aber kein Vergnügen. Die Erbsenzählerei zum benötigten Feld für eine Awk-Auswertung ist mühsam, aber immerhin lohnend. Richtig ärgerlich ist, dass Bash-Tools keine einheitlichen Schalter haben und etwa einen Spaltentrennzeichen mal mit „-F“, mit „-d“ oder mit „-t“ definieren. Eine weitere Herausforderung ist es, dass Tools ähnliche Funktionen enthalten, die unterschiedliche Lösungen für ein und dasselbe Problem bieten. Unterm Strich sollten Grep, Sort und Awk alle Aufgaben erledigen – sofern man sie richtig beherrscht. Sed ist ein Editierautomat, der sich vornehmlich an Script- und Webentwickler richtet.

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.