Archiv der Kategorie: Betriebssystem

Die Linux-Desktops

Die Linux-Vielfalt hat zwei Ebenen: Neben der Auswahl des System-Unterbaus steht auch noch die Entscheidung für eine bestimmte Oberfläche. Derselbe Unterbau kann viele Desktop-Gesichter haben, derselbe Desktop verschiedenen Systemen dienen.

Eine saubere Grenzziehung zwischen Distributions- und Desktop-Vielfalt ist schwierig bis unmöglich. Ubuntu hat sich je nach Standarddesktop unterschiedliche „Distributionsnamen“ wie Kubuntu oder Xubuntu gegeben, obwohl dabei nur ein anderer Desktop (KDE und XFCE) auf demselben Ubuntu arbeitet. Wenn sich eine Linux-Mint-Variante als „Linux Mint XFCE Edition“ bezeichnet, darf man die Frage stellen, wieviel „Mint“ noch drinsteckt, da doch ein Ubuntu bei Mint den Systemunterbau legt und Linux Mint sich primär durch seinen Stammdesktop Cinnamon definiert. Wie Mint definieren sich auch andere Distributionen wie Elementary OS, Solus oder Bodhi Linux hauptsächlich durch ihren Desktop. Die Entscheidung für einen Desktop gibt aber nicht nur die Systembedienung vor: Sie bestimmt maßgeblich die Hardwareansprüche an RAM, CPU, GPU sowie Reaktions- und Startgeschwindigkeiten. Ein nackter Ubuntu Server ohne Desktop konsumiert etwa 50 MB RAM, während ein Ubuntu mit KDE-Oberfläche (Kubuntu) schon ab Start das 15-fache fordert (750 MB). Die richtige Einschätzung, was ein Desktop kann und für welche Hardware er taugt, ist daher für die Wahl des richtigen Systems unverzichtbar.

Desktops und Distributionen

Ein Linux-System kann bekanntlich mehrere Desktops aufnehmen. Folglich sollte es möglich sein, Desktops wie einen Mediaplayer oder eine Office-Suite als unabhängige Software zu beschreiben. Tatsächlich ist aber die Verzahnung zwischen Systembasis und Desktop dann doch komplexer als bei einer beliebigen Anwendungs-Software:
1. Die Parallelinstallation von Desktopumgebungen ist ein erheblicher Systemeingriff, und längst nicht alle Desktops vertragen sich überall problemlos nebeneinander.
2. Eine Desktop-Umgebung ist mehr als der Desktop: Sie bringt ein mehr oder weniger umfangreiches Softwarepaket mit, mindestens mit Dateimanager und Editor, oft mit Audio-und Video-Player sowie PDF- und Text-Viewer.
3. Der mit der Distribution ausgelieferte Desktop ist in der Regel sorgfältig vorkonfiguriert und unterscheidet sich von einem nachinstallierten Desktop. Diese Vorkonfiguration erspart oft erheblichen Anpassungsaufwand.
Einsteiger, Anfänger, Pragmatiker fahren daher am besten, wenn sie eine Linux-Distribution mit ihrer angestammten und mitgelieferten Standardoberfläche wählen.
Die nachfolgende Tabelle nennt 16 populäre bis exotische Linux-Desktops in alphabetischer Abfolge. Die nachfolgenden Kurzbeschreibungen orientieren sich hingegen an der Verbreitung und beginnen mit der Prominenz.

Stammdesktop unter Hardware-Anspruch Flexibilität Merkmale
Budgie Ubuntu Budgie / Solus noch moderat mittel klar und übersichtlich, gewöhnungsbedürftige Seitenleiste
Cinnamon Linux Mint moderat hoch einfache, klassische Basisbedienung und sehr flexibel
Fvwm (nur optional, z. B. in Debian) minimal mittel minimalistisch
Gnome Ubuntu Gnome / Fedora hoch gering elegant, modern, einfach, aber gewöhnungsbedürftig
KDE Kubuntu / Open Suse hoch exzellent komplexes, aber gereiftes Konzept
LXDE Lubuntu / Knoppix gering mittel einfach, klassisch, funktional, altmodische Optik
LXQT (LXDE-Nachfolger) (nur optional, z. B. in Manjaro) gering mittel einfach, klassisch, funktional
Mate Ubuntu Mate moderat hoch einfache, klassische Basisbedienung und flexibel
Moksha (E17) Bodhi Linux sehr gering hoch exotisch bis konfus, aber klein und schnell
Openbox Bunsenlabs minimal mittel minimalistisch, Anpassung anspruchsvoll
Pantheon Elementary OS mittel gering sehr einfach, elegant, aber puristisch
Pixel Raspbian (Raspberry Pi) gering mittel relativ einfach und klassisch
Trinity Q4-OS sehr gering hoch komplexer KDE-3-Fork, altmodische Optik
Unity Ubuntu noch moderat gering sehr einfach, intuitiv
Wmii (nur optional, z. B. in Debian) minimal gering minimalistisch und exotisch – ohne Mausunterstützung
XFCE Xubuntu gering bis moderat hoch klassisch, ausgereift, flexibel, etwas altmodisch

 

Für anspruchsvolle Linux-Anwender: Das komplexe KDE bietet maximale Anpassungsfähigkeit und hat mit KDE Plasma 5 ein geradliniges Gewand bekommen.

KDE: Anpassungsfähig bis detailverliebt

Eine der dienstältesten (seit 1996) und populärsten Desktop-Umgebungen ist KDE, das sich mit Version 4 erfolgreich neu erfand. KDE ist eine opulente Oberfläche für aktuellere Rechner mit Mehrkern-CPU, Open-GL-fähigen Grafikchip und vier GB RAM. Der Desktop ist ideal für fortgeschrittene Nutzer, die detaillierte Anpassungsoptionen zu schätzen wissen.
Der Plasma-Desktop stellt die Arbeitsoberfläche bereit mit Mini-Programmen (Plasma-Widgets) und dem Window-Manager Kwin, der für Fensterdarstellung und Effekte sorgt. Standardmäßig befinden sich die KDE-Bedienelemente am unteren Bildschirmrand. Ganz links gibt es in der Standard-Konfiguration das K-Menü mit Kategorien und Suchfeld. Neben dem K-Menü liegen die Taskleiste und daneben die Kontroll-Leiste mit Mini-Programmen (Lautstärke, Network-Manager, Zwischenablage). Eine aufgeräumte Übersicht aller Optionen bieten die „Systemeinstellungen“ im KDE-Menü. Daneben enthält die KDE-Umgebung herausragende Software wie den Dateimanager Dolphin, den Bildbetrachter Gwenview oder die Bildverwaltung Digikam. Empfohlene KDE-Distributionen sind Kubuntu, Ubuntu KDE Neon und Open Suse Leap.

Gnome 3: Der moderne Desktop

Gemessen an der Zahl der Gnome-affinen Nachfolger (Unity, Mate, Cinnamon, Pantheon, implizit auch XFCE, LXDE, LXQT) ist Gnome der produktivste Linux-Desktop. Mit dem fast 20 Jahre alten Ur-Gnome hat heutiges Gnome 3 freilich nicht mehr viel gemein. Version 3 war ein radikaler Neuanfang, der bewährte Elemente über Bord warf. Das neue Gnome-Bedienkonzept ist modern, schick, funktional, aber reduziert. An den Grundfunktionen lässt Gnome kaum Eingriffe zu. Flexibilität erhält Gnome hauptsächlich durch externe Erweiterungen (https://extensions.gnome.org). Gnome ist ein Desktop für aktuellere Hardware mit Mehrkern-CPU, 3D-Grafik und vier GB RAM.
Obwohl Gnome auf Elemente wie das Startmenü verzichtet, findet sich jeder Einsteiger schnell zurecht. Als Umschalter und Programmstarter dient die Übersichtsseite „Aktivitäten“, die über die Windows-Taste oder über die linke obere Ecke erreichbar ist. Dort gibt es Schnellstart-Icons und das wichtige Suchfeld. Die „Einstellungen“ liefern ein aufgeräumtes Menü für allgemeine Optionen wie Sprache, Hintergrundbild und Hardwarekonfiguration. Weitere Optionen sind in der Extra-Anwendung Gnome-Tweak-Tool untergebracht. Empfohlene Gnome-Distributionen sind Ubuntu Gnome, Fedora, Manjaro Gnome.

Elegant und modern: Gnome 3 zeigt auf Windows-Taste oder aktive Ecke links oben diese Übersicht mit Fenster- und Arbeitsflächenansicht sowie dem Suchfeld.

Ubuntus Unity: Vereinfachtes Gnome 3

Unity, seit 2011 und bis vor kurzem die Standardoberfläche von Ubuntu, ist ein reduziertes Gnome 3. Das einfache Bedienkonzept versteht jeder Nutzer auf Anhieb, allerdings bezahlt der Unity-Anwender den intuitiven Bedienkomfort mit dem Preis geringer Anpassungsmöglichkeiten. Trotz einfach wirkender Oberfläche bleibt Unity ein Gnome 3 mit nur geringfügig geringeren Hardware-Ansprüchen (siehe dort).
Die Bedienung erfolgt über zwei Standardleisten, die Starterleiste links und das Hauptpanel oben. Die Starterleiste ist eine Kombination aus Taskleiste und Favoritenleiste: Sie zeigt die aktuell laufenden Programme und zusätzlich die Programmfavoriten. Das oberste Symbol mit dem Ubuntu-Logo öffnet das Dash – die Suchzentrale für Programme und Dateien. Das Hauptpanel am oberen Rand bietet das Sitzungsmenü sowie Indikatoren wie Zeitanzeige und Netzwerk-Manager. Im Gnome-Control-Center („Systemeinstellungen“) gibt es fundamentale Funktionen der Hardware- und Desktop-Anpassung. Zusätzliche Möglichkeiten bietet das Unity Tweak Tool, das nachinstalliert werden muss. Die einzige Distribution mit Unity als Standarddesktop war bis Version 17.04 die Ubuntu-Hauptedition.

Cinnamon: Der Mint-Desktop

Cinnamon ist seit 2011 als konservative Alternative zum modernen Gnome 3/Unity entwickelt worden. Über die Jahre reifte eine sehr attraktive Oberfläche, die viele Elemente der Windows-Welt aufgreift und auf optimale Anpassungsfähigkeit Wert legt. Die ältere Gnome-2-Basis macht sich noch in einigen altmodischen Details bemerkbar (Leistenbearbeitung), insgesamt ist Cinnamon aber so ansehnlich wie flexibel und vergleichsweise sparsam. Der Desktop läuft auch auf nicht mehr taufrischen Geräten und ist mit 2 GB RAM alltagstauglich.
Die Systemleiste enthält ein klassisches und anpassungsfreudiges Startmenü und typische Elemente wie Fensterliste, Netzwerk-Manager und Arbeitsflächenwechsler. Großzügig sind auch die Optionen, um die Optik an eigene Wünsche anzupassen. Moderne Fensterthemen und Hintergründe für die Arbeitsfläche sind mit wenigen Mausklicks geändert. Generell ist das Angebot der zentralen „Systemeinstellungen“ breiter als das der reduzierenden Gnome/Unity-Desktops. Cinnamon ist Standard unter Linux Mint, der Einbau in andere Distributionen ist möglich, aber nicht ohne Risiko.

Mate: Klassisch und flexibel

Mit Mate entstand ebenfalls 2011 in Ablehnung des modernen Gnome 3 ein weiterer Fork von Gnome 2. Mate ist seither eine weitere Alternative für Anwender, die einen traditionellen Desktop bevorzugen. Die Oberfläche erhielt trotz althergebrachter Bedienkonzepte ein modernisiertes Äußeres und reicht an die Anpassungsfähigkeit von Cinnamon heran. Dabei gehört Mate zu den sparsamen Desktops und kommt notfalls ohne 3D-Grafikchip und schon mit 1 GB RAM aus.
Die wesentlichen Elemente der Arbeitsfläche sind die Leisten, die sich mit diversen Applets füllen und per Rechtsklick im Detail konfigurieren lassen. Die Systemeinstellungen heißen hier „Kontrollzentrum“, das alle Optionen zu Aussehen, Verhalten, Hardware-Einstellungen, Autostart-Programmen in einer aufgeräumten Übersicht zusammenfasst. Bekannteste Distribution mit Mate ist Ubuntu Mate, jedoch gibt es inzwischen von fast allen namhaften Distributionen eine Mate-Edition (Linux Mint, Debian, Fedora u. a.).

Klassisch und anpassungsfreudig: Mit dem Mate-Desktop lebt die Oberfläche von Gnome 2 in einer modernisierten Variante weiter.

XFCE: Linientreuer Klassiker

XFCE („X-Face“) gehört seit 1996 mit KDE und Gnome zu den Urgesteinen der Linux-Desktops, hat sich aber im Gegensatz zu diesen stets geradlinig entwickelt und nie revolutioniert. XFCE ist etwas angestaubt, aber perfekt für Nutzer, die klassische Elemente schätzen und selbst Hand anlegen mögen. Die funktionalen wie optischen Möglichkeiten sind umfassend, die Bedienung gelegentlich altmodisch, aber überall ausgereift und logisch. Nicht zuletzt hat XFCE bescheidene Ansprüche an die Hardware – 1 GB RAM ist üppig, ein 3D-Grafikchip nicht erforderlich.
Mit dem Dateimanager Thunar hat XFCE einen der wenigen seiner Art an Bord, die ein Drag & Drop von Dateien mit rechter Maustaste mit Kontextmenü beantworten. Im Konfigurationszentrum („Einstellungen“) sind alle Basics wie Monitor-Einstellung, Benutzerverwaltung, Themes, Fensteroptik oder Treibersuche. Hauptmenü („Whisker“) und Symbolleisten von XFCE sind eine lohnende Spielwiese: Es gibt diverse vorgegebene Elemente wie Arbeitsflächenumschalter, Sitzungsmenü („Aktionsknöpfe“) oder eine Mini-Kommandozeile. Auch bei Aussehen, Größe, Farbe, Transparenz oder Ausblendverhalten lassen XFCE-Panels keine Wünsche offen. Praktisch alle Distributionen bieten eine Variante dieses Klassikers. Ein sorgfältig konfiguriertes XFCE liefert etwa Xubuntu.

Xubuntu mit angepasstem XFCE-Desktop

LXDE/LXQT: Schlank und komplett

LXDE zeigt seit über 10 Jahren, dass ein kompletter Desktop keine Gigahertz-CPU braucht und dass 512 MB eine Menge Speicher sein können. Die funktionale Oberfläche benötigt inklusive System nur gut 150 MB. LXDE kombiniert für das Ziel einer möglichst sparsamen Lösung heterogene Elemente wie den Window-Manager Openbox und eigene Komponenten wie Lxpanels (Leisten) oder Lxappearance (Optik-Konfiguration). Die per Voreinstellung oft unnötig spröde Optik ist durch individuelle Anpassung deutlich optimierbar. LXQT ist der Nachfolger von LXDE, der die Integration von Software mit jüngeren QT-Bibliotheken leistet. Bei LXDE folgen solche Programme nicht der systemweit eingestellten Fensteroptik. Einfachster Weg zu einem sorgfältig vorkonfigurierten LXDE ist die Distribution Lubuntu.

Moksha (E17): Der schnelle Exot

Enlightenment („E“, aktuelle Version ist E19) vereint minimale Hardwareansprüche mit ansprechender Ästhetik und exorbitanter Konfigurierbarkeit. Verwirrende bis konfuse Optionen erschweren allerdings den Zugang. Moksha, der Standard-Desktop unter Bodhi Linux, hat als Fork von E17 etwas aufgeräumt, bleibt aber ein Desktop-Abenteuer. Die besonders schnelle und sparsame Oberfläche läuft auf älterer bis alter Hardware ohne 3D-Grafikchip und 512 MB bis 1 GB RAM.

Bodhi Linux mit angepasstem Moksah-Desktop

Trinity: Sparsames Retro-KDE

Trinity führt die längst eingestellte KDE-Version 3.5 als Fork weiter. Das Ergebnis ist eine schlanke Oberfläche, die allerdings im altbackenen Retro-Design daherkommt. Die Ansprüche des Desktops liegen etwa zwischen LXDE und XFCE. Hauptargument für Trinity ist die Tatsache, dass der KDE-Fork auch auf angestaubter Hardware die detaillierten Anpassungsoptionen eines KDE mitbringt. Unter den prominenten Distributionen ist Trinity rar. Der einfachste Weg ist der Einsatz der Distribution Q4-OS, wo Trinity als Standard arbeitet.

Der Trinity Desktop zeigt ein altes KDE 3.5, das als Abspaltung (Fork) mit kleinen Verbesserungen weiterlebt und von Kubuntu-Entwicklern nebenher gepflegt wird.

Schönlinge und Puristen

Pantheon: Dieser Desktop ist Standard der Distribution Elementary OS. Der aufgeräumte und ästhetische Desktop mit Mac-OS-Optik zeigt nur Starterdock und Systemleiste und bietet nur fundamentale Einstellungsoptionen. Zielgruppe sind Software-orientierte Desktop-Nutzer, die ohne Ehrgeiz individueller Anpassung eine hübsche Oberfläche suchen.

Budgie: Technisch ambitionierter als Pantheon liefert diese Oberfläche neben der üblichen Systemleiste eine multifunktionale Seitenleiste. Entwickelt wird Budgie für die Distribution Solus, hat aber inzwischen als Ubuntu Budgie Einzug in die offiziellen Ubuntu-Varianten gefunden. Budgie hat Potential zum echten Cinnamon-Konkurrenten durch seine klare, kontrastive Benutzerführung.

Ubuntu Budgie: Der sehr ansehnliche und klare Desktop hat noch ein paar Reifemängel.

Openbox: Eigentlich ist Openbox nur ein alt-ehrwürdiger Window-Manager, ist aber über diese Rolle hinausgewachsen. Pures Openbox liefert am Desktop nicht mehr als ein simples Startmenü per Mausklick, mit Ergänzungen und Konfigurationstools wird daraus aber eine Arbeitsumgebung, die kaum mehr als 100 MB Speicher beansprucht. Die manuelle Einrichtung von purem Openbox ist mühsam. Ein sorgfältig vorkonfiguriertes Openbox liefert die Distribution Bunsenlabs „Deuterium“ auf Basis von Debian 8.

Fvwm-Crystal: Einer der ältesten Fenstermanager für Linux ist der „F Virtual Window-Manager“ (Fvwm). Dem originalen Fvwm von 1993 sieht man sein Alter deutlich an. Viel getan hat sich aber bei der Variante Fvwm-Crystal mit Taskleiste, Menü und virtuellen Arbeitsflächen. Trotz minimaler Ansprüche (unter 100 MB RAM) sieht Fvwm-Crystal mit Transparenz-Effekten schick aus. Eine fertige Distribution mit diesem Fenstermanager gibt es nicht, jedoch ist das Fossil noch als Paket unter Debian und Ubuntu erhältlich (fvwm-crystal).

Wmii: Wmii (Window-Manager Improved) geht grenzwertig noch als Fenster-Manager durch: Alle Aktionen zum Öffnen und Anordnen von Fenstern erfolgen per Tastatur. Der Hotkey Windows-Taste plus Eingabetaste öffnet ein neues Terminal, Windows-P einen Ausführen-Dialog. Fenster arrangiert Wmii nebeneinander oder in Spalten. Dieser minimalistische Ansatz ist sinnvoll, wo ein Linux-Rechner stets nur einige wenige Programmfenster anzeigen soll. Wmii ist unter vielen Distributionen unter gleichnamigem Paketnamen zu erreichen.

PIXEL: Dieser Desktop ist eine junge Entwicklung der Raspberry Pi Foundation. Er dient als verbesserter Ersatz für das bisher genutzte LXDE auf dem Raspberry-System Raspbian. Die Änderungen sind vorwiegend kosmetischer Natur.

Terminal- und Bash-Optimierung

Grafische Terminals und die darin laufende Kommando-Shell bieten reichhaltige Optionen, um sie optisch und funktional zu optimieren und zu individualisieren. Das ist zum Teil einfach, zum Teil knifflig. Die notwendigen Tipps finden Sie hier.

Dieser Artikel zeigt alle wichtigen Optionen, um das grafische Terminal, aber auch die virtuellen Konsolen und die SSH-Konsole so komfortabel wie möglich einzurichten. Nur Punkt 1 bezieht sich ausschließlich auf den Desktop und das grafische Terminalfenster. Alle anderen Punkte 2 bis 6 zur Bash-Optimierung gelten auch für SSH und für die Konsolen (Strg-Alt-F1 und weitere). Bei den grafischen Terminal-Emulatoren nehmen wir das Gnome-Terminal als Referenz, wie es in Ubuntu-Varianten und Linux Mint zum Einsatz kommt. Andere Terminal-Emulatoren wie etwa die „konsole“ unter KDE bieten ganz ähnliche Einstellungen, aber nicht immer an gleicher Stelle. Bei der Shell selbst, also dem eigentlichen Kommandointerpreter, gehen wir von der Bash-Shell aus, die praktisch überall Standard ist.

1. Das grafische Terminal

Terminals in Gestalt des Gnome-Terminal, Mate-Terminal, Xfxe4-Terminal oder Konsole (KDE) sind grafische Programme mit zahlreichen Einstellungen. Sie sind unabhängig von der Shell, die im Terminal läuft. Die Optionen und Optimierungen, die Sie dort vornehmen, haben daher mit der Bash-Shell zunächst nichts zu tun. Lediglich bei Farbeinstellungen für das grafische Terminal und solchen für die Bash-Shell gibt es Kombinationen, welche die Lesbarkeit und Übersicht fördern – oder eben nicht. Insbesondere engagierte Nutzer, die sich das Terminal optisch bestmöglich einrichten möchten, sollten sich beim Aussehen des grafischen Terminals farblich festlegen, bevor sie Ausgabefarben und Prompt der Bash-Shell optimieren.

Einstellungen und Profile: Das Gnome-Terminal zeigt im Menü „Bearbeiten“ die zwei Untermenüs „Einstellungen“ und „Profileinstellungen“. Beides sind benutzerspezifische Optionen: Was unter „Einstellungen“ festgelegt wird, gilt für jedes Terminal im aktuellen Konto. Die „Profileinstellungen“ erlauben darüber hinaus verschiedene Layouts, die man entweder im Gnome-Terminal selbst mit „Terminal -> Profil wechseln“ umschalten oder auch über Programmstarter schon beim Aufruf anwählen kann:

gnome-terminal --profile big_black

Ob Sie tatsächlich verschiedene Profile brauchen, ist Ihre Entscheidung. Das als „Unbenannt“ oder als „Vorgabe“ betitelte Standardprofil sollten Sie aber unter „Bearbeiten -> Profileinstellungen“ in jedem Fall bearbeiten. Die Registerkarte „Allgemein“ bestimmt die Größe des Terminalfensters über die Spaltenzahl (Breite) und Zeilenzahl (Länge) sowie die verwendete Schriftart. Beachten Sie, dass Sie das Terminal-Fenster unabhängig von der Schrift mit Strg-+ und Strg– skalieren können, in einigen Terminals auch mit Strg und mittlerer Maustaste. Die Registerkarte „Farben“ definiert die Farb- und Transparenzeinstellungen (in einigen Terminals auch als Extra-Registerkarte „Hintergrundtyp“). Wer Experimente mit eventuell kontrastarmen Ergebnissen vermeiden will, kann das Systemschema oder vorgegebene Schemata verwenden.

Unter „Bildlauf“ sollte der „Zeilenpuffer“ deutlich vierstellig eingestellt sein, damit Sie auch bei umfangreichen Dateilisten (find, ls, rsync) bis zum Beginn zurückblättern können.

Der allgemeinere Punkt „Bearbeiten -> Einstellungen“ spielt für die Terminal-Optik keine Rolle. Hier können Sie aber unter „Tastenkürzel“ die Hotkeys ermitteln oder neu bestimmen, die in Ihren Terminals gelten. Der Tipp, hier auch die Hotkeys für Kopieren (Strg-Shift-C) und Einfügen (Strg-Shift-V) auf gebräuchliches Strg-C und Strg-V umzustellen, ist zweischneidig, weil Strg-C in der Bash-Shell traditionell für den Abbruch des aktuellen Befehls reserviert ist.

Startparameter: Größe und Position des Terminals können Sie auch per Startparameter festlegen. Global und mit zusätzlicher Angabe der Fensterposition arbeitet der Parameter „–geometry“ (fast überall Standard: Gnome, KDE, XFCE, Mate):

gnome-terminal --geometry=120x24+1+1

Dies würde ein Terminal mit 120 Zeichen Breite und 24 Zeilen Länge in der linken oberen Ecke starten (1 Pixel von links, 1 Pixel von oben). Diesen Aufruf definieren Sie am besten in der globalen Verknüpfung „/usr/share/applications/gnome-terminal.deskop“ in der Zeile „Exec=“ mit root-Recht.

Neben dem schon genannten „–profile“-Schalter gibt es weitere Optionen via Startparameter, welche die grafischen Profileinstellungen nicht vorsehen:

gnome-terminal --zoom=1.4 --working-directory=/media/ha

Dies erhöht den Zoomfaktor um 40 Prozent und startet gleich im gewünschten Verzeichnis. Letzteres ist natürlich auch über die Bash-Shell leicht zu erzielen.

Terminal-Profile: Wer im Terminal verschiedene Profile anlegt, kann mit drei Mausklicks zu einer komplett anderen Darstellung wechseln.

    2. Bash-Zeileneditor und History

    Kaum ein Terminalthema klingt langweiliger als die Regeln des „line editing“ – also Texteingabe, Textbearbeitung, Autocompletion und Befehlssuche am Bash-Prompt. Es entscheidet aber fundamental darüber, wie viel oder wenig Sie tippen müssen – und „Tippen“ bedeutet hier ja meistens nicht das Schreiben von natürlicher Sprache, sondern von oft komplexen Befehlen oder gar von Escape- und Regex-Sequenzen.

    Autocompletion: Lange Dateinamen müssen nicht getippt werden: Wenn Sie die ersten zwei, drei Buchstaben eingeben und dann die Tab-Taste drücken, ergänzt das Terminal den vollständigen Namen automatisch, desgleichen Ordnerpfade, sofern die eingegebenen Buchstaben stimmen (Groß- und Kleinschreibung beachten!).

    History: Das Terminal vergisst nichts – jedenfalls nicht so schnell. Die Befehle werden im Speicher und dauerhaft in der ~/.bash_history gespeichert. Damit die Befehle über Sitzungen und Neustarts hinaus gesammelt werden, sorgt diese Anweisung:

    shopt -s histappend

    Diese werden Sie in jeder Standardstartdatei ~/.bashrc antreffen. Bei welcher Zeilenmenge Schluss sein soll, also die ältesten Einträge gelöscht werden, bestimmen folgende Variablen:

    HISTSIZE=5000
    HISTFILESIZE=5000

    Auch diese stehen in jeder ~/.bashrc, wenn auch eventuell mit geringeren Zeilenangaben. „HISTSIZE“ ist die maximale Zeilenmenge im Speicher, „HISTFILESIZE“ die maximale Zeilenmenge in der Datei ~/.bash_history. Je höher die Zahlen, desto umfangreicher wird das Gedächtnis der Bash-Shell. Mit der Variablen

    HISTCONTROL=ignoredups

    können Sie verhindern, dass die History von Dubletten wimmelt: Bereits vorhandene, identische Kommandos werden dann nicht aufgenommen. Eine weitere Option, die History effizienter zu machen, ist der Ausschluss von Allerweltsbefehlen:

    HISTIGNORE="ls:cd*:free"

    Soviel zur Optimierung der History. Für die eigentliche, praktische Verwendung gibt es mehrere Möglichkeiten. Fast jedem Anwender bekannt ist das Zurückblättern zu den letzten Kommandos mit der Taste Cursor-oben, die den gewünschten Befehl wieder auf den Prompt holt. Eine systematische Suche bietet der Hotkey Strg-R: Nach Eintippen etwa von „tar“ erscheint der letztgenutzte tar-Befehl in kompletter Länge. Ist dieser passend, kann er mit Eingabetaste sofort ausgeführt oder mit Alt-Eingabetaste (eventuell auch Strg-Eingabetaste) zum Editieren auf den Prompt geholt werden. Ist der angezeigte History-Treffer nicht der passende, geht es mit Strg-R zum vorletzten und so fort.

    Eine einfache Alternative oder auch Ergänzung zur Rückwärtssuche mit Strg-R ist eine Filtersuche mit der Taste Bild-oben. Nach Eingabe etwa von „tar“ befördert diese Taste den letzten, kompletten tar-Befehl direkt auf den Prompt, ein weiteres Bild-oben den vorletzten und so fort. Diese Suche funktioniert aber nur, wenn Sie Taste entsprechend belegen – und zwar in der Datei /etc/inputrc. Das Editieren erfordert root-Recht. Sie werden dort die beiden Zeilen

    \"e[5~\": history-search-backward
    \"e[6~\": history-search-forward

    antreffen und müssen dort nur das führende Kommentarzeichen „#“ entfernen.

    Zum Editieren vorhandener Zeilen, seien es selbst getippte oder aus der History gefischte, helfen Lösch- und Rücktaste, Pos1, Ende, Strg-Cursor-rechts/links (wortweise springen), Strg-K und Strg-U (Löschen nach und vor der Cursorposition, siehe dazu auch Punkt 4).

    History-Filter: Mit dieser Einstellung in der Datei /etc/inputrc filtert die Bash nach Bild-oben/Bild-unten die Einträge, die mit dem bereits eingegebenen Teilbefehl übereinstimmen.
    Hübsche Prompts sind hartes Handwerk. Ein funktionaler Prompt liefert aber automatisch Informationen, für die Sie sonst externe Systemwerkzeuge starten müssten.

    3. Farben am Prompt und in Dateilisten

    Der Prompt, also die Anzeige bei jeder Befehlseingabe, kann beliebige statische und dynamische Informationen anbieten, die Sie zur Orientierung erwarten. Die Prompt-Anzeige definieren Sie interaktiv zum Testen mit dem Befehl „PS1=‘…‘“. und dauerhaft in der Datei ~/.bashrc. Einige dynamische Variablen wie das aktuelle Verzeichnis, Datum oder Uhrzeit bietet der Prompt durch vordefinierte Escape-Zeichenfolgen selbst an, etwa „\w“ für das aktuelle Verzeichnis, „\u“ für das angemeldete Konto oder „\h“ für den Rechnernamen. Einfache Prompts sehen dann so aus:

    PS1="\w => "
    PS1="\u@\h:\w => "

    Eine gute Infoquelle für alle Prompt-Optionen ist die Seite https://wiki.archlinux.de/title/Bash-Prompt_anpassen. Über die eingebauten Codes hinaus können Sie jede allgemeine oder selbst definierte Variable einfach mit „$Variable“ in die PS1-Definition setzen:

    PS1="\w [$LOGNAME] => "

    Mehr noch: Der Prompt kann sogar beliebige Befehle aufnehmen. Wir demonstrieren das mit einem Beispiel, das freilich als Prompt dauerhaft nicht praktikabel ist:

    PS1="\nSPEICHERAUSLASTUNG: \n\$(free -m)\[\033[0m\]\n\n => "

    Um Infos gegeneinander abzugrenzen, sind ferner Farbdefinitionen vorgesehen, die stets mit der Sequenz „\[\033“ starten. Ein komplexer Prompt wie

    PS1="\n\[\033[47;30m\]\d, \A \[\033[41;37m\] \u on \H \[\033[47;30m\] MB free=$freemem \[\033[41;37m\] $CPU \[\033[40;37m\] [$timediff] \[\033[42;30m\] \w \[\033[0m\]\n"

    ist praktisch unlesbar. Immerhin geht es Schritt für Schritt von einer Escape-Sequenz zur nächsten – „\n“ bedeutet einen Zeilenumbruch, „\[\033“ schaltet dann die Farben um, „\d“ setzt das Datum ein, „\A“ die Uhrzeit. Erläuternder Text oder Zeichen wie Komma oder Blank sind an jeder Stelle möglich, ferner auch Variablen mit „$“.Wichtig ist, Farbdefinitionen am Ende wieder zurückzusetzen

    (*\[\033[0m\]“).

    Die unsäglichen Farbsequenzen einerseits, die Variablen-Tauglichkeit des Prompts andererseits veranlassen Bash-Freaks, alle nötigen Codes in Variablen abzulegen (in der ~/.bashrc)

    GREEN="\[\033[01;32m\]"

    und dann als handlichere Variablen ($GREEN) in den Prompt einzubauen. Auch dies ist aber ein mühsamer Notbehelf, dem wir folgende Online-Hilfe vorziehen:

    Easy Bash PS1 Generator: Ein nützlicher Helfer für farbenfrohe Prompts ist die Seite http://ezprompt.net/. Hier gehen Sie von ersten Position zur letzten durch, was der Prompt zeigen soll, und bestimmen für das jeweils markierte Element Vorder- und Hintergrundfarbe („FG“ und „BG“). Die einzelnen Elemente lassen sich auch nachträglich umsortieren. Im untersten Feld erscheint der zugehörige Code für die PS1-Variable, den Sie einfach kopieren, im Terminal einfügen und mit Eingabetaste testen. Wenn das Ergebnis passt, übernehmen Sie die Codezeile in Ihre Datei ~/.bashrc. Die Webseite deckt längst nicht alle Möglichkeiten des Bash-Prompts ab, liefert aber zuverlässig die heiklen Farbcodes.

    Dynamische Infos durch Prompt_Command: Wenn Variablen Echtzeit-aktuell im Prompt landen sollen (etwa die CPU-Auslastung), dann muss diese Variable unmittelbar vor der Prompt-Darstellung ermittelt werden. Dafür bietet die Bash-Shell einen speziellen Service: Mit

    PROMPT_COMMAND=[function-name]

    definieren Sie eine Function der Datei .bashrc, die bei jedem Befehl in der Kommandozeile abgerufen wird. Da dies sehr oft geschieht, sollten Sie den Rechenaufwand in Grenzen halten. Ein Beispiel für einen selbstgebauten Prompt mit Echtzeitinfos aus einem Prompt_Command sehen Sie in der Abbildung auf dieser Seite.

    Farbige Dateien und Ordner: Das Terminal stellt Dateitypen und Ordner standardmäßig in unterschiedlichen Farben dar. Wenn Sie bestimmte Farben ändern möchten, erstellen Sie mit folgendem Befehl eine persönliche Konfigurationsdatei im Home-Verzeichnis:

    dircolors -p > ~/.dircolors

    Die versteckte Datei .dircolors können Sie dann mit einem beliebigen Editor bearbeiten. So werden zum Beispiel Ordnernamen gelb gefärbt:

    DIR 01;33

    Die Einstellungen dieser eigenen Farbtabelle dominieren über die Standardeinstellungen. Die Farbcodes können Sie der bereits genannten Seite https://wiki.archlinux.de/title/Bash-Prompt_anpassen entnehmen. Achten Sie auf die Tatsache, dass solche Farbdefinitionen durch Umstellen der allgemeinen Terminalfarben (siehe Punkt 1) unter Umständen unlesbar bis unbrauchbar werden. Wer hier Zeit investiert, sollte an der allgemeinen Terminaloptik nichts mehr verändern.

    Diese Seite erspart das Recherchieren der Farbcodes: Auf http://ezprompt.net/ stellen Sie sich die Basis des Bash-Prompts per Mausklicks zusammen.

    4. Bash-Aliases und Bash-Hotkeys

    Ohne in das Bash-Scripting einzusteigen, das dieser Beitrag weitestgehend ausklammert, können einfachste Alias-Kurzbefehle und (weniger einfache) Bind-Hotkeys die Effektivität der Bash-Shell enorm steigern.

    Bash-Hotkeys: Mit Tastendefinitionen sollte man sparsam umgehen, damit der Durchblick nicht verlorengeht, jedoch sind einige Nachbesserungen sinnvoll und produktiv. So ist etwa beim Editieren am Prompt zwar das Löschen vor und nach der Cursorposition mit den Hotkeys Strg-U und Strg-K vorgesehen, aber nicht das Löschen der kompletten Zeile mit einem Hotkey. Folgende Bind-Kommandos

    bind '“\C-l“:kill-whole-line'
    bind '“\el“:kill-whole-line'

    legen den internen Befehl „kill-whole-line“ auf die Hotkeys Strg-L und Alt-L. Die Strg-Taste ist mit „\C“ einzugeben, Alt mit „\e“. Dass bei Strg die Folgetaste mit Bindestrich abzugrenzen ist, bei der Alt-Taste hingegen nicht, ist kompliziert, aber nicht zu ändern.

    Folgender Befehl

    bind '"\e[15~":"xdg-open . \n"'

    belegt die Funktionstaste F5 so, dass sie den Standarddateimanager mit dem aktuellen Verzeichnis auslöst. Die Funktionstasten sind mit „\e[nn~“ anzugeben, wobei die Ziffer „nn“ in der Regel den Wert plus 10 der tatsächlichen Taste benötigt. Im Zweifel kann der Befehl „read“ und anschließendes Drücken der Funktionstaste über die Ziffer „nn“ informieren.

    Bind-Befehle können Sie interaktiv ausprobieren; sie gelten dann bis zum Schließen des Terminals. Für permanente Gültigkeit benötigen sie einen Eintrag in die Datei ~/.bashrc.

    Aliases: Kurzbefehle können die schnelle Ordnernavigation vereinfachen oder komplexe Befehle abkürzen. Der Platz für Aliases ist wieder die Datei ~/.bashrc, und die Befehle werden in einfachsten Fällen so aussehen:

    alias ini='$EDITOR ~/bashrc'
    alias mc='mc /srv/dev-disk-by-label-Data /srv'
    alias ll='ls -alF --group-directories-first'

    Aliases entschärfen die interaktive Nutzung mächtiger Terminaltools erheblich. Ein Beispiel ist etwa folgendes Alias für den Find-Befehl:

    alias fn='read -p "Dateimaske (z.B. *.pdf): " TMP; find . -type f -name "$TMP"'

    Nach Aufruf des Kürzels fn werden Sie mittels „read“ nach der Dateimaske gefragt, die dann etwa „*.odt“ oder auch „2018*.jpg“ lauten kann (ohne Anführungszeichen). Diese Eingabe wird mit der Variable $TMP an find weitergereicht. Das Alias geht davon aus, dass man zuerst in das gewünschte Verzeichnis gewechselt hat, denn dort startet find seine Suche (Punkt nach „find .“).

    Ähnlich übergibt hier

    alias ft='read -p "Alter in Tagen (z.B. 7): " TMP; find . -type f -mtime "-$TMP"'

    die Variable $TMP eine Zahl an find, das dann über den Schalter „-mtime“ alle Dateien ermittelt, die in den letzten Tagen erstellt wurden.

    Hotkeys für die Bash-Shell: Mit bind können Sie Tasten und Tastenkombinationen neu definieren und Programme auslösen. „bind -P“ informiert über aktuelle Belegungen.
    Weniger tippen und nicht über die Syntax nachdenken: Aliases machen komplexe Bash-Kommandos – wie hier find – deutlich komfortabler.

    5. Ordnernavigation im Terminal

    Verzeichniswechsel mit cd gehören zu den meistgenutzten Kommandos. Auch hier gibt es eine Reihe kleiner Optimierungen.
    Die häufigsten Zielordner sind am besten über ein knappes Alias zu erreichen – etwa um nach

    alias d = 'cd ~/Schreibtisch'

    mit der Eingabe „d“ zum Desktop zu gelangen.
    Eine effiziente Lösung für schnelles Springen in wichtige Verzeichnisse ist die Variable CDPATH. In ihr lassen sich mehrere Ordnerpfade speichern. Danach kann man überall mit „cd [Verzeichnis]“ in ein Unterverzeichnis eines der gespeicherten Verzeichnisse springen. Um also etwa den Pfad „/var/www/html“ in die Variable CDPATH aufzunehmen, geben Sie

    export CDPATH='.:/var/www/html/'

    ein. Danach wechseln Sie von beliebiger Stelle mit „cd htdocs“ und „cd logs“ in Unterordner von „/var/www/html/“. Die CDPATH-Variable lässt sich durch eine beliebige Anzahl weiterer Verzeichnisse erweitern – jeweils durch Doppelpunkt getrennt:

    export CDPATH='.:~:/var/www/html/:/media/985c9fb3-14a6-449e-bec5-4666a283fbf4/'

    Hier besteht der „CDPATH“ aus dem aktuellen Verzeichnis („.“), dem Home-Verzeichnis („~“), dem Webserver-Verzeichnis und einem Mountordner. Am Anfang sollte mit „.:“ immer das aktuelle Verzeichnis stehen, damit dieses die höchste Priorität behält. Für einen dauerhaften „CDPATH“ müssen Sie die Export-Anweisung in die Datei .bashrc eintragen.

    Die meisten Nutzer verwenden cd für den Verzeichniswechsel, obwohl die Alternativen pushd und popd mehr Komfort bieten, vor allem dann, wenn es häufig von einem Ordner zum anderen und wieder zurückgehen soll. Daher sorgen folgende simplen Alias-Definitionen:

    alias +='pushd'
    alias _='popd'

    dafür, dass sich die Bash-Shell nach „+“ das letzte Verzeichnis merkt. Mit „_“ kehren Sie danach umstandslos zurück zum letzten Verzeichnis. Das normale Minuszeichen („-„) ist als Alias-Kürzel nicht möglich.

    Die Bash besitzt eine optionale Autokorrektur, um Vertipper bei Verzeichnisnamen auszubessern. Diese Autokorrektur ist standardmäßig abgeschaltet, erst diese drei Befehle schalten sie ein:

    shopt -s direxpand
    shopt -s dirspell
    shopt -s cdspell

    Danach wird die Shell den Eingabefehler

    cd /ect/samba/

    nach /etc/samba/ korrigieren und korrekt landen. Soll die Autokorrektur permanent aktiv sein, dann müssen die Befehle in die ~/.bashrc eingetragen werden.

    Effiziente Navigationshilfe: Einträge wichtiger Verzeichnisse in die Variable CDPATH erlauben den direkten Ordnerwechsel quer über Verzeichnisstruktur und Laufwerke.

    6. Die wichtigsten Terminaltools

    Die Aufwertung der Shell durch externe Tools ist für SSH-administrierte Server unentbehrlich, für die virtuellen Konsolen im Falle des Falles sinnvoll und selbst am Desktop erwünscht. Der letztgenannte Aspekt gilt vor allem für Nutzer, die für Datei- und Verwaltungsaufgaben generell das Terminal bevorzugen.

    Taskmanager Htop: Htop (mit gleichnamigem Paketnamen) zeigt beliebig detaillierte Infos zu allen laufenden Prozessen, CPU- und Speicherauslastung und Uptime. Es beherrscht sämtliche Kill-Methoden für randalierende Tasks. Über „F2 Setup“ lässt sich das Tool hinsichtlich Anzeigeinfos und Optik sorgfältig einrichten.

    Dateimanager MC: Der Midnight Commander (Paketname „mc“) kann es mit jedem grafischen Pendant aufnehmen und dabei mit 256-Farben-Skins auch noch attraktiv aussehen („Optionen -> Appearance“). Voraussetzung dafür ist der Befehl „TERM=xterm-256color“ in der Datei ~/.bashrc.

    Multiterminal Screen: Terminal-Multiplexer wie Screen (mit gleichnamigem Paketnamen) verwalten mehrere Terminal-Sitzungen in einem Fenster. Solche Tools sind auf der grafischen Oberfläche unnötig, aber alternativlos auf Servern, die per SSH verwaltet werden. Wenn Sie Screen starten, scheint gar nichts zu passieren. Um die Vorzüge zu erkennen, beginnen Sie am besten von vornherein mit einer Konfigurationsdatei ~/.screenrc im Home-Verzeichnis. Diese könnte etwa so aussehen wie in der nebenstehenden Abbildung. Hier werden beim Aufruf screen drei Terminals gestartet. Die „Caption“-Anzeige sorgt dafür, dass Sie in der Fußzeile über die geladenen Terminals informiert bleiben. Die Escape-Sequenzen für „Caption“ sind mühsam, aber unter www.gnu.org/software/screen/manual gut dokumentiert.

    Fundamentaler Hotkey ist Strg-a, gefolgt von einer Kommandotaste: Strg-a und nachfolgendes n oder p wechselt zur nächsten oder vorherigen Konsole. Strg-a und c startet ein weiteres Terminal, Strg-d schließt das aktuelle. Ein wichtiger Hotkey ist außerdem Strg-a und Esc, weil Sie nur dann im Screen-Fenster mit Taste oder Maus in Listen scrollen können.

    Datenträgerbelegung mit Ncdu: Ncdu (mit gleichnamigem Paketnamen) sortiert Verzeichnisse nach der enthaltenen Datenmenge und bietet eine sehr viel bequemere Festplattenanalyse als das Standardwerkzeug du. Denn Ncdu beherrscht wie ein Dateimanager die Navigation zwischen den Verzeichnissen und kann aktiv löschen. Die einzig wichtige Bedienregel, die sich nicht sofort erschließt, ist die Auswahl des Startordners. Ist Ncdu nämlich einmal gestartet, wird es in keine höhere Verzeichnisebene wechseln. Wenn Sie daher das komplette Dateisystem durchforsten wollen, sollten Sie ncdu mit

    ncdu /

    starten. Ncdu sortiert nach Ordnergrößen, kann aber mit Taste „n“ auch nach Namen sortieren, mit „s“ wieder nach Größe („size“).

    Screen und seine Konfigurationsdatei: Das Tool screen macht die typische Terminalvermehrung bei Administratoren zur übersichtlichen Angelegenheit.

    7. Alternative Terminals

    Wie Punkt 1 zeigte, geben die Standard-Terminals der Linux-Distributionen kaum Anlass, nach Alternativen zu suchen. Die gibt es natürlich: So ist Terminator (mit gleichnamigem Paketnamen) eine Fortentwicklung von Gnome-Terminal mit etlichen Zusatzfunktionen, die etwa den Textzoom mit Strg-Mausmitteltaste erlauben (wie die Konsole unter KDE) oder automatisches Ausblenden bei Fokusverlust. Weitere Funktionen fallen gegenüber dem Gnome-Terminal eher marginal aus.

    Das Terminal Terminology (mit gleichnamigem Paketnamen) stammt aus dem Enlightenment-Desktop und ist so eigenwillig wie jener. Terminology entspricht weitgehend dem Gnome-Terminal, hält aber Spezialitäten bereit, die sich nach Rechtsklick automatisch einblenden. Die hier angebotenen Split-Funktionen sowie Kopieren und Einfügen per Mausklick erhöhen den Terminal-Komfort. Unter „Einstellungen“ gibt es weitere Raffinessen wie Hintergrundbilder. Trotz dieser Vorzüge ist Terminology insgesamt gewöhnungsbedürftig und hat auch Nachteile: Schriften-, Farbdarstellung und Zoomfunktion fallen gegenüber den Standard-Terminals ab.

    Tilda und Guake: Diese Dropdown-Terminals haben kein interaktiv skalierbares Fenster und keine Titelleiste, sondern blenden sich in fester, aber exakt einstellbarer Größe nach Hotkey F1 (Tilda) oder F12 (Guake) ein und aus. Das Ausblenden kann auch automatisch bei Fokusverlust eingestellt werden, also durch beliebigem Klick außerhalb des Terminalbereichs. Die Einstellungen bieten Transparenz, Einblendanimation, Farbanpassung, Shell-Tabs, Suchleiste und vieles mehr. Im Fenster läuft die Bash – alle Bash-Einstellungen werden also übernommen. Für Terminal-Vielnutzer sind diese stets im Hintergrund wartenden Bash-Dauerläufer eine klare Empfehlung. Die Unterschiede zwischen Tilda und Guake sind marginal und letztlich Geschmackssache. Tilda und Guake sind über die gleichnamigen Paketnamen überall verfügbar.

    Fish ist kein alternatives Terminal, sondern eine eigene Shell. Sie ist über den Paketnamen „fish“ überall verfügbar, die aktuellste Version über ein PPA (ppa:fish-shell/nightly-master). Fish bringt Farbe ins Spiel, macht selbständig ergänzende Angebote zu partiellen Eingaben und informiert bei Syntaxfehlern vorbildlich über Korrekturen. Ein Alleinstellungsmerkmal ist die Konfiguration im Browser nach diesem Befehl:

    fish_config

    Unter „colors“ und „prompt“ wählen Sie aus vorgegebenen Farbschemata und Prompts, und mit „Set Theme“ oder „Set Prompt“ übernehmen Sie das Ergebnis. Wichtig sind die „abbreviations“, da Sie damit Alias-Kurzbefehle anlegen können. Für Scripts verwendet Fish „functions“ mit eigener Syntax. Zielgruppe für die Fish-Shell sind Einsteiger, denen Fish den Terminal-Umgang zunächst in der Tat vereinfacht. Das Problem ist nur, dass sich Bedienung und Script-Konzept von den Standard-Terminals stark unterscheidet: Wer der Fish-Shell wieder den Rücken kehrt, fängt mit Gnome-Terminal & Co. sowie Bash praktisch wieder von vorne an.

    Fensterlos und automatisch im Hintergrund: Das Dauerterminal Tilda kann sich in den Hintergrund verabschieden, wenn ein Desktop-Element außerhalb geklickt wird (Fokusverlust).

    Zurück zur Linux-Übersichtsseite…

True OS mit Datenschutz-Extra

True OS basiert auf Free BSD. Dieser Unix-Abkömmling hat viele Ähnlichkeiten mit Linux, aber auch signifikante Unterschiede. Zu den Besonderheiten von True OS zählen das Dateisystem ZFS und die portable Home-Verschlüsselung mit „PersonaCrypt“.

Auf http://distrowatch.com klopft in der letzten Zeit häufiger die Distribution True OS an die Top Ten. Ihre bisherige Top-Platzierung ist Platz 11, während sie bis vor ein, zwei Jahren noch unter „ferner liefen“ zu suchen war. Was ist dran an diesem System? Eine Frage, die ich an dieser Stelle gerne beantworte, zumal True OS ein schnelles Ausprobieren in einem Livesystem nicht vorsieht. Echtes Installieren ist unvermeidlich, um das System zu testen.

Download und Installation

Erste Informationen über True OS finden Sie auf der Projektseite: https://www.trueos.org/. Wer sich vorab detaillierter über die Hardware-Voraussetzungen und den Praxisalltag unter True OS informieren will, sollte einen Blick auf das Online-Handbuch https://www.trueos.org/handbook/trueos.html, das auch direkt über die Projektseite erreichbar ist. Aufgrund des Dateisystems ZFS sind für das an sich schlanke System etwa 4 GB RAM empfohlen, absolutes Minimum ist 1 GB.

Auf der Downloadseite https://www.trueos.org/downloads/ finden Sie Angebote aus dem Stable- und Unstable-Zweig (Stable empfohlen). Der Download des „Latest TrueOS Stable“ beträgt etwa 2,5 GB. Das ISO-Image schreiben Sie dann mit einem Tool Ihrer Wahl am besten auf eine DVD (Brasero unter Linux, Imgburn unter Windows). Eigentlich sollte auch ein USB-Stick als Installationsgerät funktionieren, jedoch war dies in unserem Fall weniger zuverlässig als das optische Medium.

Installer mit mäßiger Partitionierungshilfe: Die Einrichtung ist nichts für Anfänger. So fehlt etwa jeder Hinweis, dass eine MBR-Installation unter „Customize“ explizit eingestellt werden muss.

Wenn Sie den Zielrechner damit starten, erhalten Sie kein Livesystem, sondern einen reinen Installer. Neben der typischen Abfrage der Systemsprache geht es um die Entscheidung, ob eine grafische Oberfläche installiert und ein proprietärer Treiber für die Grafikkarte genutzt werden soll. Dann geht es zur Partitionierung: Wenn True OS die erste Festplatte „ada0“ nicht oder nicht in vollem Umfang übernehmen darf, ist der Klick auf „Customize Disk Settings“ erforderlich. Die Schaltfläche „Customize Disk Settings“ ist unbedingt auch dann notwendig, wenn True OS das alte MBR-Partitionierungsschema verwenden soll. Standardmäßig geht es von einer UEFI/GPT-Installation aus. Der hiermit gestartete „TrueOS Disk Wizard“ ist für Erfahrene akzeptabel, für Anfänger eher riskant. Wer Multiboot oder die umfassenden Pool- und RAID-Optionen von ZFS einrichten will, sollte unbedingt Erfahrung mitbringen und parallel das angesprochene Online-Handbuch benutzen.

Ersteinrichtung von True OS

Nach erfolgreicher Installation und dem ersten Start fordert das System ein Passwort für den Root-Zugang und danach ein erstes Benutzerkonto.

Die PersonaCrypt-Verschlüsselung: Schon bei Einrichtung des Erstkontos fällt die zweite Registerkarte „PersonaCrypt“ ins Auge, die auch später im „Usermanager“ für alle Benutzerkonten auftaucht. Es handelt sich um die optionale Verschlüsselung des jeweiligen Home-Verzeichnisses. Wie bei Linux-Systemen kann das Home-Verzeichnis geschützt werden, indem bei „Device“ die Option „On Disk Encryption (PEFS)“ gewählt wird. True OS kann aber an dieser Stelle mehr: Bei angeschlossenem USB-Datenträger wird dieser als „Device“ angezeigt und kann dann als Ziel für die verschlüsselten Dateien definiert werden. Das unter „PersonaCrypt“ eingegebene Passwort ist unabhängig vom Systempasswort, kann aber der Einfachheit halber auch identisch gewählt werden.

Im späteren Betrieb reagiert True OS auf PersonaCrypt-Konten wie folgt: Konten mit lokaler „On-Disk-Verschlüsselung“ werden am Anmeldebildschirm immer angezeigt, selbstverständlich auch alle Konten ohne jede Verschlüsselung. PersonaCrypt-Konten mit externen USB-Medien erscheinen jedoch nicht, sofern der Datenträger nicht angeschlossen ist. Mit anderen Worten: Die Anmeldung eines solchen Kontos ist nur möglich, wenn der Nutzer seinen Datenträger dabei hat und anschließt. Für die Anmeldung von PersonaCrypt-Konten sind immer zwei Kennwörter nötig – das Systempasswort und zusätzlich das Verschlüsselungspasswort.

Der Lumina-Desktop: Standardmäßig startet True OS seinen Stammdesktop Lumina. Diese Oberfläche ist keine Schönheit, orientiert sich aber mit Startmenü, Systemleiste und Rechtsklickmenü am Desktop weitgehend an geläufigen Standards. Über den Desktop-Rechtsklick und „Einstellungen -> Desktop Actions“ kann der Desktop als Ordner und Dateiablage genutzt werden. Wer es ganz minimalistisch haben will, kann am Anmeldebildschirm auch auf Fluxbox umstellen.

Das Software-Center: Die Software-Ausstattung ist standardmäßig ausreichend, aber eher spartanisch. Ihre Ausstattung ergänzen Sie recht komfortabel mit dem grafischen Paketmanager „AppCafe“. Ähnlich wie bei Ubuntu gibt es verschiedene Paketquellen, zwischen denen Sie über das Listenfeld in der Mitte wechseln. Stöbern Sie in den Kategorien oder suchen Sie gezielt nach Programmen. Viele der bekannten Linux-Klassiker wie Libre Office, VLC, Filezilla, MC oder Gimp sind auch in Versionen für True OS (Free BSD) zu bekommen. Auch alternative Desktops wie Mate oder XFCE sind verfügbar. Das „AppCafe“ bietet nicht den Umfang von Debian/Ubuntu-Distributionen, aber alles Wesentliche ist hier erhältlich.

Fazit: Viele Kompromisse

Das Hauptmotiv für True OS ist wohl nicht das mächtige Dateisystem ZFS mit vielen Server-relevanten Optionen für Festplattenpools und System-Snapshots. Vielmehr dürfte bestimmte Nutzer das ungewöhnliche „PersonaCrypt“ faszinieren: Die eigenen Daten sind unzugänglich, das maßgebliche Konto am Login-Bildschirm nicht einmal ersichtlich, solange der Nutzer nicht das passende USB-Gerät aus seiner Schublade holt und anschließt. Ob man solche Zwei-Geräte-Sicherheit als konsequente Datenschutzmaßnahme interpretieren oder doch überwiegend in der Ecke schmuddeliger Versteckspiele verorten will, überlassen wir dem Urteil des Lesers.

Deutlich ist, dass der Anwender für das eine oder andere interessante True-OS-Feature einige Kompromisse in Kauf nehmen muss: True OS kann weder beim Installer-Komfort noch bei der Hardware-Erkennung einem Debian/Ubuntu das Wasser reichen. Mit dem voreingestellten Lumina-Desktop gibt es dann eine allenfalls brauchbare Bedienoberfläche – selbst ein einfaches LXDE (auf Lubuntu oder Debian) kann da mindestens mithalten. Nebenbei ist das System kein Schnell-Booter und fordert, gemessen am grafischen Komfort, relativ viel Arbeitsspeicher (wegen ZFS).

Hier gibt es ein unverschlüsseltes Konto „hanna“ und ein verschlüsseltes Konto „klaus“, dessen Verschlüsselungsgerät vorliegt („Ready“). Die Anmeldung fordert zwei Kennwörter.

Zurück zur Linux-Übersichtsseite…

Puppy-Systeme – klein und schnell

Sie sind optimale Zweitsysteme für die Hosentasche – zum Arbeiten, Surfen oder Reparieren. Die Puppy-Systeme, die Barry Kauler vor 15 Jahren entwickelt hat, sind ausgereift und flexibel, aber nicht ganz simpel.

Wer die Puppy-Familie mit Tahrpup, Slacko, Quirky, Fatdog, Macpup, Lxpup, Simplicity ignoriert, verschenkt das Potential großartiger Livesysteme: Die Puppies bringen auf typischerweise nur 200 bis 300 MB großen ISO-Abbildern kaum glaubliche Software-Sammlungen unter, haben einen RAM-Eigenbedarf von nur 60 bis 150 MB, booten fix (mit Ausnahmen) und bieten ein Konzept, um die an sich unveränderlichen Livesysteme über persistenten Speicher individuell anzupassen. Die Einrichtung birgt allerdings einige Hürden und wird begleitet von einer Dialogflut mit Frickler-Tonalität. Diese Hürden muss man erst mal nehmen. Dieser Beitrag erklärt das Puppy-Konzept, die Einrichtung der Systeme sowie Ausrichtung und Unterschiede einiger populärer Puppy-Varianten.

Einsatzgebiete: Warum Puppy?

Kleine Linux-Live-Distributionen, die sich für schwachbrüstige Hardware oder für den mobilen Einsatz als Zweitsystem eignen, gibt es zuhauf. Puppy-Varianten sind aber nicht nur besonders klein und sparsam (bei reicher Software-Ausstattung), sondern kombinieren die Sicherheit eines nicht kompromittierbaren Livesystems mit der Anpassungsfähigkeit eines installierten Linux. Das erreichen sie dadurch, dass die schreibgeschützten Squash-FS-Archive (Dateien mit der Endung -sfs) für das Kernsystem ergänzt werden durch persistenten Speicher, der System- und Software-Einstellungen sowie nachinstallierte Software bereithält. Dieser persönliche Speicher kann als einzige große Datei „pup_save.4fs“ (oder je nach Puppy-Variante ähnlich, etwa „thar_save.4fs“) oder als Ordner (etwa „tharsave“) vorliegen. Dieser Speicher wird beim Booten automatisch geladen, es sei denn, es gibt mehrere persönliche Speicher (auch das ist möglich), die eine vorherige Abfrage des Benutzer erfordern.

Livesystem mit Persistenz und individuellen Einstellungen? Auch das ist natürlich kein Alleinstellungsmerkmal von Puppy: Typische Livesysteme wie Tails oder Porteus beherrschen das ebenfalls, und sämtlichen Ubuntu-basierten Systemen kann das Tool Unetbootin zur Persistenz verhelfen, sofern man sie als Livesysteme nutzen will. Aber keine andere Linux-Linie neben Puppy hat sich so fokussiert, live, schnell, klein und optimal anpassungsfähig zu sein. Es ist letztlich ganz egal, ob der Einsatzzweck ein mobiler Werkzeugkasten, eine Arbeitsumgebung, ein Surfsystem oder sicheres Home-Banking sein soll.

Im Kern ist Puppy eine Methode, vorhandene Distributionen auf ein möglichst kleines Livesystem zu reduzieren. Während viele Projekte Linux-Systeme als Grundlage nehmen, die mit weiteren Ergänzungen ausgebaut werden, geht Puppy den umgekehrten Weg und entfernt zunächst viele Komponenten. Dazu dient das Baukastensystem „Woof-CE“ (https://github.com/puppylinux-woof-CE/woof-CE), das die Reduktion einer Distribution mit Scripts vereinfacht. Die Resultate sind Livesysteme mit eigener Bootumgebung und komfortablen Tools aus dem Puppy-Baukasten. Puppies laden sich während des Starts komplett in den Arbeitsspeicher. Im Unterschied zu typischen Linux-Verhältnissen wird der Anwender automatisch angemeldet und hat root-Rechte. Puppy ist somit kein Mehrbenutzersystem, jedoch ist möglich, Benutzerprofile mit unterschiedlichen Einstellungen zu verwenden.

Faszinierend sparsam: Auf diesem Netbook mit bescheidenem 1 GB Arbeitsspeicher meldet Puppy Tahr nur knapp 60 MB Eigenbedarf.

Die Einrichtungsmöglichkeiten

Offizielle Webseite der Puppy-Systeme ist http://puppylinux.org. Dort gibt es grundsätzliche Informationen und als Download-Link zumeist den Server http://distro.ibiblio.org/puppylinux/, der alle offiziellen Puppy-Varianten versammelt, ferner auch zahlreiche „Pets“ – Software-Pakete für Puppy-Systeme. Eine schnellere Quelle für einige prominente Puppies ist http://puppylinux.com/download.html. Download-Quellen für weniger prominente Varianten müssen Sie gegebenenfalls recherchieren. So liegt Lxpup etwa auf Sourceforge (https://sourceforge.net/projects/lxpup) oder Macpup auf http://macpup.org.

Puppy-Systeme laufen an sich hervorragend von CD und können dabei auch Benutzeranpassungen in einem Persistenz-Speicher nutzen, der dann allerdings auf einer internen Festplatte oder einem zusätzlichen USB-Stick gespeichert werden muss. Ein von CD bootendes Puppy durchläuft dabei einfach sämtliche angeschlossene Datenträger und sucht nach Persistenz-Ordnern oder Dateien in deren Hauptverzeichnis. Ungeachtet der technischen Möglichkeit und der Schnelligkeit auf CD ist Puppy aber auf CD nicht ideal, denn für Anpassungen brauchen Sie immer noch ein zweites Medium. Und als reines Livesystem auf CD ohne Persistenz ist Puppy auch nicht ideal, da Sie dann bei jedem Start der unkomfortable „Quick-Setup“-Dialog begrüßt, wo Sie zumindest die deutsche Tastaturbelegung einstellen müssen.

Ideal für Puppies sind USB-Sticks, weil Sie damit das Livesystem plus Speicher für Anpassungen an Ort und Stelle auf einem Datenträger haben. Die Größe des Sticks spielt praktisch keine Rolle: Für die meisten Puppies sind schon 1 oder 2 GB üppig und bieten ausreichend Platz für Nachinstallationen und Anpassungen. Andererseits ist es keine Platzverschwendung, eine heute übliche Stick-Größe mit entsprechender Leistung zu wählen, da der Stick zusätzlich auch als normaler Datenträger genutzt werden kann.

Die Installation aller Puppy-Varianten ist identisch. Die nachfolgende Anleitung zeigt die Einrichtung am Beispiel eines Puppy Tahr („Tahrpup“) auf USB-Stick. Dabei nehmen wir den Umweg über das Puppy Livesystem auf einer CD, weil der Puppy-Installer dies als den Normalfall annimmt und unter dieser Voraussetzung am einfachsten zu durchlaufen ist.

Vom ISO-Abbild zum Puppy auf USB

Schreiben Sie das gewählte ISO-Image zunächst auf eine CD. Alle Puppies passen locker auf CD, eine DVD wäre Verschwendung. Die heruntergeladene ISO-Datei brennen Sie unter Linux mit einem Tool wie Brasero und der Option „Abbild brennen“, unter Windows mit der Freeware Imgburn und der Option „Imagedatei auf Disc schreiben“. Danach booten Sie einen Rechner mit optischem Laufwerk über die CD.

  1. Das Puppy-System wird am Desktop den Dialog „Quick Setup“ anzeigen. Eigentlich brauchen Sie für das temporäre Livesystem keine Einstellungen, aber es kann für die nachfolgende Einrichtung hilfreich sein, die Tastatur auf „de (Germany)“ zu setzen. Wer die Installationsdialoge in Deutsch sehen will, kann auch die Ländereinstellung auf Deutsch setzen und über den Puppy-Paketmanager (unter „Setup“ im Hauptmenü) sogar das langpack_de installieren. Wirklich notwendig ist das nicht, weil dies an dieser Stelle nur temporär bliebe und die englischsprachigen Dialoge im Installer meist klarer sind als die deutschen.
  2. Stecken Sie den USB-Stick ein, der das Puppy aufnehmen soll, und starten Sie über die Menü-Kategorie „Setup“ den „Puppy Universal Installer“ (in einigen Varianten auch nur „Puppy Installer“). Der oberste Eintrag „USB Flash Drive“ ist der richtige. Wenn nur ein Stick angeschlossen ist, wird der Installer diesen anbieten und mit Angabe der Gerätebezeichnung (etwa /dev/sdb1 oder /dev/sdc1) um Bestätigung bitten.
Puppy (Universal) Installer: Dieses Tool des Livesystems ist notwendig für die Einrichtung auf USB-Stick.
  1. An dieser Stelle besteht noch die Möglichkeit, den USB-Stick mit Gparted zu bearbeiten. Notwendig ist die Neupartitionierung nicht, weil auch die Systempartition zusätzlich als ganz normaler Datenspeicher dienen kann. Der Abstecher zu Gparted ist jedoch manchmal nötig, wenn dem USB-Stick das Boot-Flag fehlt. Der Puppy-Installer meldet das, korrigiert es aber nicht selbst. Die Korrektur erledigt dann Gparted nach Rechtsklick auf die Partition und „Markierungen bearbeiten -> Boot“.
  2. Nun folgt die Abfrage, aus welcher Quelle der Puppy Installer die maßgeblichen Systemdateien kopieren soll. In diesem Szenario mit dem Livesystem auf CD können Sie die Option „CD“ wählen.
  3. Der nächste Dialog bietet eine Auswahl von Bootsektoren. Gemäß der Empfehlung scheint mbr.bin die zuverlässigste Wahl. Vor allem aber ist wichtig, überhaupt einen Bootsektor zu wählen, denn die Voreinstellung fährt ohne Bootsektor fort. Damit wäre der Stick nicht bootfähig.
  4. Der Rest des Installer geht bei einigen Puppies grafisch weiter, oft aber im Terminal. Zunächst müssen Sie dem Vorgang noch einmal generell zustimmen, danach erscheint noch eine Option für den künftigen Systemstart, die Sie nach der Empfehlung mit „yes“ oder „ja“ beantworten.

Die nachfolgende Kopieraktion (initrd.gz, sfs-Dateien) ist angesichts der Kompaktheit schnell erledigt. Damit hat das Livesystem auf CD seinen Dienst getan. Starten Sie nun den Rechner mit dem USB-Stick.

Bootsektor nicht übersehen! Als Voreinstellung, falls Sie hier einfach weiterklicken, schreibt der Puppy Installer keinen Bootsektor auf den USB-Stick.

Einrichtung des Puppy-Systems

Auch das Puppy auf USB begrüßt Sie wieder mit dem Dialog „Quick Setup“. Hier lohnt es sich nun, alles sorgfältig einzustellen, erste Anpassungen am Desktop vorzunehmen und im Puppy-Paketmanager das langpack_de oder andere Software nachzuinstallieren. Das Systemtool, solche Änderungen außerhalb des Livesystems zu sichern, also den persönlichen Speicherbereich anzulegen, suchen Sie vergebens. Es startet aber automatisch, sobald Sie das neue Puppy zum allerersten Mal herunterfahren („Exit“ im Hauptmenü). Dann erscheint „Erstmals: Sitzung speichern“ („First shutdown…“). Optik und Wortwahl dieses wichtigen Vorgangs unterscheidet sich bei den Puppy-Varianten erheblich, jedoch ist das Prinzip identisch:

Antworten Sie in jedem Fall mit „Speichern“ (oder „Ja“, „Yes“). Die Auswahl einer Partition entfällt beim USB-Stick, weil das Tool hier sinnvollerweise den USB-Stick als Ziel nimmt. Verwenden Sie als Speichertyp die empfohlene Option „Folder“ („Ordner“), denn dies ist flexibler als eine Speicherdatei mit fixer Größe. Weitere Entscheidungen betreffen die optionale Verschlüsselung des Speichers und einen individuellen Namenszusatz. Danach legt das System den Speicherbereich an, kopiert die bereits angefallenen Daten und fährt herunter.

Die künftige Puppy-Nutzung gestaltet sich äußerst komfortabel: Störende Bremsen wie „Quick-Setup“ und „First shutdown“ entfallen, Software-Nachinstallationen sind durch „Quickpet“ und den „Puppy Package Manager“ schnell und einfach. Für Desktop-Anpassungen ist die Menü-Rubrik „Desktop“ einschlägig, die unter anderem den JWM Configuration Manager anbietet. Joe’s Window Manager ist die typische Puppy-Oberfläche, jedoch gibt es auch Varianten mit LXDE.

Der persönliche Speicherbereich, der alle Änderungen aufnimmt, ist auf Dateiebene unter /mnt/data/ leicht zugänglich und erlaubt damit auch einfache Experimente: Es genügt den kompletten Save-Ordner oder die Save-Datei auf gleicher Ebene und neuem Namen zu kopieren – etwa „tharsave“ als „tharsave-sepp“. Dadurch entsteht praktisch ein neues Benutzerprofil, das Sie mit eigenen Einstellungen ausstatten können. Das Puppy-System wird dann künftig beim Start eine Auswahl der Form

  • 0 none
  • 1 sdd1 /tahrsave
  • 2 sdd1 /tahrsave-sepp

anbieten, was nebenbei auch den Start des puren Livesystems (mit „none“) ermöglicht.

Alle lokalen Laufwerk zeigt Puppy standardmäßig als Desktop-Links an. Netzwerkfreigaben erreichen Sie über das Pnethood-Tool unter „Netzwerk“. Falls eine manuelle Einrichtung des Netzwerks notwendig ist, versammelt das Tool „Internet Connection Wizard“ (unter „Setup“) alle LAN-, WLAN-, Internet-, Proxy- und Firewall-Einstellungen.

Persönlichen Speicher anlegen: Die Meldung oben erscheint automatisch beim ersten Shutdown. Danach gibt es einige Entscheidungen zu treffen. Die Prozedur ist aber nur einmal zu durchlaufen.
Einfache Installationen: Puppy hat sein eigenes Paketformat (PET), macht dem Nutzer die Sache aber mit dem Package Manager und außerdem einer „Quickpet“-Vorauswahl sehr bequem.

Einige Puppy-Varianten im Steckbrief

Der ursprüngliche Entwickler Barry Kauler ist im Ruhestand und arbeitet nur noch sporadisch an Puppy. Seit den Anfangszeiten ab 2003 entstanden unzählige Varianten auf Basis des Buildsystems Woof-CE. Die offizielle Puppy-Familie unterteilt sich in zwei Hauptlinien. Die erste Puppy-Linie nennt sich „Slacko“, das die besonders kompakte Slackware als Systembasis nutzt. Die zweite Hauptlinie namens „Tahrpup“ basiert auf Ubuntu 14.04 LTS „Trusty Tahr“. Daneben gibt es inoffizielle Puppy-Systeme sowie die große Unterfamilie der „Puplets“. Dies sind mit speziellen Software-Paketen ausgestattete Puppy-Varianten, die meist im Puppy-Forum vorgestellt werden (siehe „Puplet for special features“ unter http://puppylinux.org/main/).

Im Allgemeinen fahren Sie am besten mit Puppy Slacko (Slackware) oder Puppy Thar (Ubuntu 14.04). Das auf Ubuntu 16.04 basierende und längst überfällige Xenialpup ist noch Beta. Das teilweise aus Ubuntu 16.04 gebaute Quirky vom Puppy-Gründer Barry Kauler (http://barryk.org/quirky/) ist experimentell und nicht für den Produktiveinsatz empfohlen. Das inspirierende Puppy-Konzept treibt aber allerlei Blüten, die je nach Einsatzzwecke ebenfalls interessant sein könnten:

Lxpup nutzt statt des JWM-Fenstermanagers einen soliden LXDE-Desktop, der für manche Anwender vertrauter ausfällt (https://sourceforge.net/projects/lxpup). Die vorinstallierten Programme fallen mit der Firefox-Abspaltung Palemoon, Mailclient Sylpheed oder Gparted ebenso Puppy-typisch aus wie die große Zahl kleiner System-Tools. Hauptmotiv für Lxpup ist eindeutig der LXDE-Desktop.

Simplicity ist ein Abkömmling Lxpup und geht einen Schritt weiter Richtung Desktop-System. Mit einem fast 600-MB-ISO-Abbild (http://simplicitylinux.org/) übertrifft Simplicity übliche Puppies um das Dreifache, liefert dafür aber ein komplettes Desktop-System unter einer LXDE-Oberfläche (Firefox, Skype, VLC, Libre Office). Aufgrund dieser Software sind die Hardware-Anforderungen etwas höher als bei einem reinen Puppy. Nach unserer Ansicht widerspricht Simplicity dem Konzeptkern der Puppy-Livesysteme, hat aber eine gewisse Popularität.

Macpup ist ein Puppy mit dem ganz hübschen, aber exotischen Enlightenment-Desktop (http://macpup.org) – nur für Enlightenment-Fans! Wer ein pragmatisches Zweitsystem sucht, handelt sich damit nur weitere Komplikationen ein. Immerhin handelt es sich um ein typisches Puppy mit einem nur 220 MB großen Abbild, das sogar für einen ausgewachsenen Firefox Platz findet.

Fatdog ist ein witziger Name für ein kleines Puppy-System, dessen ISO-Abbild etwa 360 MB beträgt (http://distro.ibiblio.org/fatdog/iso/). In der Runde der sonstigen Puppy-Winzlinge darf Fatdog aber in der Tat als dicker Hund gelten. Dies geht in erster Linie auf die erweiterte Software zurück, da bereits ein komplettes Libre Office, ferner Gimp und der VLC an Bord sind. Als Desktop dient LXDE mit Openbox.

Lxpup mit LXDE-Desktop: Outfit und Dialoge der Puppy-Varianten unterscheiden sich oft deutlich, die Arbeitsweise ist aber immer identisch – hier das Anlegen des Savefiles beim ersten Shutdown.

Zurück zur Linux-Übersichtsseite…

Das Heimnetz: Hardware, Tipps und Tools

Der kompakte Beitrag zum lokalen Netzwerk bespricht die typische Hardware für das private Heimnetz und Home Office und die wichtigsten Konfigurationseinstellungen und Netzwerkkommandos für Desktop und Server.

Netzwerke sind Hardware-seitig unglaublich flexibel und ausbaufähig. Linux wiederum ist für das Netzwerken geschaffen und macht als Netzwerk-Client wie als Server eine glänzende Figur. Dieser Beitrag liefert Basiswissen und vertiefende Tipps für ein optimiertes Heimnetz. Dabei geht es ausschließlich um das lokale LAN- und WLAN-Netz mit typischen Geräten, Kommunikationsprotokollen, Freigaben und Serververwaltung. Das öffentliche Netz, das Internet, bleibt komplett außen vor – siehe dazu diesen Artikel: Tipps und Tools fürs Internet

1. Der grafische Network-Manager

Sowohl für Ethernet als auch für WLAN erfolgt die grafische Netzwerkverwaltung unter fast allen Desktop-Distributionen über das Applet des Network-Managers in der Systemleiste. Auf Gnome-affinen Distributionen können Sie die dafür zuständigen Komponenten notfalls auch über

sudo apt-get install network-manager network-manager-gnome

nachinstallieren. In Ubuntu erscheint das Icon in der Systemleiste am oberen Bildschirmrand. Nach einem Klick darauf sehen Sie ein Menü mit einer Liste der verfügbaren Funknetzwerke. Klicken Sie das gewünschte an, geben Sie hinter „Passwort“ den WPA-Schlüssel ein, und klicken Sie auf „Verbinden“. Ist eine Ethernet-Verbindung aktiv, erscheint dieses unter „Kabelnetzwerk“. Im Menü gibt es außerdem die Einträge „Netzwerk aktivieren“ und bei WLAN „Funknetzwerk aktivieren“. Vor beiden muss ein Häkchen gesetzt sein, damit die Verbindung funktioniert.

Bei Fehlfunktionen sollten Sie über „Verbindungen bearbeiten“ die Einstellungen prüfen und gegebenenfalls ändern. Wählen Sie etwa „Kabelnetzwerkverbindung 1“, klicken Sie auf „Bearbeiten“ und gehen Sie auf die Registerkarte „IPv4-Einstellungen“. Hinter „Methode“ sollte hier „Automatisch (DHCP)“ eingetragen sein. Es ist nur in Ausnahmefällen ratsam (Server, Access Points, Netzdrucker), feste IP-Adressen manuell zu konfigurieren, damit das Gerät immer unter der gleichen IP-Adresse erreichbar ist (siehe -> Punkt 9).

Tipp: Der Network-Manager unterstützt keine deutschen Umlaute beim WLAN-Passwort. Vermeiden Sie daher WLAN-Kennwörter mit „ä“, „ö“, „ü“, „ß“ in der Router- oder Access-Point-Konfiguration.

Aktuelle Linux-Systeme nutzen den Network-Manager für den Verbindungsaufbau. Das Tool steuert über „Verbindungsinformationen“ sogar subtile Details wie die MTU-Paketgrößen.

2. Klassische Netzwerk-Konfiguration

Distributionen ohne Network Manager verwenden die klassische Linux-Konfiguration über die Datei /etc/network/interfaces. Deren Einträge haben in jedem Fall Vorrang vor denen des Network-Managers. Fehlerhafte Angaben an dieser Stelle können daher auch den Network-Manager lahmlegen. Standardmäßig enthält die Datei interfaces auf Desktop-Systemen nur die zwei Zeilen

auto lo
iface lo inet loopback

für den Loopback-Adapter (siehe dazu -> Punkt 3).

Für einen Server ohne grafischen Network Manager wären die folgenden Zeilen eine gültige Konfiguration für den Ethernet-Adapter, der hier die feste IP „100“ beziehen soll:

auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.8.8

Der Adressraum „192.168.0.x“ muss natürlich angepasst werden, bei Fritzbox-Routern ist „192.168.178.x“ typisch. Spielt die IP keine Rolle (dynamisch über DHCP), dann genügen zwei Zeilen:

auto eth0
iface eth0 inet dhcp

Die Einstellungen werden erst nach einem Neustart wirksam.

3. Netzwerkadapter mit ifconfig im Griff

Das Terminaltool ifconfig ist unentbehrlich für die Anzeige der Netzadapter und beherrscht auch fundamentale Eingriffe. Bei purer Eingabe ifconfig erhalten Sie die IP-Adresse des Geräts, die physikalische MAC-Adresse des Netzadapters, ferner die Download- (RX) und Upload-Datenmenge (TX) seit dem letzten Systemstart. Der Ethernet-Adapter erscheint als „eth0“ (oder „enp6s0“), der WLAN-Adapter als „wlan0“. Die angezeigte „lo“-Schnittstelle mit der IP-Adresse 127.0.0.1 existiert nicht physisch: Bei dieser „lokalen Schleife“ (Loopback) handelt es sich um eine zum lokalen System zurückführende Schnittstelle, womit lokale Prozesse via TCP/IP miteinander kommunizieren.

Wenn ifconfig nur den virtuellen Loopback Adapter „lo“ anzeigt, hat Linux den Ethernet-Adapter Hardware-technisch nicht erkannt. Bei Ethernet-Adaptern ist das so gut wie ausgeschlossen. Was Sie bei WLAN-Adaptern in diesem Fall unternehmen können, lesen Sie im Hardware-Kasten („WLAN-Adapter unter Linux“).

Mit „down“ und „up“

sudo ifconfig eth0 down

schalten Sie einen Adapter, in diesem Fall mit „eth0“ den Ethernet-Anschluss, aus oder wieder ein.

Der nachfolgende Befehl

sudo ifconfig eth0 192.168.0.222

fordert eine neue lokale IP-Adresse vom Router. Dies führt zwar zu einer inkonsistenten Netzkonfiguration, sollte aber nach wie vor den Zugriff auf die Router-Oberfläche ermöglichen. Dort können Sie dann diese Wunsch-IP als feste IP festlegen.

Download- (RX) und Upload-Menge (TX): Ifconfig zeigt unter anderem auch den Datendurchsatz am betreffenden Adapter seit dem Systemstart.

4. WLAN-Konfiguration mit iwconfig und iwlist

Die manuelle Konfiguration des WLAN-Adapters ist nur nötig, wenn Sie einen Headless-Server ohne Monitor, Maus, Tastatur per SSH konfigurieren. Folgende Kombination von Netzwerkkommandos, die allesamt zum Linux-Standard gehören, kann das erledigen:

sudo iwlist scanning
sudo iwconfig wlan0 essid [Netzname] key s:[Passwort]
sudo dhclient wlan0

iwlist zeigt zunächst die verfügbaren Funknetze (Netznamen als „ESSID“), und iwconfig verbindet zum gewünschten Netz: Nach „essid“ folgt der Netzname, nach „key“ das WLAN-Passwort. Da nicht der hexadezimale Schlüssel, sondern das Passwort übergeben wird, muss das mit „s:“ signalisiert werden. Zu guter Letzt bezieht der Rechner mit dhclient eine IP-Adresse vom Router.

Speziell bei Ubuntu-basierten Systemen ist diese Vorgehensweise aber oft erfolglos. Hier empfiehlt sich auch bei späteren Headless-Servern zunächst die Grundkonfiguration des Funknetzes mit dem grafischen Network Manager.

5. LAN-Rechner mit ping prüfen

Ping gehört überall zur Linux-Standardausstattung. Das einfache Tool prüft, ob der aktuelle PC Verbindung zum Router („ping 192.168.0.1“) hat oder ob ein anderer PC im lokalen Netz („ping 192.168.0.10“) erreichbar ist. Neben der schlichten Recherche, ob sich der befragte Host überhaupt meldet, gibt es auch qualitative Aussagen: Im Heimnetz sollten keine verlorenen Datenpakete auftreten („packet loss“) und die Antwortzeiten unter zehn Millisekunden liegen, während Pings ins Web selten unter 20 Millisekunden antworten.
Ping ohne Counter („-c“) läuft endlos, lässt sich aber mit der Tastenkombination Strg-C abbrechen. Ist der Router mit ping nicht erreichbar, hilft oft das Aus- und Einschalten des Netzwerkadapters, um eine neue IP-Adresse zu beziehen.

6. Nmap-Pings an alle Geräte im lokalen Netz

Ping (siehe -> Punkt 5) kann Hostnamen auflösen („ping fritz.box“), übersetzt aber keine IP-Adressen zu Hostnamen. Außerdem kann es – ohne Scriptunterstützung – nur auf eine Adresse losgeschickt werden. Für eine Komplettübersicht im lokalen Netz hilft nmap. Nmap ist in der Regel nicht vorinstalliert, aber mit seinem Paketnamen „nmap“ in allen Repositories erhältlich. Folgende nmap-Kommandos

nmap -sP 192.168.0.1-50
nmap -sP 192.168.0.*

schicken Ping-Anfragen an die ersten 50 und alle 255 Adressen des Adressraum. Der schnelle Ping-Scan zeigt dann alle laufenden Netzgeräte mit Host-Namen und IP-Adresse.
Ohne Ping-Parameter („-sP“) macht nmap sorgfältige und zeitaufwändige Portscans: Sie erhalten zu jedem Rechner Host-Namen, IP-Adresse, MAC-Adresse und die Liste aller offenen Ports. Ist der Vorgang für den gesamten lokalen Adressraum zu langwierig, lässt sich auch ein einzelner PC befragen (nmap 192.168.0.10 oder auch mit Hostnamen nmap raspberry).

Überblick mit nmap: Der Portscanner taugt auch für einfache Ping-Abfragen im gesamten lokalen Adressraum und löst dabei die Host-Namen auf.

7. Netzwerksicherheit mit Nmap-Portscans

Risiken für Ihr Heimnetz entstehen durch offene Ports, die den Zutritt über das Internet in Ihr lokales Netz erlauben. Handelt es sich um Portfreigaben im Router, die Sie selbst eingerichtet haben, dann ist das in Ordnung, wenn nicht, bedeuten offene Ports Alarmstufe rot. Kontrolle über eventuell vergessene Portfreigaben erhalten Sie im Router, so etwa in der Fritzbox unter „Internet -> Freigaben -> Portfreigaben“. Einen objektiven Test, der auch innere Feinde in Form von laufender Schadsoftware entlarvt, können Sie mit nmap realisieren.

Zunächst müssen Sie Ihre öffentliche IP-Adresse ermitteln. Die kennt zum Beispiel Ihr Router („Übersicht“ in der Fritzbox), sie kann aber auch mit einem Tool wie inxi ermittelt werden („WAN IP“ nach Eingabe inxi -i). Die öffentliche WAN-IP, beispielweise 178.23.136.15, prüfen Sie dann mit diesem Kommando:

sudo nmap -Pn 178.23.136.15

Dabei untersucht nmap die Standardports von 1 bis 1000. Sämtliche Ports erfassen Sie mit diesem Befehl:

sudo nmap -Pn -p0-65535 178.23.136.15

Dieser Scan durchläuft alle Ports von 1 bis 65535 und dauert sehr lange. Als Ergebnis sollten Sie, sofern Ihr Netz für das Internet komplett geschlossen sein soll, die Antwort erhalten „All scanned ports are filtered“. Wo immer das nicht der Fall ist und die Ursache unklar, weil dafür keine Portfreigabe im Router vorliegt, gehen Sie mit der angezeigten Portnummer der Sache auf den Grund:

sudo nmap -sV -Pn -p[Nummer] 178.23.136.15

Mit Schalter „-sV“ zeigt nmap an, welches Programm oder welcher Dienst diesen Port benutzt. Ist dieser Prozess unerwünscht, beenden Sie den Verursacher mit einem Taskmanager umgehend (in der „Systemüberwachung“ oder mit top/htop im Terminal) und dauerhaft durch Deinstallieren und Löschen der Programmdateien.

„All ports filtered“: Dieses nmap-Ergebnis stellt sicher, dass Ihr lokales Netz über das Internet nicht erreichbar ist. Offene Ports würde nmap als „OPEN“ melden.

8. MAC-Adressen mit arp ermitteln

Jeder Netzadapter hat eine eindeutige MAC-Adresse der Form C2:22:09:F2:5F:E8 (sechs zwei-stellige Hexadezimalzahlen). Die brauchen Sie zum Beispiel dann, wenn Sie im Router feste IP-Adressen oder Zugangskontrollen einrichten wollen (siehe -> Punkt 9). Der Router selbst kennt und zeigt natürlich sämtliche MAC-Adressen. Am lokalen Rechner zeigt ifconfig (siehe -> Punkt 3) immerhin dessen MAC-Adresse(n) als „Hardware Adresse“ an. Der Befehl arp (Address Resolution Protocol) kann noch mehr:

arp –a

Dies wirft die MAC-Adressen aller in letzter Zeit verbundenen Netzgeräte aus. Da der Arp-Cache seine Daten periodisch verwirft, ist vielleicht momentan genau das gesuchte Gerät nicht in der Liste. Wenn Sie aber vorher einen Ping an das Gerät schicken und dann arp -a befragen, erhalten Sie zuverlässig die MAC-Adresse des entfernten Geräts.

9. Feste IPs im Router einrichten

Server, aber auch Geräte wie Access Points, WLAN-Repeater oder Netzwerkdrucker verdienen eine feste lokale IP-Adresse, damit Sie Konfigurationsoberflächen oder Daten zuverlässig erreichen (etwa via Browser-Lesezeichen oder in Scripts). Die Vergabe fester IP-Adressen erledigt am besten zentral der Router, der die IPs als DHCP-Server vergibt. Der betreffende Punkt kann „DHCP-Reservierung“ oder ähnlich lauten. In der Fritzbox finden Sie diese Möglichkeit unter „Heimnetz –> Netzwerk“. Dort erscheint für die eingetragenen Netzwerkgeräte die Option „Diesem Netzwerkgerät immer die gleiche IP-Adresse zuweisen.“

Dabei kann aber nur die gerade aktuelle IP als künftig konstante IP eingestellt werden. Wenn Sie eine ganz bestimmte andere IP wollen, lassen Sie sich unter „Heimnetz -> Heimnetzübersicht“ die Details des gewünschten Netzgeräts anzeigen und notieren sich die MAC-Adresse („Geräteinformation“). Danach verwenden Sie „Heimnetz -> Heimnetzübersicht -> Netzwerkverbindungen -> Gerät hinzufügen“. Dort können Sie unter Angabe der „MAC-Adresse“ die Wunsch-IP vergeben. Der Router wird melden, dass ihm das Gerät unter einer anderen IP bekannt ist, und Sie müssen mit „OK“ bestätigen, dass Sie die Einstellung überschreiben wollen. Danach sollten Sie das Gerät (oder dessen Netz-Adapter) neu starten.

Feste IP für bestimmte Netzgeräte: Diese Aufgabe löst mancher Lowcost-Router logischer als die Fritzbox – hier ein Dlink-Router unter „DHCP-Reservierung“.

10. Server: Fritz-NAS als zentraler Speicher

Wer „nur“ einen zuverlässigen Datenserver braucht und eine Fritzbox als Router besitzt, braucht nicht notwendig einen Server oder Platinenrechner. Mit der Fritzbox reduziert sich der Einrichtungsaufwand auf ein Minimum: Wenn Sie unter „Heimnetz -> Speicher (NAS)“ die NAS-Funktion über „Speicher (NAS) aktiv“ einschalten, ist sofort der interne Speicher im Netz verfügbar. 512 MB bis 1,5 GB bieten neuere Fritzboxen an internem Speicher an. Das reicht natürlich nicht für einen Datenserver. Sobald Sie aber an einen der beiden USB-Ports einen USB-Datenträger anschließen, wird dieser unter „Heimnetz -> Speicher (NAS)“ angezeigt und kann dort durch die Klickbox aktiviert werden.

Das Fritz-NAS arbeitet wie eine Samba-Freigabe unter Linux: Der Standard-Hostname „fritz.nas“ (Standard-IP ist xxx.xxx.xxx.254) erscheint unter „Netzwerk“ im Dateimanager von Linux- und Windows-PCs, und die Daten lassen sich nutzen, sofern sich der Netzteilnehmer ausweisen kann. Die Einrichtung mindestens eines Benutzerkontos erledigen Sie unter „System -> Fritz!Box-Benutzer“. An dieser Stelle sind differenzierte Schreib- und Leserechte und Ordnerfreigaben möglich wie unter Linux üblich. Standardmäßig gibt die Fritzbox „Alle…verfügbaren Speicher“ mit Lese- und Schreibrecht frei.

Fritz-Datenserver auf der Konfigurationsoberfläche und im Dateimanager: Die Einrichtung eines USB-Datenträgers im Fritz-NAS ist einfacher als jede Server-Lösung.

11. Server-Freigaben mit Samba im Terminal

Wer es sich bequem machen will, wird auch auf einem ferngewarteten Platinenserver ein Serversystem mit einer klickfreundlichen Weboberfläche einsetzen. Erste Wahl für Raspberry & Co ist aktuell die NAS-Distribution Open Media Vault (openmediavault.org). Wirklich notwendig ist ein solcher Überbau für einen einfachen Datenserver im Heimnetz allerdings nicht. Wenige Kommandos im Terminal des Servers oder per SSH auf einem anderen Netzrechner (siehe -> Punkt 13 und 17) genügen, um Netzwerkfreigaben via Samba einzurichten. Voraussetzung ist zunächst ein installiertes Samba-Server-Paket (bei Server-Distributionen meist schon vorinstalliert):

sudo apt update
sudo apt upgrade
sudo apt install samba-common samba

Jeder Benutzer, der auf Freigaben zugreifen darf, muss ein Systemkonto mit Passwort besitzen:

sudo adduser sepp

Das Benutzer-Passwort wird nach Eingabe dieses Befehls automatisch abgefragt.
Ferner muss der Benutzer zusätzlich ein Samba-Kennwort erhalten, denn Samba hat seine unabhängige Kennwortverwaltung:

sudo smbpasswd -a sepp

Danach genügt folgender Befehl, um ein Verzeichnis dauerhaft über das Netzwerk freizugeben:

sudo net usershare add sepp /home/sepp "" sepp:f

Hier wird das Verzeichnis /home/sepp als Freigabe mit dem Namen „sepp“ für den gleichnamigen User im Netzwerk freigegeben.

12. Samba-Konfiguration in der Datei smb.conf

Samba verwendet als einzige Konfigurationsdatei /etc/samba/smb.conf. Darin sind die Basis-Einstellungen für den Samba-Server und auch die Freigaben festgelegt. Das Editieren der smb.conf ist umfassender und oft auch bequemer als net-Befehle auf der Kommandozeile:

sudo nano /etc/samba/smb.conf

Arbeitsgruppe: Mit „workgroup=WORKGROUP“ unter „[global]“ legen Sie die Arbeitsgruppe fest. Windows verwendet die Gruppe ebenfalls standardmäßig, sodass Sie die Einstellung belassen können. Wenn Sie in Ihrem Netzwerk eine anders benannte Gruppe verwenden, ändern Sie den Wert entsprechend. Für den Zugriff auf die Freigaben ist die Arbeitsgruppe nicht wesentlich, jedoch zeigen Linux-Datei-Manager nicht einfach alle Rechner mit Freigaben in einer Liste an, sondern organisieren sie in Arbeitsgruppen unterhalb von „Windows-Netzwerk“. Sie sparen sich unnötige Mausklicks, wenn Sie alle Rechner in derselben Gruppe unterbringen.

Home-Verzeichnisse freigeben: Weiter unten in der smb.conf gibt es einen auskommentierten Abschnitt, der mit „;[homes]“ beginnt. Entfernen Sie die Kommentarzeichen (Semikolon), um die Home-Verzeichnisse aller Benutzer standardmäßig freizugeben. Soll auch der Schreibzugriff erlaubt sein, ändern Sie „read only = yes“ auf „read only = no“. Wenn ein authentifizierter Benutzer auf den Server zugreift, sieht er nur sein eigenes Home-Verzeichnis als Freigabe.

Allgemeine Freigaben: Eine neue Freigabe für ein beliebiges Verzeichnis lässt sich über drei Zeilen realisieren, die Sie am Ende der Datei smb.conf einfügen:

[data]
path = /media/data
writeable = no

In diesem Beispiel wird das Verzeichnis „/media/data“ unter der Bezeichnung „data“ freigegeben. Der Ordner muss existieren und die Benutzer müssen auf der Ebene des Dateisystems zumindest Leserechte besitzen.

Achtung: Änderungen in der smb.conf werden erst wirksam, wenn Sie den Samba-Dienst mit

sudo service smbd restart

neu starten:

Samba konfigurieren: Alle nötigen Einstellungen für den Samba-Server und die Netzwerk-Freigaben nehmen Sie in der Datei /etc/samba/smb.conf vor.

13. SSH-Serverwartung mit Linux und Mac OS X

Kein Server ohne Secure Shell (SSH)! Selbst wenn Sie einen (Raspberry-) Server mit Webserver und freundlicher Konfigurationsoberfläche betreiben, bleibt die SSH-Wartung auf der Kommandozeile das umfassendste, schnellste und direkteste Werkzeug. Einzige Voraussetzung auf dem Server ist ein installierter Open-SSH-Server (auf typischen Server-Distributionen wie Cent OS, Ubuntu Server oder Open Media Vault standardmäßig installiert und aktiv). Wo er noch fehlt, ist das mit

sudo apt-get install openssh-server

leicht zu korrigieren.
Die Client-Komponente für den Fernzugriff bringt jedes Linux- und Mac-System mit. Dort genügt dann der Befehl

ssh [benutzer]@[IP-Adresse]

für die Anmeldung auf dem entfernten Server, also etwa:

ssh root@192.168.0.10

Beim allerersten Zugriff auf einen Server ist dem Client-System der Rechner noch nicht bekannt, und Sie müssen die Verbindung mit „yes“ bestätigen. Künftig entfällt diese Abfrage, weil der Fingerabdruck des Servers auf dem Client unter .ssh/known_hosts gespeichert wird. Nach Erlaubnis der Verbindung mit „yes“ erfolgt die Abfrage des User-Kennwort. Auf dem Remote-Terminal können Sie alle Befehle verwenden wie in einem lokalen Terminal. Sie bearbeiten Konfigurationsdateien, installieren Programme mit apt-get oder versorgen das System mit Updates. Der Befehl exit oder die Tastenkombination Strg-D beenden die SSH-Verbindung.

14. SSH-Datenaustausch mit dem Midnight Commander

Der Midnight Commander (MC) erlaubt unter Linux und Mac OS den direkten Datenaustausch zwischen Server und Client (anstatt über scp-Kommandos oder auf dem Umweg von Samba-Freigaben). Es beherrscht nämlich selbst SSH über die Option „Shell-Verbindung“ in den Menüs „Links/Rechts“. Wie bei ssh auf der Kommandozeile geben Sie hier den Servernamen oder die IP-Adresse an, optional bereits mit dem gewünschten User (etwa: root@192.168.0.10). Nach Eingabe des Kennworts zeigt der Midnight Commander in einer Fensterhälfte das Dateisystem des Servers, in der anderen das des zugreifenden Client – Sie können als root sofort Dateien im gesamten Dateisystem austauschen.

Der MC erwartet die Kommunikation über den SSH-Standardport 22. Für abweichende Ports gibt es eine spezielle Lösung: Legen Sie auf dem zugreifenden Linux-Client-System (nicht auf dem Server!) unter ~/.ssh die Datei „config“ neu an. Dort definieren Sie einen oder auch mehrere Server in folgender Weise:

Host raspi
Hostname 192.168.0.20
Port 12345
User root

Ab sofort genügt es, im MC beim Eingabefeld der „Shell-Verbindung“ als Host den Namen „raspi“ einzugeben. Alle übrigen Infos über IP, Port, User liest der MC aus der config-Datei.

Der Midnight Commander beherrscht SSH und bringt das Dateisystem des Servers direkt zum SSH-Client. Links sehen Sie den bereits verbundenen Server, rechts den Client-PC.

15. Linux-Dateimanager und Netzressourcen

Linux-Dateimanager wie Nautilus (Ubuntu) oder Nemo (Mint) können mit allen Netzressourcen inklusive Samba, FTP, Webdav und SSH umgehen. Wenn Sie in der Navigationsspalte auf  „Netzwerk“ gehen, werden die Netzrechner angezeigt, Windows- und Samba-Freigaben unter „Windows-Netzwerk“. Über die Adresszeile (editierbar nach Strg-L) können Sie direkte Serveradressen eingeben. Bei Windows- und Samba-Freigaben verwenden Sie „smb://[Server]/[Freigabename]“, wobei statt „[Rechner]“ immer auch die IP-Adresse des Servers funktioniert. Bei der Fernwartung von Servern mit SSH bieten Dateimanager oft komfortablere Bearbeitungsmöglichkeiten als das SSH-Terminal. Eine typische Adresse im Dateimanager könnte so lauten:

ssh://root@192.168.0.8[:Port]

Die Angabe der Portnummer ist nur notwendig, wenn der Port vom Standard „22“ abweicht. Nach der Anmeldung kopieren und bearbeiten Sie Daten bequem und sicher direkt im Dateimanager über das Protokoll SFTP.

Mit dem grafischen Dateimanager auf dem SSH-Server: Desktop-Dateimanager wie hier Nemo unter Linux Mint beherrschen das SSH-Protokoll ebenso wie Samba oder FTP.

16. Grafische Programme über SSH (X11-Forwarding)

Sofern es auf dem Server grafische Programme gibt, lassen sich diese auch über SSH starten und auf dem Client-PC anzeigen. Unter Linux als zugreifender Client ist der Aufwand am geringsten: Hier verwenden Sie beim SSH-Aufruf einfach den Schalter „-X“ (Großschreibung!):

ssh –X root@192.168.0.10

In der SSH-Konsole starten Sie dann etwa mit thunar oder gedit das gewünschte, grafische Programm.
Der SSH-Client von Mac OS X unterstützt nur die pure Kommandozeile. Für grafisches X11-Forwarding ist die zusätzliche Komponente XQuartz erforderlich (http://xquartz.macosforge.org/landing/).

17. SSH-Clients unter Windows (Putty / Xming)

Wenn Sie einen Linux-Server mit einem Windows-PC warten wollen, sind Sie auf Putty oder seinen fast identischen Klon Kitty angewiesen (auf Heft-DVD, Downloads und Infos unter www.putty.org und www.9bis.net). Kitty unterscheidet sich dadurch, dass es die automatische Übergabe des Passworts erlaubt („Connection -> Data“) und damit eine automatische Anmeldung, ferner dass es die Server-Daten in Klartextdateien unter \Kitty\Sessions ablegt (statt in der Windows Registry).

Putty/Kitty bieten die komfortable Verwaltung mehrerer Server. Die Basiskonfiguration ist einfach: Geben Sie unter „Host Name“ den Rechnernamen oder die IP-Adresse des Servers an. Mit „Connection type: SSH“ und dem vorgegebenen Standardport 22 können Sie sich mit „Open“ sofort verbinden. Für häufigeren Zugriff lohnt es sich, unter „Saved Sessions“ eine aussagekräftige Bezeichnung zu verwenden, „Appearance“, „Color“ und „Data“ (Benutzer) einzustellen und dies mit „Save“ dauerhaft zu speichern. Unter „Window -> Translation -> Remote character set“ sollten Sie den Eintrag „UTF-8“ wählen, damit Sonderzeichen und Linien in der SSH-Konsole korrekt angezeigt werden. Putty/Kitty dienen ausschließlich als SSH-Vermittlungsclient und Serververwaltung, die eigentliche Arbeit geschieht wie unter Linux im Terminal.

Grafische Programme über X11-Forwarding: Auch unter Windows bringen Sie grafische Programme des Servers auf den Desktop. Neben Putty/Kitty benötigen Sie dazu noch den kostenlosen X-Server Xming (http://sourceforge.net/projects/xming/). Xming muss laufen, bevor Sie die SSH-Session starten. Unter Putty/Kitty aktivieren Sie die maßgebliche Option unter „Connection -> X11 -> Enable X11 forwarding“ und tragen als „X display location“ die Angabe „localhost:0“ ein. Sichern Sie die Konfiguration mit „Session -> Save“. Die so gestartete SSH-Sitzung erlaubt wie unter Linux den Aufruf von grafischen Programmen.

Putty/Kitty unter Windows: Die Angabe der IP-Adresse und des Ports (Standard 22 ist voreingestellt) genügen. Benutzer und Kennwort werden dann bereits in der Konsole abgefragt.

Netzwerk-Hardware

Nachfolgend geht es um den Umgang mit der wichtigsten Netzwerk-Hardware, Optionen des Netzwerkausbaus und wichtige Konfigurationsmöglichkeiten. Ein Großteil dieser Infos gilt Betriebssystem-unabhängig: Für Router, Switch, Access Point, Repeater, Powerline-Adapter spielt das System eines Netzwerkgeräts keine Rolle.
Generell gilt im Netzwerk noch deutlicher als anderswo: Wenn die Hardware unzureichend, veraltet oder defekt ist, helfen keine Software-Tipps. Insbesondere bei diffusen Phänomenen eines zeitweise funktionierenden, aber immer wieder unterbrechenden Netzwerks sind Fehleranalyse und Austausch der Komponente alternativlos. Ein stabil langsames Netz ist hingegen nur eine Frage der Toleranz: Ausbaumöglichkeiten gibt es genug.

Die Router-Adresse

Die zahlreichen Router-Funktionen lassen sich in dessen Konfigurationsoberfläche über den Browser steuern. Dessen IP-Adresse lautet oft 192.168.178.1 oder 192.168.0.1, ist aber auch leicht zu ermitteln. Der Befehl

ip route show

zeigt die Adresse nach „default via …“ an. Im Prinzip genügt auch der Befehl ifconfig, wenn Sie im vierten Block der IPv4-Adresse statt der angezeigten Ziffer (die IP des aktuellen Geräts) die „1“ einsetzen.

Der Router zeigt eine wichtige Geräteübersicht mit allen Gerätenamen, IP- und MAC-Adressen (in der Fritzbox unter „Heimnetz -> Heimnetzübersicht“). Einige weitere fundamentale Router-Optionen wie die Vergabe von festen IP-Adressen oder den Hinweis auf das Fritzbox-NAS finden Sie im Haupttext (-> Punkt 9 und 10).

Der Gigabit-Switch

Im lokalen Netz verläuft nicht der gesamte Datenverkehr durch den Router: Wenn in einem Raum Kabelnetz verfügbar ist und dort ein Netzwerk-Switch mehrere Endgeräte verbindet, dann regelt der Switch den Datenaustausch dieser Geräte direkt – ohne Umweg zum Router und vor allem ungeachtet des sonstigen Netzdurchsatzes. Es wäre also falsch, im Hinblick auf die allgemeine Netzwerkleistung (Fast Ethernet, Powerline, WLAN?) auf einen Gigabit-Switch zu verzichten. Wenn die angeschlossenen Clients Gigabit-Ethernet beherrschen, lässt sich der Datenaustausch dieser Geräte erheblich optimieren.

WLAN-Adapter unter Linux

Externe WLAN-Adapter an USB sind nicht immer Linux-kompatibel. Wer Treiberproblemen aus dem Weg gehen will, kann sich an die folgenden preiswerten Empfehlungen halten (Preise bei amazon.de und conrad.de, Dezember 2016):

Edimax EW-7811UN Wireless USB Adapter (6,80 €)
Asus N10 Nano WLAN-Stick (10,15 €)
TP-Link TL-WN823N N300 Mini WLAN USB Adapter (10,00 €)
CSL 300 Mbit/s USB 2.0 WLAN Stick (12,50 €)
Fritz!Wlan USB Stick-N v2.4 (22,99 €)

Viele weitere WLAN-Adapter sind Linux-tauglich oder werden es nach gewisser Handarbeit. Eine Übersicht für Ubuntu-basierte Systeme (incl. Linux Mint) gibt die Seite https://wiki.ubuntuusers.de/WLAN/Karten/.

Troubleshooting: Wenn Linux keinen Treiber für den WLAN-Chipsatz eines Notebooks oder für einen USB-WLAN-Adapter anbietet, bleibt die Netzwerkschnittstelle unerkannt und der Network Manager an der grafischen Oberfläche kann keine Funknetze anbieten. Dann gilt es herauszufinden, mit welchem Chipsatz ein Gerät arbeitet. Bei Netzwerkkarten und internen Chips gehen Sie im Terminal

lspci |grep -i network

ein: Sie erhalten eine Liste aller Netzwerkgeräte im PCI-Bus mit Hersteller, Typenbezeichnung und Revisionsnummer. USB-Adapter sind weniger gesprächig. Eventuell zeigt der Stick selbst eine genaue Typenbezeichnung inklusive Revisionsnummer. Notfalls hilft der Befehl lsusb. Der zeigt Hersteller und Geräte-ID im Format XXXX:YYYY:

BUS 003 Device 004: ID 2001:3c15 D-Link Corp.

Der Teil vor dem Doppelpunkt bezeichnet den Hersteller (XXXX), die darauf folgende Zeichenkette (YYYY) ist das Gerät, in diesem Fall „3c15“. Beides ist auf der Seite www.linux-usb.org/usb.ids zu entschlüsseln. Nutzen Sie hier die Suchfunktion im Browser, um den exakten Gerätenamen mit Revisionsnummer anhand der ID zu ermitteln. Die Nummer ist wichtig, da viele Hersteller verschiedene Chipsätze verbauen, ohne die Typenbezeichnung zu ändern.

Mit der exakten Typenbezeichnung ist viel erreicht: Damit kann eine gezielte Suche nach Linux-Treibern starten. Erste Anlaufstelle ist nicht der Hersteller, sondern das Supportforum der verwendeten Distribution. Eine der besten Ressourcen im Web ist die schon genannte Adresse http://wiki.ubuntuusers.de/WLAN/Karten mit Hinweisen und Installationsanleitungen. Etliche Module für WLAN-Chipsätze gibt es für verbreitete Distributionen als fertiges Paket. Dann ist der Modulname über den Paketmanager der Distribution zu finden.

WLAN-Repeater einrichten

Ein Repeater vergrößert die Reichweite des Funksignals. Die je nach Ausstattung und Sendeleistung zwischen 20 und 100 Euro teuren Geräte sind die einfachste Methode, mangelhaftes WLAN zu verbessern. Leistungstechnisch sind aber andere Alternativen überlegen (siehe unten: Access Point, Powerline).

Falls es für eine Repeater-Ersteinrichtung keine WPS-Option gibt, können Sie das Gerät auch manuell einrichten. Dazu stecken Sie das Gerät in der Nähe eines PCs in eine Steckdose. Danach klicken Sie unter Linux auf den Network-Manager in der Systemleiste. Hier sollte ein zusätzliches Netz mit dem Namen des Repeaters erscheinen, mit dem Sie sich „Verbinden“. Der Sicherheitsschlüssel lautet oft „00000000“, ein eventuell abweichendes Standardkennwort verrät das Doku-Heftchen. Danach laden Sie die Repeater-Konfigurationsoberfläche im Browser. Netzwerknamen wie etwa „fritz.repeater“ funktionieren nicht immer. In diesem Fall müssen Sie die IP-Adresse des Repeaters eingeben, die Sie über die Liste der WLAN-Geräte im Router herausfinden. Einzige fundamentale Einstellung in der Konfiguration ist die Wahl des Funknetzes, das der Repeater verstärken soll. Aktivieren Sie in dieser Liste den Namen Ihres Netzes, und geben Sie das Kennwort für dieses Funknetz ein.

Bei der automatischen Ersteinrichtung übernehmen Repeater den Netznamen (SSID) der Basisstation. Das ist von Nachteil, wenn Sie mit Tablets oder Smartphones in der Wohnung unterwegs sind: Viele Geräte wechseln zwar automatisch zum Sender mit der optimalen Signalstärke, aber längst nicht alle und nicht alle schnell genug. Daher ist es besser, selbst entscheiden zu können, mit welchem WLAN-Sender man sich verbindet. Dazu sollte der Repeater einen eigenen Namen melden wie etwa „Repeater“. Dies lässt sich in der Konfigurationsoberfläche einstellen, etwa beim Fritz Repeater unter „WLAN -> Funkeinstellungen“.

Bei einem Repeater besteht wenig Tuningbedarf, aber es ist immer besser, wenn Sie die Konfigurationsoberfläche über eine feste IP erreichen. Geräte wie der Fritz Repeater bieten diese Möglichkeit nicht an. Die feste IP müssen Sie daher im Router definieren, wie im Haupttext unter -> Punkt 9 beschrieben.

WLAN-Access-Points einrichten

Wo das Router-Funknetz wichtige Räume nicht abdeckt, verwenden Sie an diesem Standort vorzugweise einen Access Point. Der bietet für etwa 40 Euro aufwärts deutlich besseren Datendurchsatz als ein Repeater, setzt allerdings voraus, dass am betreffenden Ort ein Zugang zum Kabelnetz besteht. Ob es sich dabei um eine direkte Kabelvernetzung handelt oder um eine Powerline-Brücke, spielt keine Rolle.

Ein Access Point wie etwa der abgebildete D-Link DAP-2310 (circa 65 Euro) wird über seinen Ethernet-Port mit CAT-Kabel am geeigneten Ort mit dem Kabelnetz verbunden. Sobald angeschlossen, lässt sich der Access Point über seine IP-Adresse am PC im Browser konfigurieren. Access Points nehmen sich per Werkseinstellung eine IP, die das Handbuch verrät, aber auch in der Geräteliste des Routers leicht zu finden. Mit der IP-Adresse laden Sie im Browser die Konfigurationsoberfläche des Access Points. Ab Werk bringt Sie eventuell der Benutzer „admin“ und leeres Kennwort in die Konfiguration. Im Zweifel sind die Zugangsdaten im Handbuch vermerkt. Sorgen Sie dann dafür, dass der „admin“ ein echtes Kennwort erhält und das Gerät künftig eine selbstdefinierte, feste IP (das geht sowohl in der Gerätekonfiguration als auch zentral im Router).

Das Einrichten des neuen Funknetzes geschieht unter „WLAN“, „Wireless“ oder „Drahtlos“ und erfordert die üblichen WLAN-Infos – also einen Netzwerknamen (SSID), den Verschlüsselungstyp sowie das Zugangskennwort. Danach können sich mobile Geräte zum  neuen Funknetz verbinden oder je nach Standort zur Basisstation. Verwenden Sie besser klar unterscheidbare SSID-Namen für das Router-Funknetz und für dasjenige des Access Points.

Repeater mit Ethernet-Port

Wenn Sie in Ihrem Netzwerk eindeutig auf WLAN setzen, kann sich die Situation ergeben, dass Sie punktuell eine Ethernet-Anbindung brauchen: Das wird etwa notwendig, wenn Sie fernab vom Router einen Netzwerkdrucker verwenden möchten, der kein WLAN, aber einen Ethernet-Port anbietet. Ein weiteres Beispiel wäre ein Linux-Rechner, der eine Kabelverbindung nutzen soll, um einem Treiberproblem mit WLAN aus dem Weg zu gehen.

Die einfachste Lösung für diese Aufgabe ist ein WLAN-Repeater mit zusätzlichem Ethernet-Port ab circa 20 Euro bis 100 Euro (je nach Ausstattung und Sendeleistung). Sie stecken den Repeater einfach am gewünschten Ort in die Steckdose und verbinden Repeater und Drucker oder PC mit einem CAT-Netzkabel. Leistungsstärker, kaum teurer, aber geringfügig aufwändiger ist der Einsatz zweier Powerline-Adapter (etwa ab 50 Euro).

Altgeräte als Repeater/Access Point

Besitzen Sie neben einer als Router genutzten Fritzbox noch eine ausgediente Fritzbox (auch „Speedport“), dann können Sie sich den Kauf eines Repeaters sparen. Die Geräte ergänzen sich als Basisstation und Repeater und bieten die Zusammenarbeit in der Konfigurationsoberfläche sogar direkt an. Die Option finden Sie unter „Erweiterte Ansicht“ im Menü „WLAN / Repeater“. Dort stellen Sie ein, was als Basis und was als Repeater arbeiten soll.

Beim Einsatz als Access Point gibt es keine Einschränkungen hinsichtlich des Geräteherstellers. Hier arbeiten auch Router und Altgeräte unterschiedlicher Hersteller zusammen: Schließen Sie den alten Router mit CAT-Kabel an das Kabelnetz an. Dessen Konfigurationsoberfläche erreichen Sie dann über seine IP-Adresse im Browser. Hier stellen Sie seine Funktion als DHCP-Server ab und auch sonst am besten alle Funktionen außer WLAN. Im Übrigen verfahren Sie wie bei einem Neugerät, definieren also SSID, Verschlüsselungstyp und Zugangskennwort. Auch hier empfehlen wir, unter „LAN“ (oder ähnlich) eine feste IP anzufordern, um den Zugang in die Konfiguration zu vereinfachen.

Einige Router zeigen in der Konfiguration eine explizite Option „Internetzugang über LAN“ oder ähnlich, die Sie aktivieren müssen. Andere Altgeräte wie die alten Speedports (Telekom-Klons der Fritzbox) lassen jeden Hinweis auf diese Einsatzmöglichkeit vermissen, arbeiten aber trotzdem einwandfrei als Access Points.

Powerline-Ethernet

Powerline ist eine Alternative zu WLAN oder zur Ethernet-Verkabelung. Aus Sicht des Endgeräts ist Powerline eine Ethernet-Verbindung. Das bietet gegenüber WLAN den Vorteil, dass Netzanmeldung und alle Treiberprobleme entfallen. Für den Datentransport wird die Stromleitung genutzt. Starterkits mit zwei Adapter und 500 MBit/s gibt es ab etwa 40 Euro, die aktuell schnellsten 1200 MBit/s-Adapter ab 85 Euro (AVM), besser mit Durchreichesteckdose für etwa 120 Euro (Devolo). Im Idealfall kommen die Adapter allerdings allenfalls auf 40 bis 50 Prozent der theoretischen Leistung, in ungünstigen Fällen auch nur auf 10 bis 20 Prozent. Fast-Ethernet-Leistung (100 MBit/s) sollte aber mit den schnellsten Adaptern überall zu erreichen sein. Wenn man bei einem Hersteller bleibt, sind Adapter unterschiedlicher Geschwindigkeiten (200, 500, 1200 MBit/s) zu hundert Prozent kompatibel.

Powerline-Adapter kommen in die Steckdose. Verwenden Sie nur Wandsteckdosen (keine Steckerleisten), und schließen Sie Steckerleisten über die Durchreiche des Adapters an. Die Einhaltung dieser und weiterer Empfehlungen der Hersteller ist keine Pedanterie: Nach unserer Erfahrung kann sich der Datendurchsatz bei einer optimalen Anschlussvariante gegenüber einer fehlerhaften verdreifachen (!). Empirisches Ausprobieren und Messung durch Kopieren großer ISO-Dateien hilft.

Den einen Adapter verbinden Sie per Ethernet-Kabel mit dem DSL-Router, den zweiten Adapter mit dem Endgerät (PC oder Switch). Bei der Ersteinrichtung drücken Sie innerhalb von zwei Minuten den Verschlüsselungsknopf am Gehäuse (bei älteren Devolo-Adaptern auf der Unterseite neben dem Ethernet-Port, bei neueren an der rechten Seite unten). Die Geräte handeln dann einen Code aus, über den sie sich künftig automatisch verbinden. Bei einem weiteren, späteren Ausbau stecken Sie den neuen Adapter an, drücken dann erst den Verschlüsselungsknopf auf einem der älteren Adapter und danach den Knopf auf dem neuen.

WLAN über Powerline

Powerline-Adapter können auch das Funknetz ausbauen. Ein Adapter wie der Devolo DLAN 500 Wifi (802.11n) für etwa 55 Euro eignet sich vor allem dort, wo schon eine Powerline-Basis vorliegt. Es muss mindestens ein weiterer normaler Powerline-Adapter per Ethernet mit dem Router verbunden sein, mit dem sich der Wifi-Adapter dann verbinden kann. Der Wifi-Erweiterungsadapter arbeitet wie ein Access Point und hat vergleichbare Funktionen (Gastnetz, Kindersicherung, Zeitschaltung).

Die Ersteinrichtung erfolgt durch Drücken der Verschlüsselungstaste – erst auf einem normalen Adapter, dann auf dem neu einzurichtenden Wifi-Adapter. Ist das Gerät auf diese Weise angemeldet, kommen Sie über die IP-Adresse an die Konfigurationsoberfläche. Beim genannten Devolo-Adapter legen Sie die üblichen Einstellungen wie SSID (Netzwerkname), WPA/WPA2 und das Kennwort unter „WLAN-Konfiguration -> Access Point“ fest. Auch hier empfehlen wir zur besseren Kontrolle eine vom primären Router-WLAN abweichende SSID.

Netzwerkdrucker

Drucker gehören zu den unkomplizierten Peripheriegeräten. Viele Modelle benutzen standardisiertes PCL (Printer Command Language) oder Postscript. Damit ist der Druck ohne genau passenden Druckertreiber möglich. Multifunktionsgeräte sind problematischer, da sie für jede Funktion einen Treiber benötigen. Nicht jedes Modell läuft mit allen Funktionen unter Linux.

Netzwerkdrucker richten Sie über „Systemeinstellungen –> Drucker –> Hinzufügen“ ein (Ubuntu/Mint). Unter „Neuer Drucker“ gehen Sie auf „Netzwerkdrucker“ und warten Sie eine oder zwei Minuten. Taucht der Drucker nicht von alleine auf, gehen Sie auf „Netzwerkdrucker finden“. Geben Sie hinter „Host“ den Namen oder die IP-Adresse des Druckers ein, und klicken Sie auf „Suchen“. Wird der Drucker gefunden, versucht Linux das Modell zu ermitteln und zeigt unter „Verbindung“ etwa „HP Linux Imaging and Printing (HPLIP)“ an. Nach weiteren optionalen Abfragen klicken Sie zum Abschluss auf „Anwenden“.

Für Druckerfreigaben von Windows-PCs gehen Sie unter „Neuer Drucker“ auf „Windows Drucker via SAMBA“. Nach „smb://“ tragen Sie den Pfad zur Windows-Freigabe in der Form „PC-Name/Drucker-Name“ ein. Eventuelle Leerzeichen in Druckerbezeichnungen müssen durch „%20“ ersetzt werden. Falls nötig, müssen Sie Benutzernamen und Kennwort zur Anmeldung auf dem Windows-PC angeben und diese Kontoinformationen auch unter „Authentifizierungs-Details jetzt festlegen“ eintragen. Dann klicken Sie auf „Vor“, wählen den Hersteller des Druckers und dann das Modell. Wenn mehrere Treiber angeboten werden, wählen Sie den „empfohlenen“.

Zurück zur Linux-Übersichtsseite…

Ubuntu Server mit Openbox

Wer einen Linux-Desktop so klein und schlank halten will wie möglich – aus Prinzip oder angesichts schwächerer Hardware  – kann etwa ein 32-Bit-Lubuntu wählen. Die Distribution stellen keine Anforderung an den Grafikchip und kommt schon mit einer CPU der Pentium-III-Klasse oder AMD Athlon zurecht. Für Lubuntu reichen 512 MB Arbeitsspeicher.

Lubuntu mit seinem LXDE-Desktop ist mit einem einfachen Startmenü und seiner Systemleiste pragmatisch ausgelegt. Die Systemleiste (lxpanel) ist aber nach Rechtsklick mit grafischer Hilfe optisch wie inhaltlich gut anpassbar und beliebig zu positionieren („Leisteneinstellungen -> Geometrie“). Dabei gelingen Leistenanpassungen im Vergleich zu Xubuntu und Ubuntu Mate einfacher, insbesondere bei vertikaler Anordnung. Für das Erscheinungsbild der Fenster und Schriftgrößen gibt es im Tool obconf („Einstellungen -> Openbox Konfiguration Manager“) diverse Themen und Optionen. Das Aufmacherbild zu diesem Artikel zeigt, dass Lubuntu nach einigen Anpassungen einen konservativen, aber sehr wohl attraktiven Desktop bieten kann. Typische Desktop-Nutzer werden aber an einigen Nachinstallationen nicht vorbeikommen: So kann der angestammte Dateimanager pcmanfm unter Lubuntu keine Netzlaufwerke mounten, was den Ersatz durch Nautilus nahelegt. Lubuntu mit dem überaus schlanken Openbox-Fenstermanager beansprucht nach der Anmeldung bescheidene 150 MB für System plus Oberfläche (bei 1 GB RAM).

Manueller Ausbau des Ubuntu Server: Geht Ubuntu noch sparsamer als mit Lubuntu? Gewiss und deutlich – allerdings nicht anstrengungslos. Ausgangspunkt ist die Web-Installation des Ubuntu Server in der 32-Bit-Ausführung über das mini.iso (Download der 32-Bit-Variante unter http://goo.gl/mSa5lQ). Der Installer ist textbasiert, entspricht aber inhaltlich genau dem grafischen Ubuntu-Installer. Kabelnetz und entsprechende Auswahl der Netzwerkschnittstelle beim Setup ist dringend zu empfehlen, weil das Setup viel aus dem Internet nachlädt. Eine instabile Internetverbindung verzögert das Setup nicht nur, sondern kann auch zu dessen Scheitern führen.

Ein Ubuntu Server ohne Auswahl aller Zusatzpakete fordert gerade mal 45 MB RAM, bootet aber erst mal nur in die virtuelle Textkonsole. Die Web-Installation bietet gegen Ende den Dialog „Softwareauswahl“. Unter anderem gibt es hier diverse Desktops in unterschiedlicher Ausführung – etwa auch ein „Lubuntu minimal“. Dies reduziert aber nur die Software-Ausstattung, sehr viel RAM-Ersparnis ist damit nicht zu erreichen.

Die harte Variante: Sie installieren Ubuntu Server fast nackt, wobei die „Standard-Systemwerkzeuge“ und der SSH-Server nie schaden können. Danach rüsten Sie einen minimalen Desktop manuell in der Textkonsole nach. Sparsamste Option ist Openbox mit ein paar Zutaten (eine Zeile):

sudo apt install openbox obconf obmenu lxterminal  
     tint2 tint2conf nitrogen lxappearance

Absolut notwendig sind nur openbox, obconf und obmenu. Lxterminal (oder auch xfce4-terminal) ist ein grafisches Terminal, Tint2 eine Systemleiste, Nitrogen ein Tool für Hintergrundbilder und Lxappearance ein Feineinstellungstool für grafische Fenster, während die grundlegende Optik das Tool Obconf erledigt (Openbox Konfiguration Manager).

Die grafische Oberfläche starten Sie nach der Anmeldung auf der Textkonsole mit

startx

Ein Rechtsklick auf dem Desktop zeigt das spartanische Menü, das Sie mit dem grafischen Tool obmenu ausbauen können. Die Systemleiste Tint2 lässt sich mit dem grafischen Tint2conf recht ansehnlich einrichten, Nitrogen baut ein Hintergrundbild ein und mit Obconf und Lxappearance optimieren Sie die Oberfläche. Etwas Erfahrung und Spaß an der Desktop-Bastelei sind Voraussetzung. Lohn der Investition ist ein phänomenal schlankes, grafisches System: Der Befehl free -m meldet lediglich 50 bis 60 MB RAM-Verbrauch. Nach optischem Ausbau der Leiste, des Hintergrunds und des Menü kann sich der RAM-Verbrauch auf 90 bis 100 MB steigern. Das ist aber immer noch vorbildlich sparsam.

Um den Startkomfort zu erhöhen, kann Openbox nach der Anmeldung in der Textkonsole auch direkt geladen werden. Hierfür genügt etwa folgender Abschnitt in der Datei ~/.bashrc:

x=$(ps -e | grep openbox)
if [ ${#x} -eq 0 ]
   then
   startx
fi

Die Openbox-Oberfläche wird mit „startx“ nur dann aufgerufen, wenn sie nicht bereits läuft – also nur in der virtuellen Konsole.

Weiterer Komfort ist über die Konfigurationsdatei ~/.config/openbox/autostart zu erreichen:

nitrogen --restore &
tint2 &

Damit lädt Openbox automatisch Nitrogen und dieses Tool wiederum automatisch das zuletzt genutzte Hintergrundbild. Außerdem wird die Systemleiste automatisch gestartet.

Die Systemleiste konfigurieren Sie relativ bequem über das grafische Tool tint2conf („Edit theme“). Die Ausrichtung finden Sie im Punkt „panel“, die Farben der Leiste unter „Backgrounds“. Die Einträge für den Schnellstarter sind unter „Launcher“ komfortabel per Mausklicks einzurichten.

Das puristische Openbox-Menü, das jederzeit auf Rechtsklick am Desktop erscheint, können Sie mit dem grafischen obmenu ausbauen. Über „New item“ entsteht ein neuer Einzeleintrag, über „New menu“ eine neue Menü-Kategorie, die dann Einzeleinträge aufnehmen kann. Für neue Einzelstarter ist nicht mehr notwendig als der Name, der im Menü erscheinen soll, und der Programmaufruf.

Minimalistisches Openbox auf der Systembasis von Ubuntu Server

Linux-Systemtools in der Praxis

Um ein Linux-System zu beherrschen, greifen die Klicks in den „Systemeinstellungen“ zu kurz. Lesen Sie hier, wo Sie Systeminfos einholen, Protokolle und Konfiguration abgreifen, über User, Rechte und Tasks herrschen und Ihre Datenträger verwalten.

Systemtools

Wie viel Speicher steckt im Rechner? Sind noch Bänke frei? Wo ist die Konfigurationsdatei für den Samba-Server? Wie beende ich ein eingefrorenes Programmfenster? Und wo ist das Mount-Verzeichnis für das eingehängte Netzlaufwerk? Diese und viele weitere Fragen soll der folgende Beitrag praxisnah beantworten. Dabei kommen prominenteste grafische Programme unter den Desktop-Systemen Ubuntu und Linux Mint zu Wort, aber den größeren Anteil erhalten die typischen Terminalprogramme. Diese haben nämlich zwei entscheidende Vorteile: Erstens funktionieren sie auf allen Linux-Distributionen, zweitens sind sie alternativlos, wenn ein Server per SSH im Terminal administriert wird.

Alle Themen zu Netzwerk, Freigaben, Fernwartung, Internet bleiben außen vor. Einzige kleine Ausnahme sind Tipps zum Mountpunkt von Netzressourcen. Ein vergleichbares Praxis-Special zum Thema „Netzwerk“ ist für die nächste LinuxWelt geplant.

Hardware- und Systeminfos (1): Grafische Werkzeuge

Ubuntu gibt an der grafischen Oberfläche 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

ein bewährtes Tool nachinstallieren. hardinfo nennt sich auf deutschem System „System Profiler und Benchmark“ und ist unter Linux Mint standardmäßig an Bord (im Menü unter den „Systemtools“). 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 – auch zum Betriebssystem, zum Dateisystem und zum Netzwerk. Außerdem gibt es einige Standardbenchmarks.

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

Empfehlung für Deskop-Nutzer: „System Profiler und Benchmark“ (hardinfo) hat ein umfassendes Repertoire zur Recherche der System-, Hardware- und Netzwerk-Eigenschaften.
Ganz auf Hardware spezialisiert: i-nex ist das übersichtlichste und präziseste grafische Werkzeug zur Hardware-seitigen Rechner-Inventur.

Hardware- und Systeminfos (2): Terminal-Werkzeuge

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 zielsicherer, wenn Sie sich mit Konsolenwerkzeuge wie dmidecode, hwinfo und dmesg anfreunden und häufiger benötigte Infos als Script oder als Alias-Abkürzungen für das Terminal ablegen.

hwinfo: Das Tool ist meistens nicht Standard, aber über den gleichnamigen Paketnamen überall schnell nachinstalliert. Während

hwinfo --short

nur einen knappen Überblick über CPU, Grafikkarte, Festplatten, Netzwerk-Adapter und Festplatten-Controller verschafft, sammelt hwinfo ohne Parameter einen sehr umfangreichen Hardware-Bericht, der dann allerdings kaum mehr lesbar erscheint. Daher gibt es eine Vielzahl von (kombinierbaren) Schlüsselwörtern, um die Recherche einzugrenzen:

hwinfo --disk --partition

Die insgesamt 50 verfügbaren Kategorien zeigt das Tool nach hwinfo –help an.

Sämtliche USB-Geräte und PCI-Ports können auch die spezialisierten Standardtools lspci und lsusb, wobei Sie die Gesprächigkeit der Ausgabe durch die Parameter „-v“ und „-vv“ erhöhen können.

dmidecode: Nicht ganz so ausführlich wie hwinfo, aber für alle prakitschen Zwecke ausreichend arbeitet dmidecode, das root-Rechte oder vorangestelltes sudo benötigt. dmidecode unterstützt nach dmidecode -t einige Schlüsselwörter wie „bios“, „system“, „baseboard“, „processor“, „memory“, erwartet aber normalerweise eine Kennziffer (siehe man dmidecode). Eine detaillierte Aufstellung der Speicherbestückung liefert dmidecode beispielsweise mit der Kennziffer „17“:

sudo dmidecode -t 17

Hier erhalten Sie für jedes „Memory Device“ eine exakte Info über Größe, Typ und Geschwindigkeit. dmidecode kann auch gezielt mehrere Infos abfragen:

sudo dmidecode -t 5,6,16,17

Dieses Beispiel entspräche diesem Befehl

sudo dmidecode -t memory

mit dem Schlüsselwort „memory“.

dmesg: Bei Boot- und Hardware-Problemen ist dmesg („driver message“) das einschlägige Tool. Es zeigt die Kernel-Meldungen der laufenden Sitzung. Die Hauptmenge des dmesg-Protokolls fallen naturgemäß beim Booten des Rechners an. Wenn Sie den ungefähren Zeitpunkt des Hardware-Problems kennen, lassen Sie sich mit Schalter „-T“ die exakte Zeit der Kernelmeldung ausgeben:

dmesg -T

Damit können Sie die Mehrzahl der Meldungen zeitlich ausfiltern. Bei reproduzierbaren Problemen hilft auch dmesg -c: Das löscht nämlich alle bisherigen Meldungen, und Sie können dann die problematische Aktion ausführen und anschließend noch einmal dmesg -T befragen. Die Interpretation der Meldung ist dann freilich ein weiteres Problem: Eventuell enthält diese einen Hinweis auf ein konkretes Gerät. Details müssen Sie aber in der Regel über das Web recherchieren.

Hardware- und Systeminfos (3): Das Tool inxi

Das Kommandozeilen-Tool inxi ist nicht so detailliert wie hwinfo oder dmidecode, aber eine kompakte und schnelle Info-Perle für den Blick aufs Wesentliche. Sie erhalten das Bash-Monster unter Ubuntu/Mint über die Paketquellen:

sudo apt-get install inxi

Wer die aktuellste Version haben will, kann das Installationspaket für Ubuntu und Co. auch mit

wget ftp://cathbard.com/binary/inxi*.deb

laden und das Deb-Paket dann per Doppelklick installieren. Die Terminal-Eingabe

inxi –v7 –c12

wirft alle wesentlichen Hardware-Infos aus. „-v7“ steht für maximale Gesprächigkeit, „-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.

Komprimierte Anzeige nach typischer Parameterkombination: Was inxi auf wenigen Zeilen an Infos anbietet, ist beeindruckend.

Zur Abfrage der CPU- und System-Temperatur nutzt inxi das Tool lm-sensors, das daher ergänzend installiert werden sollte:

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 auch mit 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.

inxi durch Aliases vereinfachen: Das Tool inxi hat annähernd 100 Schalter zur Auswahl bestimmter Infos und ihrer Darstellung (siehe inxi –help). Am einfachsten ist der Einsatz der Verbose-Level v0 bis v7, so etwa der Befehl inxi –v7 mit maximaler Gesprächigkeit innerhalb dieser Levels. Diese vereinfachenden Levels decken aber nicht das ganze Spektrum ab. So ist folgende Task-Analyse in diesen Levels gar nicht vorgesehen:

inxi –tc3 –tm3

Dies liefert die drei jeweils Ressourcen-intensivsten Tasks für CPU (c) und Speicher (m). Genauso wenig ist eine Anzeige der Repositories mit inxi –r in den Verbose-Level enthalten.

Wer mit einem Befehl noch mehr Infos abrufen will, kann dies mit einem Alias in der Datei ~/.bashrc erzielen, das mehrere inxi-Schalter kombiniert:

alias info='inxi -v7; echo " "; inxi -tm3; echo " "; inxi -tc3

Da inxi die Informationen äußerst komprimiert präsentiert, erzielen Sie ein besser lesbareres Resultat, wenn Sie mit einem Alias obigen Musters einzelne Infos abfragen und durch Leerzeilen trennen.

An dieser Stelle finden Sie ein Beispiel-Script ii.sh, das die Benutzung von inxi weiter vereinfacht. Es zeigt, wie Sie sich das Memorieren und Durchsuchen der zahlreichen inxi-Schalter ersparen und wie Sie außerdem weitere Informationen einbauen. Das Script ist am besten unter /usr/bin aufgehoben und benötigt das Execute-Flag (chmod +x ii.sh). Eine Alternative ist der Einbau als function in die versteckte Datei ~/.bashrc. Dazu ist der gesamte Code einfach zwischen

function ii ()
{
[Code]
}

zu kopieren.

Benutzung von inxi vereinfachen und erweitern: Ein einfaches Bash-Script nutzt inxi, sorgt aber für mehr Übersicht und zeigt Erweiterungsmöglichkeiten.

Hardware- und Systeminfos (4): Hardware Detection Tool (HDT)

Das Tool HDT (http://hdt-project.org/) verschafft einen umfassenden Überblick zur Hardware eines Computers, auf dem kein funktionierendes Betriebssystem installiert ist. HDT ist aber auch dann nützlich, wenn Sie mit dem installierten Betriebssystem nicht ausreichend vertraut sind, um damit schnell die erforderlichen Hardware-Informationen zu recherchieren.

Wählen Sie am besten den komfortableren „Menu Mode“. HDT zeigt alle Basisinformationen zur Hardware auf x86-kompatiblen Systemen an, unter anderem zu CPU, Hauptplatine, PCI-Karten, RAM-Speicher, DMI-Geräte, Soundchip, Festplatten und VESA-Fähigkeiten der Grafikkarte. Unter „Processor“ finden Sie auch sämtliche CPU-Extensions wie etwa die PAE-Fähigkeit (Physical Address Extension). Mit dem Eintrag „Reboot“ im textbasierten „Main Menu“ verlassen Sie das Tool und starten den Rechner neu.

Alle wichtigen Hardware-Infos mit HDT: Das Tool ist die schnellste Option einer Hardware-Inventur, wenn ein Betriebssystem fehlt oder dafür zu umständlich ist.

Verwaltung der User und Rechte

Der Kernel arbeitet mit numerischen User-IDs (UID) und Group-IDs (GID). Für die Übersetzung von Namen zu Nummern und umgekehrt sorgen die Konfigurationsdateien /etc/passwd (Benutzer) und /etc/group (Gruppen). So zeigt cat /etc/passwd alle Benutzerkonten einschließlich der impliziten Systemkonten. Eine Sortierung nach der User-ID mit

sort -t ":" -nk 3 /etc/passwd

macht die Liste übersichtlicher, da alle explizit eingerichteten Konten (Ids ab „1000“ aufwärts) ans Ende sortiert werden.

Desktop-Distributionen wie Ubuntu und Mint, aber auch NAS-Systeme wie Openmediavault bieten auch grafische Tools zur Benutzerverwaltung (Ubuntu: „Systemeinstellungen -> Benutzer“). Darauf verlassen kann man sich aber nicht. Der klassische Weg, neue Benutzer anzulegen, erfolgt mit daher root-Recht über diesen Befehl:

sudo useradd sepp

Das Home-Verzeichnis entsteht dabei automatisch. Die Dateien mit der Basis-Konfiguration im neu erstellen Home-Verzeichnis werden aus dem Vorlagenverzeichnis /etc/skel kopiert. Das neue Konto ist eröffnet, sobald mit

sudo passwd sepp

ein Kennwort hinterlegt ist. Löschen kann man Konten samt zugehörigen Ordner unter /home und dem Mail-Spool-Verzeichnis mit diesem Befehl:

userdel -r ich

Dateirechte rekursiv setzen: Um Zugriffsrechte für Dateien zu setzen, gibt es wieder die Wahl zwischen dem grafischen Dateimanager (Ubuntu: „Eigenschaften -> Zugriffsrechte -> Zugriff“) oder Terminalkommandos. Für rekursive Änderungen über ganze Verzeichnisse ist das Terminaltool chmod erste Wahl: Mit

chmod -R 777 ~/Dokumente

erlauben Sie allen Systemkonten die Rechte Lesen, Schreiben, Ausführen/Suchen für den Ordner „Dokumente“ inklusive aller enthaltenen Dateien und Ordner. Bei dieser numerischen Schreibweise gilt die erste Ziffer für das Konto, die zweite für die Gruppe, die dritte für alle anderen Konten. Nach dem Kommando

chmod -R 770 ~/Dokumente

hätten daher die andere Konten (dritte Stelle) keine Daterechte unter ~/Dokumente.

Zugriffsrechte: Über einen Dateimanager wie Nautilus ermitteln Sie, welche Rechte bei einer Datei oder einem Ordner gesetzt sind. Sie können die Berechtigungen hier auch ändern.

Systemprotokolle im Griff (1): Die Protokolldateien

Die Systemprotokolle sind unter „/var/log“ zu finden. Mit root-Rechten auf der Konsole können Sie diese mit den üblichen Kommando-Tools durchsuchen (cat, less oder tail). Beachten Sie dabei die Möglichkeit, gleich mehrere Dateien zu durchforsten und auf jüngste Einträge zu sichten (Beispiel):

tail -n20 auth.log syslog dpkg.log

auth.log protokolliert im Klartext und ausführlich alle Systemanmeldungen. Wer in aller Kürze die erfolgreichen und gescheiterten Log-ins kontrollieren will, kann sich zusätzlich an die Dateien „/var/log/wtmp“ (erfolgreich) und „/var/log/btmp“ (gescheitert) halten. Diese Dateien sind allerdings binär codiert und lassen sich am bequemsten mit last (erfolgreich) und lastb (gescheitert) auslesen:

last -200

lastb -200 root

Gezeigt werden hier jeweils die letzten 200 Anmeldungen, die sich – wie das zweite Beispiel zeigt – auch auf ein bestimmtes Konto filtern lassen.

syslog ist das Systemlogbuch und zeigt Ereignisse aller Art, die an den syslog-Daemon berichten – vorwiegend Kernel-, Hardware- und Cron-Ereignisse.

dpkp.log vermerkt alle manuellen (De-) Installationen und automatischen Updates. Ergänzend und in mancher Hinsicht übersichtlicher lohnt sich in diesem Zusammenhang auch der Blick in die Datei „/var/log/apt/history.log“.

Im Unterverzeichnis „/var/log/samba“ finden Sie für jedes zugreifende Netzgerät ein eigenes Protokoll – entweder mit Host-Namen oder lokaler IP-Adresse.

Die Webserver Apache und Nginx protokollieren unter /var/log/apache2 (oder ../nginx) in die Dateien access.log und error.log. Je nach Rechnerrolle sind auch diese Protokolle eine wichtige Infoquelle.

Systemprotokolle im Griff (1): Tools für Protokolldateien

Das grafische Standardprogramm „Systemprotokoll“ unter Ubuntu und Linux Mint (gnome-system-log) fasst immerhin vier wesentliche Protokolldateien in einem Fenster zusammen: Auth.log, Syslog, Dpkg.log, Xorg.0.log. Hübsch ist die Möglichkeit, bestimmte Ereignisse durch farbige Filter hervorzuheben und damit die Lesearbeit zu erleichtern. Diese Option ist recht unscheinbar in dem kleinen Zahnradsymbol rechts in der Titelleiste untergebracht („Filter -> Filter verwalten“).

Mehrere Dateien mit multitail im Blick: Der übliche Befehl zur Überwachung von Log-Dateien tail -f [Datei] zeigt die letzten Zeilen einer angegebenen Logdatei an und aktualisiert die Ausgabe in Echtzeit. Ein naher Verwandter von tail ist multitail, das in den Paketquellen der populären Linux-Distributionen zur Installation bereitsteht und mehrere Log-Dateien gleichzeitig und in Echtzeit anzeigt. Der Aufruf erfolgt einfach mit

sudo multitail [Datei1] [Datei2]

und der Angabe der gewünschten Dateien als Parameter. Vorangestelltes „sudo“ ist nur dann nötig, wenn nur root die Log-Datei lesen darf. Multitail teilt dazu das Konsolenfenster in mehrere Abschnitte auf, um alle angegebene Log-Dateien anzuzeigen. Praktisch ist  beispielsweise bei der Einrichtung von Webservern, um die Logs access.log und error.log im Auge zu behalten.

Ideal ist ein Script oder eine kleine Funktion, die immer das Wesentlichste einsammelt:

Echo Protokolle unter /var/log…
lastb
last -20
tail -20 /var/log/syslog
tail -20 /var/log/auth.log
tail /var/log/dpkg.log
tail /var/log/user.log
tail /var/log/apt/history.log

Ein solches Bashscript lässt sich mit einigen kommentierenden und abschnittsbildenden Echo-Befehlen natürlich noch lesbarer gliedern. Ein Grundgerüst finden Sie hier.

Konfigurationsdateien im Griff

Die meisten Konfigurationsdateien mit globaler Geltung liegen im Pfad „/etc“. Je nach Umfang erscheint die Datei dort als Einzeldatei wie etwa /etc/crontab oder in einem Unterverzeichnis wie /etc/samba/smb.conf, wenn die betreffende Software mehrere Konfigurationsdateien benötigt. Für die benutzerspezifische Konfiguration gibt es den Sammelordner unter ~/.config, also im Home-Verzeichnis.

Namen und Extensionen folgen keinen strengen Regeln: Manche Konfigurationsdateien tragen den Namen der betreffenden Software wie etwa „nginx.conf“ oder „vsftpd.conf“, andere heißen schlicht „ini“ oder „config“, und die Zuordnung zur Software erschließt sich durch einen Ordner wie „/mc/“ oder „/radicale/“, in dem sie liegen.

Das übliche Zeichen für Kommentare ist überall die Raute „#“. Es ist sehr zu empfehlen, eigene Eingriffe zu kommentieren, dies zweitens so, dass sich die eigenen Einträge von den Standardkommentaren unterscheiden. Möglich wäre etwa diese Form:

#ha# SSH-Standardport 22 geändert…

Dann erkennen Sie eigene Eingriffe sofort, auch wenn Sie die Datei monatelang nicht mehr angefasst haben.

In einfachen Fällen kann es genügen, für die wichtigsten Konfigurationsdateien einige Aliases in der Datei ~/.bashrc anzulegen, so etwa

alias ed1='nano /home/ha/.bashrc'

für das Editieren der bashrc selbst oder etwa

alias ed2='sudo nano /etc/ssh/sshd_config'

für das Ändern der SSH-Konfiguration.

Wer häufig mit diversen Dateien zugange ist, wird mit Alias-Abkürzungen schnell an seine Grenzen stoßen. Hier eignet sich ein kleines Shellscript, das alle wesentlichen Dateien anzeigt

echo " 0 /etc/ssh/sshd_config             SSH-Server"
echo " 1 …"

und dann mit

read -p " " answer
case $answer in
0) sudo nano /etc/ssh/sshd_config
1) …

die Auswahl mit Kennziffer oder Kennbuchstabe vorsieht. Das nebenstehende Bild zeigt, wie eine solche Config-Zentrale aussehen könnte. Das zugehörige Beispielscript config.sh finden Sie finden Sie hier. Die Pfade müssen an einigen Stellen angepasst werden und das Script muss über „Eigenschaften -> Zugriffsrechte“ ausführbar gemacht werden. Das Script bringen Sie am besten im home-Verzeichnis unter und spendieren ihm dann ein Alias

alias conf='sh ~/config.sh $1'

in der ~/bashrc. Dann können Sie Dateien noch schneller etwa mit „conf 1“ laden, deren Kennziffer Sie auswendig wissen.

Die nachfolgende Tabelle zeigt eine Anzahl prominenter Konfigurationsdateien inklusive Pfad.

Linux-Konfgurationsdateien

Selbst wenn Ihnen alle diese Dateien und Pfade geläufig sind, kann ein Script den Alltag vereinfachen: Ein für den betreffenden Pfad benötigtes „sudo“ ist schnell übersehen, und eine Sicherungskopie wäre nützlich gewesen, wenn man sich einmal schwer vergriffen hat.

Tipp: Wenn Sie erfahrungsgemäß gleichzeitig mehrere Konfigurationsdateien benötigen, dann können Sie alle gewünschten Dateien in den Editor Ihrer Wahl mit einem Befehl laden:

alias conf='sudo gedit ~/.bashrc /etc/inputrc /etc/rc.local'

Mit diesem Alias in ~/.bashrc lädt der Befehl conf alle genannten Konfigurationsdateien in gedit.

Config-Zentrale im Terminal: Wer sich die Mühe macht, ein kleines Script anzulegen, erreicht die meistgenutzten Konfigurationsdateien ohne lange Suche.

Datenträger (1): Dateimanager und Mountpunkte

Der Umgang mit internen Festplatten und Hotplug-Medien wie USB-Sticks oder DVDs ist auf jedem Desktop-Linux einfach. Sie schließen einen USB-Datenträger an oder legen eine DVD ein, und es erscheint umgehend ein Dateimanager-Fenster, das den Inhalt anzeigt, oder ein Dialog, der Zugriffsoptionen anbietet. Unter der Haube muss dabei jeder Datenträger oder auch eine Netzressource eingebunden werden (Automount) – standardmäßig unter /media. Die eingebundenen Datenträger sind in der Navigationsspalte des jeweiligen Dateimanagers unter „Mein Rechner“ oder unter „Geräte“ erreichbar sind. Wenn eingebundene Laufwerke nach dem ersten Hotplug erneut benötigt werden, empfiehlt sich daher der Gang zur Navigationsspalte des Dateimanagers. Im Terminal kann der Befehl

mount | grep /dev/sd

alle eingehängten Laufwerke und ihre Mountverzeichnisse anzeigen. grep ist nicht notwendig, filtert aber temporäre Dateisysteme weg. Für eine genauere Übersicht, die neben Gerätekennung, Mountpunkt und Label auch die eindeutige UUID anzeigt, sorgt der Befehl

blkid -o list

Tipp: Im Dateimanager geben Sie zur Auflistung aller angeschlossener Geräte „computer:///“ in das Adressfeld ein. Dazu müssen Sie vorher mit der Tastenkombination Strg-L von der Breadcrumb-Leiste zum editierbaren Adressfeld wechseln. Wenn Sie den realen Pfad, also den Mountpunkt eines Laufwerks im Dateisystem benötigen, etwa für Terminalarbeiten oder Scripts, dann hilft bei physischen Datenträgern ebenfalls das Adressfeld des Dateimanagers: Sie klicken erst das Gerät in der Navigationsspalte an und lassen sich dann mit Strg-L dessen Mountpunkt anzeigen.

Tipp: Standardmäßig sind einige Desktop-Distributionen so eingestellt, dass während der Sitzung gemountete Laufwerke nicht nur im Dateimanager auftauchen, sondern zusätzlich als Desktop-Symbol. Das kann lästig sein, wenn viele USB- oder Netzlaufwerke eingebunden werden. Unter „Systemeinstellungen -> Schreibtisch -> Eingehängte Datenträger“ können Sie das Verhalten unter Linux Mint abstellen, unter Ubuntu ist dafür das externe „Unity Tweak Tool“ erforderlich („Schreibtischsymbole“).

Datenträger (2): Automount von Netzfreigaben

Netzlaufwerke mountet Linux nicht unter /media, sondern in Gnome-affinen Systemen wie Ubuntu und Mint unter /run/user/1000/gvfs/. „1000“ ist die User-ID des ersteingerichteten Hauptkontos und lautet anders, wenn ein davon abweichendes Konto benutzt wird. „gvfs“ steht für Gnome-Virtual-Filesystem. Bei Netzlaufwerken führt das Adressfeld des Dateimanagers mit Protokollangaben wie „smb://server/data“ nicht zum Mountverzeichnis.

Tipp: Die Dateimanager typischer Linux-Desktops hängen angeklickte Samba- oder Windows-Freigaben automatisch ins Dateisystem ein (Automount). Unter Gnome-affinen Desktops wie Unity, Gnome, Cinnamon, Mate arbeitet dabei im Hintergrund das Gnome Virtual Filesystem (GVFS) und mountet unter /run/user/1000/gvfs/ in sprechende, aber unhandliche Mountordner.

Solange Sie im Dateimanager bleiben, kann es Ihnen gleichgültig sein, dass ein Mountordner etwa „/run/user/1000/gvfs/smb-share:server=odroid,share=data“ lautet. Wenn Sie die Ressource aber auf der Kommandozeile nutzen, etwa für rsync- oder cp-Befehle, ist der lange Pfad lästig. Abhilfe schafft manuelles Mounten in einen handlichen Pfad (Beispiel):

sudo mount -t cifs -o user=ha,domain=odroid,password=geheim //192.168.0.6/Data ~/mount/odroid

Das Mountverzeichnissen muss bereits existieren. Eine noch einfachere Alternative dazu ist eine Variable in der Datei ~/.bashrc:

data=/run/user/1000/gvfs/smb-share:server=odroid,share=data

Danach können Sie den unhandlichen Pfad im Terminal nun sehr handlich mit „$data“ ansprechen, und das Terminal bietet dabei sogar automatische Pfadergänzung (mit Tab-Taste).

Datenträger (3): Verwaltung mit gnome-disks

Unter den Gnome-affinen Oberflächen Cinnamon, Mate und XFCE hat sich das Programm gnome-disks als Standard etabliert, das auf deutschem Desktop als „Laufwerke“ im Hauptmenü oder Dash erscheint. gnome-disks kann alles, was für die Kontrolle und wichtigsten Partitionsarbeiten nötig ist. Links erscheint die Liste aller Datenträger, ein Klick auf einen Eintrag visualisiert dessen Partitionierung, zeigt Gerätenamen (/dev/…), Partitionsgrößen, Dateisystem und den Mountpunkt als Link, der auf Wunsch den Dateimanager öffnet. Die weiteren Bearbeitungsmöglichkeiten sind gewöhnungsbedürftig, aber durchaus logisch aufgeteilt:

Laufwerksoptionen: Schaltflächen rechts oben bieten Laufwerks-bezogene Aufgaben. Ob nur eine, zwei oder drei Schaltflächen erscheinen, hängt vom gerade markierten Laufwerkstyp ab. So lassen sich zum Beispiel interne Festplatten nicht aushängen oder abschalten, sodass in diesem Fall diese Schaltflächen fehlen. Immer vorhanden ist die Hauptschaltfläche, die das Formatieren, das Arbeiten mit Images („Laufwerksabbild erzeugen/wiederherstellen“), das Einstellen von Energieoptionen („Laufwerkseinstellungen“), ferner Tests und Smart-Analysen vorsieht. Funktionen, die der jeweilige Datenträger nicht hergibt, bleiben deaktiviert.

Die Möglichkeit, hier Images vom markierten Datenträger in eine IMG-Datei zu schreiben („erzeugen“) oder eine IMG-Datei wieder zurück auf einen Datenträger („wiederherstellen“), machen manche andere Tools überflüssig.

Partitionsoptionen: Was Sie mit einzelnen Partitionen auf Laufwerken anstellen können, ist in den kleinen Schaltflächen unterhalb des Partitionsschemas untergebracht. Sie müssen erst das Rechteck der gewünschten Partition markieren und dann die gewünschte Schaltfläche anklicken. Sie können Partitionen aus- und einhängen, löschen (Minus-Schaltfläche), formatieren und auch als Image sichern („Partitionsabbild erstellen“) oder ein Image auf die Partition zurückschreiben.

Tipp: Die Automount-Funktion hängt angeschlossene USB-Wechseldatenträger unter /media/[user]/ ein. Die dort anzutreffenden Mount-Ordner sind nicht immer aussagekräftig, sondern können etwa „144EB7A373084FB6“ lauten. Dies ist die UUID (Universally Unique Identifier) des Datenträgers, die als Mountpunkt einspringt, wenn keine Datenträgerbezeichnung vorliegt. In der Navigationsspalte der Dateimanager erscheint ein solches Laufwerk etwas freundlicher als „Datenträger XX GB“ unter „Geräte“. Wenn Sie sowohl im Mountpunkt als auch im Dateimanager eine aussagekräftige Bezeichnung sehen möchten, dann sollten Sie dem Laufwerk ein Label verpassen. Unter Ubuntu/Mint geht das am bequemsten mit „Laufwerke“ (gnome-disks). Sie müssen nur den Datenträger markieren, ihn mit dem ersten quadratischen Symbol unterhalb der Grafik „Datenträger“ aushängen und danach das Zahnradsymbol und hier die Option „Dateisystem bearbeiten“ wählen. Dann geben Sie einen sprechenden Namen ein, klicken auf „Ändern“ und hängen den Datenträger danach wieder ein (erstes Symbol). Mountverzeichnis und Name im Dateimanager halten sich nun an die Datenträgerbezeichnung.

Aussagekräftige Mount-Verzeichnisse: Wenn USB-Datenträger eine Bezeichnung haben, übernimmt die Automount-Funktion diesen Namen für den Mountpunkt.
Mächtiges gnome-disks („Laufwerke“): Das Standard-Tool beherrscht fast alle Datenträger-relevanten Aufgaben, unter anderem auch das Schreiben von System-Images.

Datenträger (4): Das meist unentbehrliche Gparted

Das Einzige, was gnome-disks nicht mitbringt, ist die Fähigkeit, bei Bedarf die Partitionsgrößen zu ändern. Software der Wahl hierfür ist Gparted. Zum Teil ist es bereits vorinstalliert, wo nicht, mit

sudo apt-get install gparted

schnell nachinstalliert. Gparted kann nicht nur nach Rechtsklick über „Größe ändern/verschieben“ bestehende Partitionsgrößen ohne Datenverlust ändern, sondern ist generell das umfassendste und zugleich übersichtlichste Programm für Formatierung, Partitionierung, Label- und UUID-Anpassung. Beachten Sie, dass das Hauptfenster immer nur die Partition(en) des rechts oben gewählten Datenträgers anzeigt. Beachten Sie ferner, dass Gparted angeforderte Aktionen niemals sofort tätigt, sondern in einem Auftragsstapel sammelt, den Sie erst mit „Bearbeiten -> Alle Vorgänge ausführen“ auslösen.

Das Standardprogramm gnome-disks verliert neben Gparted keineswegs seine Berechtigung: Es ist schneller und viel breiter angelegt mit seinen Image-Funktionen, Smart- und Leistungstests sowie Energieeinstellungen.

Datenträger (5): Tools für die Plattenbelegung

Unter Ubuntu und Linux Mint finden Sie die „Festplattenbelegungsanalyse“ oder „Festplattenbelegung analysieren“ im Hauptmenü. Dahinter steht das Tool Baobab, das nach dem Start erst einmal eine Übersicht der Datenträger zeigt. Hier sind die jeweilige Gesamtkapazität und der derzeitige Füllstand ersichtlich. Nach Klick auf dem Pfeil ganz rechts startet Baobab eine Ordneranalyse, die es wahlweise als Kreis- oder Kacheldiagramm visualisiert. Das sieht hübsch aus, doch der Erkenntniswert hält sich in Grenzen. Viele Linux-Nutzer werden sich von einem df -h oder

df -h | grep /dev/sd

schneller und besser informiert fühlen. Wer dann wirklich eine Größenanalyse der Verzeichnisse benötigt, ist mit einem weiteren Terminalwerkzeug

du -h

ebenfalls übersichtlicher beraten.

Belegung mit Ncdu prüfen: Ein Spezialist ist das nützliche Ncdu („NCurses Disk Usage“, wohl kaum zufällig auch als „Norton Commander Disk Usage“ auflösbar). Das Terminalprogramm sortiert die Verzeichnisse standardmäßig nach der enthaltenen Datenmenge und bietet eine sehr viel bequemer bedienbare Festplattenanalyse als das Standardwerkzeug du. Denn Ncdu wechselt wie ein orthodoxer Dateimanager zwischen den Verzeichnissen und kann auch aktiv löschen, wo Sie dies für nötig erachten. Ncdu gehört auf jeden Server, verdient aber selbst auf Desktop-Systemen den Vorzug gegenüber den grafischen Alternativen wie Baobab. In Debian/Raspbian/Ubuntu/Mint-basierten Systemen ist Ncdu mit

sudo apt-get install ncdu

schnell installiert. Die einzig wirklich maßgebliche Bedienregel ist die Auswahl des Startverzeichnisses. Ist Ncdu nämlich einmal gestartet, wird es in keine höhere Verzeichnisebene wechseln. Wenn Sie daher das komplette Dateisystem durchforsten wollen, sollten Sie das Tool daher mit

ncdu /

starten. Das Einlesen kann dauern, wenn Sie auf diese Weise das ganze Dateisystem untersuchen. Ncdu sortiert immer automatisch nach Ordnergrößen, kann aber mit Taste „n“ auch nach Namen sortieren, mit „s“ wieder nach Größen („size“). Wichtige Tastenkommandos sind ferner „g“ („graph/percentage“) für die Anzeige von Prozentzahlen (und wieder zurück) und „d“ als Löschbefehl („delete“). Wer nur kontrollieren, keinesfalls löschen will, kann das Tool mit „ncdu -r“ starten, wonach es im Readonly-Modus arbeitet.

Verzeichnisgrößen ermitteln mit „NCurses Disk Usage“: Ncdu ist ein Muss auf SSH-verwalteten Systemen und selbst auf Desktop-Installationen mit grafischer Oberfläche eine Empfehlung.

Task-Verwaltung (1): „Systemüberwachung“ und htop

Auf einem Desktop-System wie Ubuntu und Mint werden Sie die grafische „Systemüberwachung“ (gnome-system-monitor) bevorzugen, um Tasks zu kontrollieren oder zu beenden. Das Tool beherrscht nach Rechtsklick auf einen Prozess alle Aufgaben bis hin zur Prioritätsanpassung, sortiert nach der gewünschten Spalte und zeigt nach Rechtslick auf den Spaltenkopf auf Wunsch noch wesentlich mehr Spalten (etwa „CPU-Zeit“ oder „Befehlszeile“). Die Echtzeitüberwachung von CPU, Speicher und Netzwerk unter „Ressourcen“ ist ebenfalls vorbildlich.

Auf Servern oder wo sonst ein grafisches Werkzeug fehlt, liefert htop auf der Konsole einen präzisen und auch ästhetisch ansprechenden Überblick. Es macht andere Tools weitgehend überflüssig, so etwa das oft standardmäßig installierte Top oder spezialisiertere Tools wie iotop oder dstat. htop zeigt beliebig detaillierte Infos zu allen laufenden Prozessen und erlaubt den gezielten Abschuss einzelner Tasks, die aus dem Ruder laufen (F9). Zudem lässt sich die Prozesspriorität steuern (F7/F8). Htop ist in den Paketquellen aller Distributionen verfügbar und etwa unter allen Debian/Raspbian/Ubuntu/Mint-basierten System mit

sudo apt-get install htop

nachzurüsten. Es lohnt sich, das hervorragend anpassbare Tool über „F2 Setup“ sorgfältig einzurichten. Die Navigation im Setup erfolgt über Cursortasten:

„Meters“ betrifft den Kopfbereich mit den Basisinformationen in zwei Spalten. Hier sollten CPU-Auslastung, Speicher, Uptime und ähnlich grundlegende Angaben organisiert werden. Die verfügbaren Infos unter „Available meters“ können mit den angezeigten Funktionstasten in die rechte oder linke Spalte integriert werden. Die ideale Anzeige lässt sich mühelos finden, weil Htop die gewählte Einstellung sofort anzeigt.

„Columns“ betrifft die eigentliche Taskanzeige. Hier sind annähernd 70 Detailinfos pro Prozess möglich, fünf bis acht (etwa „Percent_CPU“, „Percent_MEM“, „Command“) sind ausreichend und noch übersichtlich. Wer die Prozesspriorität mit den Tasten F7 und F8 steuern will, muss sich zur optischen Kontrolle der Änderung den „Nice“-Wert einblenden. Je nachdem, was Sie genauer analysieren, können Sie die Taskliste jederzeit mit Taste F6 („SortBy“) nach einem anderen Kriterium sortieren – nach CPU-Anteil, Speicher oder Festplattenzugriffen. Zum Eingrenzen auf bestimmte Pfade oder Prozessnamen gibt es außerdem einen Textfilter (Taste F4)

Beachten Sie, dass die htop-Konfiguration sehr viel anbietet, jedoch nicht das Refresh-Intervall seiner Analyse. Dieses lässt sich mit

htop -d 20

beim Aufruf steuern, wobei die Angabe in Zehntelsekunden erfolgt.

Tipp: Das auf den meisten Distributionen standardmäßig installierte top verliert neben htop seine Berechtigung nicht ganz: Sein einziger, aber nicht unwesentlicher Vorzug ist die Weitergabe der Prozessinfos an eine Datei:

top -b -d 10.0 > top.txt

Der Schalter „-b“ sorgt für den Batchmodus, der die eigene Anzeige von top abschaltet. Die Prozessliste wird in diesem Fall alle 10 Sekunden („-d“ für „delay“) an die Ausgabedatei geschickt. Filter mit grep können die Prozessanalyse eingrenzen.

Mehr Spalten – mehr Infos: Wenn der grafische gnome-system-monitor („Systemüberwachung“) verfügbar ist, ist das der Taskmanager der Wahl. Er kann alles und zeigt alles.
Was läuft hier (falsch)? Htop ist glänzender Taskmanager für die Kommandozeile, weil er informativ und anpassungsfähig ist und aus dem Ruder laufende Prozesse beenden kann.

Task-Verwaltung (2): Die Tools xprop und xkill

xprop zeigt zahlreiche interne Eigenschaften grafischer Programme an. Das einfachste und häufigste Motiv, xprop zu verwenden, ist die Frage nach dem Programmnamen eines Fensters. Also etwa die Frage: Wie lautet der Name des Dateimanagers, den ich gerade benutze? Folgender Befehl filtert den xprop-Output auf die gewünschte Antwort:

xprop | grep CLASS

Der Mauszeiger verwandelt sich in ein Kreuz, mit dem Sie auf das gewünschte Fenster klicken. Im Terminal erscheint dann der zugehörige Programmname. Der herausgefundene Name ist nützlich, um Programme in Zukunft direkt über den Ausführen-Dialog zu starten, oder um hängengebliebene Anwendungen mit killall [name] zu beenden.

xkill kann grafische Programme zuverlässig beenden, wenn dessen Fenster nicht mehr reagiert. Bei xkill müssen Sie weder den Programmnamen noch die Prozess-ID kennen. Auch beim Aufruf von xkill im Terminal verwandelt sich der Mauszeiger in ein Kreuz, mit dem Sie das störrische Programm anklicken und beenden. Idealerweise ist xkill mit einer globalen Tastenkombination verknüpft, die es jederzeit aufruft. Einige Distributionen verwenden den Hotkey Strg-Alt-Esc, in den meisten Linux-Varianten ist allerdings kein globaler Hotkey voreingestellt. Holen Sie das unter „Systemeinstellungen -> Tastatur -> Tastaturkürzel“ manuell nach, indem Sie dort xkill unter „Eigene Tastaturkürzel“ eintragen und dem Programm durch Drücken der Tastenkombination Strg-Alt-Esc selbige zuweisen.

Task-Verwaltung (3): Autostarts im Griff

Unter Ubuntu und Linux Mint finden Sie das Applet „Startprogramme“ unter den Systemeinstellungen (gnome-session-properties). Durch Deaktivieren eines Häkchens schalten Sie dort Autostarts ab, über die Schaltfläche „Entfernen“ verschwindet es komplett aus dem Verwaltungstool (bleibt aber als Programm erhalten). Alle Autostarts des Benutzers werden als desktop-Dateien unter ~/.config/autostart, und die vom System benötigten Autostarts stehen unter /etc/xdg/autostart. Es handelt sich um Textdateien, die Sie mit jedem Editor bearbeiten können, wobei unter /etc/xdg/autostart root-Rechte notwendig sind.

bashrc: Die versteckte Datei ~/.bashrc liegt im Home-Verzeichnis jedes Benutzers und gilt folglich für den angemeldeten Benutzer. Alle dort enthaltenen Kommandos werden bei jedem Start des Terminals abgearbeitet.

/etc/rc.local: Für Befehle, die unabhängig vom angemeldeten Benutzer vor der Benutzeranmeldung abgearbeitet werden sollen, eignet sich auf allen Debian-Systemen einschließlich Ubuntu und Mint die Datei /etc/rc.local. Um die Datei zu bearbeiten, benötigen Sie root-Rechte:

sudo gedit /etc/rc.local

crontab: Der Zeitplaner Cron ist auf allen Linux-Systemen vorinstalliert und nutzt eine systemweite Datei /etc/crontab, die für alle Benutzer gilt und im Terminal mit root-Rechten bearbeitet werden kann:

sudo crontab –e

Zusätzlich kann es Benutzer-Crontabs geben, die unter /var/spool/cron/crontabs/ zu orten sind. Kontrolle über Systemdienste

Dienste: Neben automatisch gestarteten Programmen lädt jedes Linux zahlreiche Systemdienste, die das Tool „Startprogramme“ grundsätzlich nicht auflistet. Im Terminal ist mit

service --status-all

eine Übersicht möglich. Wer Systemdienste bequem kontrollieren und bei Bedarf auch deaktivieren will, kann den „Boot Up Manager“ nachinstallieren:

sudo apt-get install bum

Die Bedienung ist selbsterklärend. Sie können Dienste nach Rechtsklick „Jetzt stoppen“ (für die aktuelle Sitzung) oder dauerhaft abschalten, indem Sie das Häkchen entfernen. Das Abschalten von Diensten setzt aber gründliche Kenntnis über deren Funktion voraus.

Typische Crontab: Hier gibt es vier Jobs, die das System täglich um 8:00 und 9:00 Uhr sowie stündlich abarbeitet.

Zurück zur Linux-Übersichtsseite…

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.

Optionales Feature: Das Linux-Subsystems wird kein Windows-Standard, sondern muss vom Nutzer nachgerüstet werden.
Optionales Feature: Das Linux-Subsystems wird kein Windows-Standard, sondern muss vom Nutzer nachgerüstet werden.

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.

Powershell für Ubuntu

Microsoft’s Powershell ist eine Kommandozeile mit genialer Technik, aber abweisender Bedienbarkeit. Die auf Linux portierte Powershell ist noch im Alpha-Stadium und zeigt neben der üblichen Sperrigkeit auch noch einige Baustellen.

„Ubuntu unter Windows“ hat einen ambitionierten und umfassenden Anspruch, befindet sich allerdings noch in der Entwicklung. Mit diesem Subsystem „Bash on Ubuntu on Windows“ hat der Linux-Admin eine Bash-Shell inklusive aller notwendigen Tools unter Windows 10 an Bord.
Den genau umgekehrten Weg geht Microsoft inzwischen mit der Powershell für Ubuntu, Cent OS, Red Hat und Mac OS X. Auch hier hat Microsoft die Admins im Visier: Ein an die Powershell gewohnter Windows-Admin findet dann auch unter Linux seinen vertrauten Kommandozeileninterpreter, und nebenbei sollen wohl auch alteingesessene Linux-Admins von der Überlegenheit der Powershell gegenüber einer Bash überzeugt werden. So ganz sicher sind wir uns da nicht…

Das Alleinstellungsmerkmal der Powershell

Eine Bash-Shell unter Linux oder der altehrwürdige Cmd-Kommandointerpreter unter Windows sind sich in einem Kernpunkt ganz nahe: Um irgendwelche Datei-, Netzwerk-, Prozess- oder Laufwerkseigenschaften oder wie auch zu ermitteln und zu verarbeiten, muss die Textausgabe irgendeines einschlägigen Kommandos gefiltert werden (mit wiederum einschlägigen Mitteln wie grep, sort, awk…), um dann das Wesentliche in eine Variable oder auf den Bildschirm zu schreiben. Das ist mühsames Handwerk und zudem fehleranfällig, sobald ein Tool seine Textausgabe marginal verändert.
Die internen Befehle der Powershell (Cmdlets) arbeiten hingegen objektorientiert. Ein Befehl

get-process

mag auf den ersten Blick nicht viel anders aussehen als ein ps -A in der Bash-Shell. Der fundamentale Unterschied zeigt sich, wenn nach

 $a=get-process

die Variable $a sämtliche Eigenschaften sämtlicher Prozesse enthält. Diese Objektmenge lässt sich dann wiederum zielgenau nach Eigenschaften filtern:

 $a | where {$_.name -like "firefox"}

Dies zeigt die wichtigsten Eigenschaften des Prozesses „firefox“ (wenn Sie der Zeile noch ein “ | select *“ anhängen, erscheinen alle Eigenschaften). Dieser Befehl

 $a | select name,cpu | sort-object cpu

sortiert die Prozesse mit der höchsten CPU-Nutzung aufsteigend und zeigt dabei nur die beiden Eigenschaften „name“ und „cpu“ an. Ein letztes Beispiel

 get-process | where {$_.cpu -gt 40} | select name,path,starttime,cpu

liefert für die Prozesse mit höherem CPU-Verbrauch vier wesentliche Eigenschaften.
Eine Einführung in die Powershell ist an dieser Stelle nicht möglich (siehe dazu den Beitrag Windows-Powershell auf meiner Web-Seite). Nur soviel: Mit die mühevollste Aufgabe in der Powershell ist es, jeweils die benötigten Eigenschaften oder Methoden eines Objekts zu ermitteln. Der einschlägige Befehl dafür lautet jeweils „get-member“:

get-process | get-member
dir /home | get-member
echo "Hallo" | get-member

Dies zeigt die Eigenschaften von Prozess-, Dateisystem- und String-Objekten.

Installieren und Einrichten unter Ubuntu

Die Installation der Powershell unter den bislang vorgesehenen Distributionen ist zunächst ganz einfach: Das unter der freizügigen MIT-Lizenz verfügbare Paket erhalten Sie unter https://github.com/PowerShell/PowerShell. Wir haben unter Ubuntu 16.04 das passende DEB-Paket geladen. Für die Installation genügt danach der Doppelklick auf das Paket, das nach unserer Erfahrung die Komponenten libunwind8 und libicu55 bereits mitbringt (Hinweise im Internet, diese gesondert nachzurüsten, sind demnach hinfällig). Auf Headless-Servern geht natürlich auch die Einrichtung mit

dpkg -i [Paketname]

auf der Kommandozeile.
Die Powershell erscheint unter Ubuntu nicht im Dash, sondern muss im Terminal mit dem Befehl powershell gestartet werden. Im Prinzip kann man nun loslegen, jedoch wird die sperrige Shell niemand verwenden, ohne sie über eine Profildatei mit Aliases und Functions etwas kommoder zurechtzulegen. Der nach der Installation eingerichtete Ordner „~/.config/PowerShell“ ist nicht der richtige Ort dafür, wie die Abfrage mit $Profile zeigt. Der Ordner muss in Kleinschreibung „~/.config/powershell“ lauten und die Profildatei exakt „Microsoft.PowerShell_profile.ps1“. Wer von Windows kommt und ein PS1-Startscript besitzt, ist mit der Kopie dieses Scripts an den beschriebenen Ort schon mal ein gutes Stück weiter.
Ein Tipp: Mit dem Aufruf

powershell -noexit -file [Pfad]/xyz.ps1

lässt sich jedes PS1-Script für eine Sitzung als Startscript definieren.
Grundsätzliche und aktuelle Beschränkungen
Wer die Powershell unter Windows einigermaßen kennt (und nur solche Nutzer kommen ernsthaft in Betracht), stellt schnell fest, dass der Umgang mit fundamentalen Objektklassen wie Dateien, Strings, Prozesse unter Linux vertraut und fehlerlos funktioniert. Aber die technischen Unterschiede machen unter Linux einige Cmdlets sinnlos (Registry) oder vorerst unportierbar (Dienste-Kontrolle mit get-service, Management-API über das wmi-object oder Windows Remote Management über WinRM). Dies relativiert die Aussagen Microsofts schon signifikant, dass ein Powershell-Kundiger seine Investitionen nun nach Linux mitnehmen kann.

Daneben gibt es auch kleine, nervige Probleme, die es aktuell zu umgehen oder auszuräumen gilt: Um den Linux-Admin nicht abzuschrecken, verzichtet die Shell auf diverse Aliases, die wiederum der Windows-Admin erwartet. So nutzt etwa eine Pipe mit „[…] | sort“ den üblichen Sort-Befehl von Linux, der Text statt Objekteigenschaften zurückgibt. Wer das Powershell-Cmdlet braucht, muss es mit „[…] | sort-object“ explizit ausschreiben.
Eine irritierende Kleinigkeit ist es, dass eine Prompt-Funktion im PS1-Startscript aktuell einen mit write-host definierten Kommandoprompt zweimal ausgibt. Die Recherche im Internet zeigt, dass man mit diesem Fehler nicht allein ist auf der Welt – allerdings so gut wie allein: Die Powershell ist unter Linux-Admins und Nutzern definitiv noch nicht angekommen.

Fazit: Eine unfertige Alpha (Microsoft) ist die Powershell für Linux nicht mehr, aber für aufgeregte Begeisterung im Linux-Lager reicht es – wenn je – derzeit nicht. Man sollte aber dieses Präzisionswerkzeug nicht unterschätzen: Insbesondere die exzellenten Möglichkeiten der String-Verarbeitung könnten auch Admins überzeugen, die ihre Konfigurationsdateien bislang mit sed & Co. manipuliert haben. Es ist ja keineswegs so, dass sich die Bash und die Powershell als Entweder-Oder konkurrieren: Ist ein Spezialjob in der Powershell erledigt, ist der Admin mit einem exit wieder zurück in der Bash-Heimat.

Mehr Infos zur Powershell für Linux

Download: https://github.com/PowerShell/PowerShell

Infos: https://msdn.microsoft.com/en-us/powershell

Quelle für Powershell-Insider mit Details über Cmdlets, die der Powershell für Linux und Mac OS X entweder fehlen oder noch nicht funktionieren: https://github.com/PowerShell/PowerShell/blob/master/docs/KNOWNISSUES.md

Microsoft-Video (50 min.): https://youtu.be/2WZwv7TxqZ0

Eine typische Powershell-Pipeline unter Ubuntu: Die Syntax ist bekannt sperrig und nötigt zur Recherche, belohnt aber mit Präzision und exakt definierbarer Ergebnismenge.