Alle Beiträge von Hermann Apfelböck

Ubuntu Mate / Mate-Desktop

Der Mate-Desktop ist natürlich längst kein „Geheimtipp“ mehr: Unter Ubuntu ist die Mate-Edition zur offiziellen Variante aufgestiegen, und keine große Desktop-Distribution wie etwa Linux Mint verzichtet auf Mate. Selbst am Raspberry Pi ist Mate 2016 angekommen. Der Mate-Desktop macht wohl einiges richtig, das sowohl Einsteigern als auch Systembastlern entgegenkommt. Entstanden ist Mate ähnlich wie Cinnamon als Abspaltung von Gnome 2, um dessen klassisches Bedienkonzept – in Ablehnung des modernen Gnome 3 – weiterzuführen.

Mate kann auch ohne Grün: Die Anpassungsfähigkeit von Mate muss man sich nicht erarbeiten, weil der durchdachte Desktop alles an der Stelle anbietet, wo man es erwartet.

Gute Gründe für den Mate-Desktop

Anders als einige hier ebenfalls beschriebene Alternativ-Desktops (Openbox unter Bunsenlabs, Moksha unter Bodhi Linux) kennt Mate keine Spezialisierung, sondern hat eine universale Ausrichtung. Einerseits ist der Mate-Desktop anspruchslos, kommt auf 32-Bit-Ubuntu mit etwa 300 MB RAM aus und läuft folglich bereits mit 1 GB Speicher klaglos, übrigens auch mit jedem Grafikchip. Damit eignet er sich auch für leistungsschwächere Hardware und Platinenrechner. Andererseits bringt Mate alles mit, was man von einer Arbeitsumgebung erwartet. Desktop, Menü, Systemleiste(n) und Konfigurationszentrale sind aufgeräumt und einfach zu bedienen, zudem reaktionsfreudig. Hinzu kommt der richtig gute Dateimanager Caja, der gegenüber seinem Vorbild Nautilus einige Pluspunkte sammelt.

Natürlicher Gegner von Mate ist der schlanke Desktop XFCE, aber er kann auch gegenüber Cinnamon (Mint-Standard) und Unity (Ubuntu-Standard) bestehen. Mate ist fast so sparsam wie XFCE und dabei moderner und schicker. Er ist schlanker als Cinnamon, annähernd so anpassungsfähig und dabei einfacher und intuitiver. Er ist ferner deutlich sparsamer als Unity und wesentlich anpassungsfähiger als dieser.

Ubuntu Mate oder Mate-Desktop installieren

Die ISO-Images für Ubuntu Mate inklusive ARMv7-Ausführung für den Raspberry finden Sie unter https://ubuntu-mate.org/download. Das Setup ist direkt aus dem Livesystem möglich (Desktop-Link) und wird vom bewährten Ubuntu-Installer Ubiquity erledigt.

Wenn Sie auf einem laufenden Ubuntu mit einem anderen Desktop Mate nachinstallieren wollen, binden Sie ein PPA ein und installieren auf diesem Weg im Terminal:

sudo apt-add-repository ppa:ubuntu-mate-dev/xenial-mate
sudo apt-get update
sudo apt-get install mate

Soll unter Ubuntu nur eine ältere Mate-Version durch die aktuellste Version 1.16.1 ersetzt werden, verwenden Sie als dritten Befehl diesen:

sudo apt-get dist-upgrade

Über die aktuelle installierte Mate-Version informiert Sie der Befehl mate-about.

Die Elemente von Mate

Mate hat wie jedes Desktop-Linux eine Konfigurationszentrale, die sich hier „Steuerzentrale“ nennt und im Hauptmenü unter „System“ erscheint. Der Programmname lautet mate-control-center. Hier sind die typischen Applets zur Geräteeinrichtung (Bildschirm, Drucker), Systemaktualisierung, Benutzerverwaltung oder Sprachunterstützung zu finden. Die allermeisten Anpassungen des Desktops können Sie aber bei Mate praktisch durchgängig direkt und intuitiv über Kontextmenüs an den Elementen erledigen.

Systemleiste(n): Systemleisten sind an allen vier Bildschirmrändern möglich – in ganzer Länge oder auf den Inhalt gekürzt (ohne Option „Ausdehnen“). Alle optischen und inhaltlichen Optionen stehen nach Rechtsklick auf eine freie Leistenstelle über die Optionen „Zur Leiste hinzufügen“ und „Eigenschaften“ bereit. Ein neue Leiste erstellen Sie ebenfalls mit Rechtsklick auf eine bereits bestehende, indem Sie „Leiste anlegen“ wählen. Der kleine Dialog, den Sie über die „Eigenschaften“ starten, bietet alles zur Positionierung und Größe, zum Ausblendverhalten und zur optischen Verfeinerung.

Die Leisten lassen sich mit insgesamt 46 verschiedenen Modulen bestücken – zum Standard gehören „Herunterfahren“, die „Fensterliste“ der gestarteten Programme, das „Benachrichtigungsfeld“ mit Netzwerk- und Lautstärke-Indikatoren, die Zeitanzeige und natürlich das Hauptmenü.

Die Leistenmodule lassen sich nach Rechtsklick verschieben, sofern das Modul nicht gesperrt ist (Option „Auf der Leiste sperren“). Die weitere Kontextoption „Aus der Leiste entfernen“ beseitigt ein unnötiges Element.

Systemleisten einrichten: Nach Rechtsklick auf eine freie Leistenstelle starten Sie den Konfigurationsdialog „Eigenschaften“ oder die Option „Zur Leiste hinzufügen“.

Hauptmenü: Die Mate-Systemleiste nutzt standardmäßig von vier möglichen Menü-Applets das großzügige „Advanced Mate Menu“. Es zeigt eine kategorisierte Liste der installierten Programme, unter „System“ Links zur Steuerzentrale und zum Terminal sowie „Abmelden“ und „Herunterfahren“, ferner Programmfavoriten und Ordnerfavoriten.

Wer nicht alles im Hauptmenü sehen will, findet nach Rechtsklick und „Einstellungen“ minutiöse Anpassungsoptionen über Inhalt und Aussehen. Über die Registerkarte „Module“ können Sie das Menü stark reduzieren, indem Sie etwa „Orte“ (Verzeichnisse) oder „System“ ausblenden. An gleicher Stelle gibt es Transparenzeffekte, während auf der Registerkarte „Thema“ eigene Farbdefinitionen vorgesehen sind. Selbst das Menüsymbol und der Name lassen sich unter „Hauptknopf“ individuell bestimmen.

Für das „Advanced Mate Menu“ gibt es außerdem einen Menüeditor (mozo), mit dem Sie das komplette Anwendungsmenü und dessen Kategorien inhaltlich bearbeiten, umsortieren oder ausmisten. Der Editor ist am schnellsten durch Rechtsklick auf das Menü und die Option „Menü bearbeiten“ zu erreichen.

Desktop als Dateiablage: Anders als „moderne“ Oberflächen versteht Mate den Desktop als klassische Dateiablage. Der Rechtsklick am Desktop zeigt daher die Optionen „Ordner anlegen“ und „Starter anlegen“. Für einen Programmstarter müssen Sie nur einen Namen angeben und den Programmbefehl. Das passende Symbol für den Starter holt sich Mate automatisch. Zur Ausrichtung der Desktopsymbole verwenden Sie nach Rechtsklick die Option „Anordnung fixieren“. Wie fast bei jeder Desktop-Linux gibt es nach Rechtsklick auch das Angebot „Hintergrund des Schreibtischs ändern“.

 

Das Menü-Applet erfüllt jeden Wunsch: Wie bei Mate üblich, genügt ein Rechtsklick an Ort und Stelle, um den Einstellungsdialog zu starten.

Leistenapplets für viele Aufgaben

Die Systemleiste von Mate liefert eine Basisausstattung und lädt zur Erweiterung ein. Die über die Kontextoption „Zur Leiste hinzufügen“ verfügbaren Applets sind eine genauere Durchsicht wert:

Arbeitsflächenumschalter: Diese Applet ist sehr zu empfehlen. Zwar ist der Wechsel zum nächsten virtuellen Desktop auch mit den Tastenkombinationen Strg-Alt-Cursor rechts/links möglich, die Miniübersicht im „Arbeitsflächenumschalter“ bietet aber visuelle Kontrolle und den Wechsel per Mausklick. Außerdem kann die Miniübersicht per Drag & Drop Programmfenster auf andere Desktops ziehen. Nach Rechtsklick auf den „Arbeitsflächenumschalter“ ist auch die Anzahl der Arbeitsflächen konfigurierbar.

Ein wichtige Ergänzung beim Einsatz von virtuellen Arbeitsflächen ist eine Option des Applets „Fensterliste“: Die zeigt standardmäßig nur die Tasks der aktuellen Arbeitsfläche an, kann aber auch sämtliche Fenster aller Arbeitsflächen anbieten. Das lässt sich nach einem Rechtsklick auf den Anfasser links der Fensterliste über die „Eigenschaften“ einstellen.

Hauptmenü: Neben dem opulenten Standardmenü gibt es weitere Menüvarianten. Das kleine Applet „Hauptmenü“ präsentiert ein kompaktes, nach Kategorien geordnetes Programmmenü.

Systemüberwachung: Dieses Applet zeigt die Auslastung von Prozessor, Arbeitsspeicher, Netzwerkschnittstelle, Swap und Festplatte an. Nach der Platzierung in der Leiste ist noch eine Detailkonfiguration erforderlich.

Gerätesensorenüberwachung: Dieses Applet benötigt zum Betrieb zwei vorbereitende Schritte. Zuerst muss über ein Terminalfenster mit

sudo apt-get install lm-sensor

der Systemdienst zur Auswertung von Hardwaresensoren installiert werden. Anschließend startet der Befehl

sudo sensors-detect

die automatische Erkennung der Sensoren von CPU und Chipsatz. Die Fragen können mit der Enter-Taste bestätigt werden. Am Ende geben Sie auf die Rückfrage „Do you want to add these lines automatically to /etc/modules“ noch „yes“ ein. Danach ist das Applet betriebsbereit.

Klebezettel: Zur Verwaltung von Notizen bietet eine Mate-Umgebung die Anwendung Tomboy. Es gibt für Mate aber auch eine anspruchslosere Alternative. Das Applet „Klebezettel“ platziert kleine Zettel in definierbarer Größe, Schrift und Farbe auf den Desktophintergrund. Die Zettel blenden sich beim Klick auf das Applet oder auf den Desktop automatisch aus.

Barockes Caja: Muster und Farben für Ordner

Der Mate-Dateimanager hat diverse Anpassungsspezialitäten an Bord, die sein Vorbild Nautilus längst ausgemistet hat, und baut dessen früheres Angebot sogar noch aus. Caja kann den Ordnerhintergrund einzelner oder aller Ordner verändern. Voraussetzung ist die Symbolansicht („Ansicht -> Symbole“) oder die Kompaktansicht. Die Listenansicht zeigt diese Gimmicks weder an, noch kann sie Änderungen übernehmen. Zum Ändern des Hintergrunds eines Ordners wählen Sie „Bearbeiten -> Hintergründe und Symbole“ und ziehen ein Muster oder eine Farbe auf den Ordner. Bei Verwendung der rechten Maustaste können Sie entscheiden, ob die Aktion nur für den einen Ordner oder generell gelten soll. Um eine Wahl wieder zu korrigieren, ziehen Sie den Eintrag „Zurücksetzen“.

Unter Caja geht’s bunt zu: Die Anpassungsoptionen für Ordner haben barocken Charakter. Da Caja aber auch alles Wesentliche beherrscht, kommt jeder Nutzer auf seine Kosten.

Noch nicht genug Farbe? Nach Rechtsklick auf einen Ordner zeigt das Kontextmenü die Option „Folder’s Color“. Dies färbt das Ordnersymbol in der gewünschten Farbe, außerdem gibt es an dieser Stelle einige Embleme, um ein Verzeichnis mit einem kleinen Zusatzsymbol wie einem „Favorite“-Sternchen auszuzeichnen. Die volle Auswahl der Embleme erscheint nach Rechtsklick und „Eigenschaften“ auf der Registerkarte „Embleme“.

Die Navigationsspalte in Caja ist multifunktional und kann außer dem Standard „Orte“ jede Menge mehr. Das Dropdown-Menü über der Spalte zeigt unter anderem „Orte“, „Baum“, „Verlauf“, „Notizen“. Beachten Sie, dass sich „Notizen“ immer auf den aktuellen Ordner bezieht. Das eröffnet die Möglichkeit, Zusatzinformationen über den Status und Inhalt von Verzeichnissen abzulegen. Wenn für einen Ordner „Notizen“ existieren, erhält dessen Icon ein kleines Notizensymbol.

Desktop-Themen einstellen und anpassen

In der Steuerzentrale gibt es unter „Erscheinungsbild -> Thema“ über ein Dutzend Themes für Fenster und Menüelemente. Das Untermenü „Anpassen“ erlaubt für jedes Schema noch Feineinstellungen zum Stil der Leiste, Farben, Mauszeiger und Symbole. Es empfiehlt sich, ein selbst zusammengestelltes und gelungenes Schema mittels „Speichern unter“ zu sichern, um bei misslungenen Änderungen wieder zur Vorlage zurückkehren zu können. Die Möglichkeit, im Themendialog „Weitere Themen online“ zu beziehen, funktioniert derzeit allerdings ebenso wenig wie die direkte Installation heruntergeladener tar.gz-Themen.

Wechselnde Gewänder: Themes bringen ein andere Farb- und Icon-Themen auf den Mate-Desktop. Feineinstellungen mit unterschiedlichen Fensterrahmen gibt es unter „Anpassen“.

Desktopeffekte je nach Grafikchip

Die dezenten Grafikeffekte von Mate brauchen keinen modernen Grafikchip. Wenn der Rechner jedoch einen Grafikprozessor von Intel, AMD oder Nvidia anbietet, beherrscht der Desktop auch hardwarebeschleunigte Grafikeffekte über Open GL. Dafür ist nicht Mate selbst mit seinem Fenstermanager „Marco“ zuständig, sondern der separate Fenstermanager „Compiz“. Den Wechsel erledigen Sie im Bereich „Darstellung“ der Steuerzentrale unter „Mate Tweak-> Fenster“. Die Dropdown-Liste unter Fensterverwaltung kann im laufenden Betrieb auf „Compiz“ umschalten. Ebenso schnell kommen Sie hier auch wieder zum Marco-Fenstermanager zurück.

Dezente Effekte: Mate bietet auch ohne leistungsfähigen Grafikchip Transparenz und Schattenwurf. Aufwändigere Effekte gibt es nur mit dem Fenstermanager Compiz.

Info: Desktop Mate und Ubuntu Mate

Der beliebteste Unterbau für Mate ist Ubuntu. Wer es noch ein Stück schlanker haben will, dem sei Debian 8.7.1 mit dem Mate-Desktop empfohlen (http://cdimage.debian.org/debian-cd/current-live/).

Projektseite Ubuntu Mate: https://ubuntu-mate.org/

Download Ubuntu Mate: https://ubuntu-mate.org/download/

Infos: https://ubuntu-mate.org/about/

https://wiki.ubuntuusers.de/Ubuntu_MATE/

 

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.

 

Moksha/Bodhi für Desktop-Abenteurer

Moksha, ehemals Enlightenment, ist genauso exotisch wie sein Name. Wer hier mit konservativen Erwartungen herangeht, wird sich verirren oder kapitulieren. Der Desktop ist aber schnell und hat neben exotischem Charme enorme Anpassungstiefe.

Moksha ist kein Desktop für Pragmatiker. Wer sein System schnell eingerichtet haben will und auf seine Software fokussiert ist, wird sich mit den minutiösen Einstellungen dieser Oberfläche nicht anfreunden. Zielgruppe sind vielmehr Nutzer, die Wert auf einen individualisierten Desktop legen und bereit sind, dafür auch einige Zeit zu investieren.
Bodhi Linux ist die einzige Distribution, die standardmäßig auf Moksha setzt. Der Desktop ist eine Abspaltung vom sehr ähnlichen Vorbild Enlightenment (oder schlicht „E“), der bis Version E17 in Bodhi Linux enthalten war. Nach der mangelhaften „E“-Version 18 haben die Bodhi-Entwickler experimentelle Funktionen aus „E“ entfernt und pflegen für ihre Distribution den solideren Fork Moksha weiter. Gegenstand dieses Artikels ist daher Bodhi Linux mit seiner angestammten Moksha-Oberfläche. Die meisten Aussagen sollten aber auch für Enlightenment gelten.

Motive für Moksha und Bodhi

Bodhi Linux spielt seit jeher in der Ökoliga der Linux-Distributionen und liefert für sehr alte Hardware sogar noch eine non-pae-Variante aus (für Rechner vor circa 2002). Das entscheidende Motiv für Moksha/Bodhi sollte das aber nicht mehr sein: Für schwache Hardware gibt es einfachere und solidere Distributionen. Außerdem ist Moksha modular aufgebaut – bei größter Sparsamkeit sollte das komplette System nach Anmeldung mit 150 MB auskommen. Sind jedoch alle Module aktiviert und einige Desktop-Elemente eingerichtet, liegt der Speicherbedarf schnell bei 250, 300 MB und mehr. Hauptmotive für Moksha/Bodhi sind daher eher andere Aspekte:
1. Bodhi ist ein Speed-Ubuntu: Beim Systemstart zur Anmeldung zählen wir auf schneller Hardware (mit SSD) gerade mal neun Sekunden. Mittelschwere Programme sind schneller eingabebereit als der Mausfinger von der Auslösetaste zurückkommt.

2. Moksha ist ganz Linux-untypisch eine komplett grafisch konfigurierbare Oberfläche. Wirklich jedes Detail ist über grafische Anpassungsdialoge per Maus zu erreichen. Das gelingt nicht überall konsistent, führt zu unzähligen kleingliedrigen Einstellungsfenstern, erspart aber jedes Editieren von Konfigurationsdateien.

3. Moksha ist ein extravaganter und äußerst liberaler Desktop. Der Benutzer kann über jedes Modul selbst entscheiden, ob er es überhaupt benötigt und wie sich ein gewähltes Element optisch und funktional verhalten soll. Dieser Desktop ist ein Gegenentwurf zu den simplifizierenden Oberflächen Gnome oder Unity.

Installation von Bodhi Linux

Die Auswahl der Bodhi-Varianten finden Sie auf www.bodhilinux.com/download: Neben der 32-Bit-Version liegt auch eine 64-Bit-Variante bereit. Bei beiden Architekturen können Sie sich jeweils für das „Standard Release“ oder das größere „AppPack Release“ entscheiden. Da die Bodhi-Entwickler beim „AppPack Release“ eher seltsame Entscheidungen treffen und auch hier Nachinstallationen unerlässlich sind, ist das kleinere „Standard Release“ die bessere Wahl. Das fünfte Bodhi „Legacy“ für alte non-pae-Hardware gibt es nur in der Standardausführung. Das Setup erledigt der bewährte Ubuntu-Installer Ubiquity.

 

Moksha-Schaltzentrale: Die Einstellungskonsole ist der Dreh- und Angelpunkt der Desktop-Konfiguration. Der Umfang lässt sich unter „Erweiterungen -> Module“ festlegen.

Erste Orientierung in Moksha

Bodhi Linux präsentiert standardmäßig eine Systemleiste, die sich hier „Shelf“ oder deutsch „Modulablage“ nennt. Die ist ab Start durchaus konservativ bestückt mit Startmenü, Favoritenbereich, Taskübersicht und einem Systray-ähnlichen Bereich. Im Grunde handelt es bei den „Shelves“ um Modulcontainer, die an beliebigen Bildschirmrändern beliebig mit „Modulen“ befüllt werden können.
Das Startmenü ist nicht nur über die Shelf-Leiste, sondern auch mit normalem (Links-) Klick auf eine freie Desktop-Stelle zu erreichen, während der Rechtsklick am Desktop eine Auswahl von Programmfavoriten anbietet, die Sie allerdings erst definieren müssen. Der Menüstart am Desktop bringt es wie bei Openbox/Bunsenlabs mit sich, dass der Desktop nicht als Dateiablage dienen kann.
Die Einstellungskonsole: Die entscheidende Konfigurationszentrale ist im Menü über „Einstellungen -> Einstellungskonsole“ zu erreichen („Settings -> Settings Panel“). Es handelt sich um einen internen Bestandteil des Moksha/Enlightenment-Desktops, der nicht als eigenes Programm vorliegt und daher nicht als Terminal-Kommando aufrufbar ist (einige fundamentale Einstellungen sind über den Terminalbefehl enlightenment_remote abrufbar). Die grafische Zentrale ziehen Sie am besten so breit, dass Sie oben alle Kategorien im Blick haben und damit einen ersten Überblick erhalten.

Spracheinstellung: Da die Oberfläche zunächst englischsprachig vorliegt und dieser Artikel ab dieser Stelle ausschließlich die deutschen Bezeichnungen verwenden wird, führt ein erster wesentlicher Gang nach „Language“. Sehr wahrscheinlich fehlt diese Kategorie noch, und dies ist erste Gelegenheit, den modularen Aufbau von Moksha kennenzulernen: Unter „Extensions -> Modules“ („Erweiterungen -> Module“) finden Sie die komplette Sammlung der verfügbaren Module, geordnet nach Kategorien. Das Sprachmodul findet sich unter „Settings“ und lässt sich mit Klick auf „Load“ aktivieren. Dies erweitert die Einstellungskonsole dann um den neuen Punkt „Language“, wo Sie die Oberfläche nach Deutsch umstellen. Bei besserer Kenntnis der Oberfläche können Sie später den Punkt „Erweiterungen -> Module“ der Einstellungskonsole aufsuchen, um detailliert weitere Module zu aktivieren oder auch auszumisten.

Profile: Ein wichtiger Verwaltungspunkt in der Einstellungskonsole sind die „Einstellungen“ mit dem Unterpunkt „Profile“. Hier ist es nämlich möglich, den gerade aktuellen Desktop über „Hinzufügen“ als neues Profil zu speichern. Außerdem liegen die Standardprofile „Bodhi Linux“ und „Default“ vor, auf die Sie durch Markieren und „Übernehmen“ jederzeit zurückkehren können. Die Gefahr, sich in Moksha zu verlaufen, ist nicht gering, daher ist die einfache Rückkehr auf bewährte Profile eine wichtige Absicherung.
Fundamente der Optik richten Sie in der ersten Kategorie „Aussehen“ ein. Während „Thema“ die Moksha-eigenen Dialoge und die Fenstertitel betrifft, ändert „Anwendungsthema“ das Aussehen von Programmen, die auf GTK basieren. Ein wichtiger Unterpunkt ist hier ferner die „Skalierung“, die alle Moksha-Fenster stufenlos in der gewünschten Größe einstellt.

Programmstarter: In der zweiten Kategorie „Anwendungen“ lohnt es sich, „Bevorzugte Anwendungen“ zu definieren, sofern Sie am Desktop das Rechtsklick-Menü verwenden wollen. Dazu markieren Sie in der angebotenen Liste das betreffende Programm und klicken auf „Hinzufügen“.
Der nachfolgende Punkt „iBar-Anwendungen“ (unter „Anwendungen“) ist nur dann relevant, wenn Sie in einer Systemleiste („Shelf“) das Modul iBar tatsächlich verwenden – es handelt sich ebenfalls um einen Favoritenstarter. Das Modul iBar ist ein Beispiel für die zum Teil konfuse Komplexität des Desktops: Das Modul muss unter „Erweiterungen -> Module“ aktiviert sein, und es muss unter „Erweiterungen -> Modulablagen -> Inhalte“ in eine Modulablage (Shelf) integriert werden. Konfiguriert und bestückt wird es aber nicht an Ort und Stelle in der Leiste, sondern unter „Anwendungen -> iBar-Anwendungen“.

Arbeitsflächen: Weitere wichtige Einstellungen finden Sie in der Einstellungskonsole unter „Bildschirm“ mit den Arbeitsflächenoptionen: Moksha erlaubt Linux-üblich beliebig viele virtuelle Desktops und kann diese attraktiv mit je eigenen Hintergrundbildern ausstatten und beim Wechsel Übergangseffekte anzeigen. Beim Einsatz des „Arbeitsflächenumschalters“, der als Modul in einer Systemleiste oder solo als „Helfer“ am Desktop realisiert werden kann, können Sie Programmfenster einfach mit der Maus von einer Arbeitsfläche zur anderen ziehen. Diese Funktion ist komfortabel, wenn die verkleinerte Desktop-Darstellung im Arbeitsflächenumschalter nicht zu mikroskopisch, als der Umschalter eher groß ausfällt.
Maus und Tastatur: Unter „Eingabe“ gibt es als „Kantenbelegungen“ das, was andere Desktops „Aktive Ecken“ nennen. Jedoch bietet Moksha hier ungleich mehr an Fenster- oder Programmaktionen an als jeder andere Desktop. Ähnlich uneingeschränkt lassen sich unter „Eingabe“ die Maus und Tastatur minutiös einrichten. Allein die Durchsicht der voreingestellten Möglichkeiten dürfte überraschen: Dass man etwa jedes Fenster mit Alt-Taste plus Mausradklick skalieren kann, ohne in eine Fensterecke fummeln zu müssen, bedeutet wie vieles Weitere echten Komfort.

Moksha-Elemente: Hier arbeiten drei Modulablagen, eine iBar-Favoritenleiste (links), ein Desktop-Umschalter (unten), eine weitere Leiste links. Die Prozessliste und die Laufwerksanzeige sind als „Helfer“ realisiert. Das Hauptmenü ist immer erreichbar und startet hier die Einstellungskonsole.

Leisten und „Helfer“ optimieren

Neben dem Hauptmenü sind Leisten („Modulablagen“) und Desktop-Gadgets („Helfer“) die prägenden Elemente. Eine Leiste kann viele Module aufnehmen, ein „Helfer“ ist ein einzelnes Modul am Desktop. Die Module sind aber hier und dort dieselben. Angebot und Anzahl hängt, wie beschrieben, davon ab, was in der Einstellungskonsole unter „Erweiterungen -> Module“ aktiviert ist.
„Modulablagen“ (Leisten): Wenn Sie eine bestehende Leiste rechts anklicken, erscheint unter anderem die Option „Shelf…“ (sofern Sie der Leiste bislang keinen eigenen Namen gegeben haben). Hier kommen Sie dann über „Inhalte“ an die Module und können aktuell enthaltene (farbiges Symbol) entfernen oder inaktive (graues Symbol) zur Leiste hinzufügen. Auf demselben Weg kommen statt an die „Inhalte“ an die „Einstellungen“ der Leiste, wo sich Position, Größe und Optik ändern lassen. Bei der Position am Bildschirmrand sind nicht weniger als 12 Möglichkeiten vorgesehen. Außerdem gibt es natürlich Optionen zum automatischen Verbergen der Leisten. Wenn eine Modulablage mehrere Module enthält, gibt es nach Rechtsklick außerdem die Möglichkeit, die Einzelteile innerhalb der Leiste zu verschieben. Das funktioniert dann per Drag & Drop, ist aber mitunter fummelig. Das Verschieben von Leistenmodulen ist die einzige Aktion, die Sie direkt an der Leiste auslösen müssen, alles andere ist auch zentral über die Einstellungskonsole unter „Erweiterungen -> Modulablagen“ zu erreichen.
„Helfer“ (Gadgets): Ein einzelnes Modul am Desktop definieren Sie in der Einstellungskonsole unter „Erweiterungen -> Helfer -> Ebenen -> Hintergrund“. Das neue Desktop-Modul kann danach am Desktop verschoben und skaliert werden. Dies funktioniert später auch jederzeit nach Rechtsklick auf das Modul, Klick auf den Modulnamen und „Einstellungen“. Ein Helfer hat gegenüber einer Modulablage mit nur einem Modul nur den einen Vorteil, dass er beliebig positionierbar ist.

Komplexe Leistenanpassung: Um die Modulablage selbst und nicht etwa nur ein Modul anzupassen, müssen Sie nach Rechtsklick den blau-roten Eintrag wählen.
Moksha-Fensteroptionen: Hier ist alles drin, was technisch geht. In jedem Fall nützlich ist das „Erinnern“ von Größe und Position.

Weitere Spezialitäten in Moksha und Bodhi

Fensterposition: Moksha hat deutlich mehr Fensterfunktionen als andere Desktops – unter anderem auch eine Erinnerungsfunktion für Programmfenster. Nach Rechtsklick auf die Titelleiste eines Fensters können Sie über „Fenster -> Erinnern“ die aktuelle Größe und Position für alle künftigen Programmstarts festlegen.
Screenshots: Unter Moksha zeigt jedes Programmfenster die Option „Foto machen“. Dadurch entsteht ein Screenshot des jeweiligen Fensters. Im Hauptmenü gibt es standardmäßig die Option „Bildschirmfoto machen“, die ein Desktop-Vollbild erstellt. Feinheiten hierzu bietet die Einstellungskonsole unter „Erweiterungen -> Screenshot Settings“.
Terminal: „Terminology“ ist speziell wie vieles unter Bodhi. Es entspricht zwar in den Grundfunktionen dem Gnome-Terminal, hält aber elegante Spezialitäten bereit, die sich nach Rechtsklick automatisch einblenden. Mit Split-Funktionen, Kopieren und Einfügen per Mausklick wird der Terminal-Komfort deutlich erhöht. Unter „Einstellungen“ gibt es weitere Raffinessen wie Hintergrundbilder.
Everything: Dieses Tool ist ein Programmstarter mit Kategorien, kann aber auch durch Verzeichnisse navigieren oder Bilder anzeigen. Hilfreich ist das Tool auch durch seine Optionen „Fenster“ und „Einstellungen“. Dies bietet alternativen Zugriff auf die laufenden Tasks und die Optionen der Moksha-Einstellungskonsole.

Exzellentes Terminal: „Terminology“ hat auf Rechtsklick sehr komfortable Funktionen parat. Einige schrille Optionen sind Geschmackssache.

 

Moksha und Bodhi Linux

Das aktuelle Bodhi Linux 4.1.0 nutzt als Systembasis Ubuntu 16.04.1 LTS. Die Distribution definiert sich in erster Linie durch die Moksha-Oberfläche 0.2.1 und eine zunächst eher spartanische Software-Ausstattung. Als Paketverwaltung dienen vorzugweise Synaptic oder apt im Terminal, während das alternative „Bodhi AppCenter“ eher abfällt. Bodhi Linux ist in der 32-Bit-Variante bootfähig auf Heft-DVD.

Projektseite: www.bodhilinux.com

Download: https://sourceforge.net/projects/bodhilinux

Infos: www.bodhilinux.com/w/wiki
https://wiki.archlinux.org/index.php/Enlightenment
www.enlightenment.org

Pro und Contra

Bodhi mit Moksha ist sparsam und frappierend schnell. Und wer die Zeit investiert, schafft sich mit Moksha ein absolutes Desktop-Unikat – nicht nur optisch, sondern auch in der Bedienung. Das muss man sich aber erarbeiten: Ausufernde Aktionslisten etwa bei Tastatur- und Mausbelegungen nötigen zu langer Suche. In der Einstellungskonsole stehen fundamentale und marginale Optionen ohne rechte Gewichtung nebeneinander. Die Unterscheidung zwischen wichtig und unwichtig ist daher ein mühsamer Lernprozess. In den Anpassungsdialogen wird wenig erklärt und Wissen und Terminologie vorausgesetzt. Daneben gibt es auch kleinere technische Mängel: Manche kleine Moksha-Dialoge lassen sich nicht skalieren und geraten dadurch unübersichtlich. Nicht im Benutzeralltag, aber bei intensiver Konfigurationstätigkeit mit Einstellungskonsole und Leisten ist auch gelegentlich ein Moksha-Absturz im Repertoire, was sich am sanftesten in der virtuellen Konsole (Strg-Alt-F1) mit sudo pkill lightdm beantworten lässt. Moksha ist ein Abenteuer.

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.

Bash on Ubuntu on Windows

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

Einrichtung und erster Eindruck

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

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

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

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

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

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

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

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

Der Befehl

uname -a

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

lsb_release -a

ein Ubuntu 14.04.5 LTS.

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

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

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

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

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

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

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

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

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

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.

Linux-Mini-Server mit Python

Http-Server mit Python: Mit einem Terminalbefehl ist ein Downloadserver für das aktuelle Verzeichnis eingerichtet. Hier erfolgt der Zugriff über Firefox unter Windows.

Nahezu jedes Linux-System verfügt über eine ungeahnte Möglichkeit, einen Ordnerinhalt ganz einfach anderen Teilnehmern im Netzwerk per Webbrowser (lesend) zugänglich zu machen. Der Scriptinterpreter Python, der in den meisten Linux-Distributionen vorinstalliert ist, enthält einen Webserver, der mit einem einzigen Befehl bei Bedarf im Terminal aus dem gewünschten Verzeichnis heraus in Gang gesetzt wird:

python -m SimpleHTTPServer 4444

Jeder andere Teilnehmer mit Webbrowser kann nun, während dieser Mini-Webserver läuft, über die IP-Adresse des Linux-Rechners und der Portnummer auf die Dateien in diesem Verzeichnis lesend im Browser zugreifen und Dateien herunterladen. Je nachdem, wo der Python-Befehl ausgeführt wird, steht das komplette Dateisystem oder nur ein Unterverzeichnis zur Verfügung.

Hat der Linux-PC beispielsweise die IP-Adresse 192.168.0.2, so kommt man auf jedem Rechner mit dem Browser und der Adresse

http://192.168.0.2:4444

zur Freigabe. Auf dem Linux-Rechner beendet Strg-C den temporären Mini-Webserver wieder.

 

Ubuntu/Mint: Individuell angepasste Livesysteme

[[Korrektur 1.3.2019: Der Beitrag ist veraltet, aber mit Einschränkungen weiterhin gültig. Das nicht mehr gepflegte Systemback produziert beim direkten Schreiben auf USB bootunfähige Medien. Allerdings kann das Live-Abbild erst als ISO-Image konvertiert werden (mit Systemback) und danach mit den üblichen Image-Werkzeugen auf USB geschrieben werden. Über diesen Umweg kann man mit Systemback weiterhin individuelle Ubuntu-basierte Livesysteme für den USB-Stick bauen.]]

Aus sorgfältig angepassten Debian-/Ubuntu-/Linux-Mint-Systemen lassen sich ohne Umstände eingefrorene Live-Systeme schreiben. Die technisch unkomplizierte Möglichkeit mit Systemback eignet sich auch für weniger erfahrene Linux-Nutzer.

Das externe Tool Systemback 1.6 kann aus einem konfigurierten, laufenden Ubuntu/Mint-System ein identisches Live-System schreiben. Das erlaubt ein subtil abgestimmtes Betriebssystem mit der genau benötigten Software, mit detaillierten Voreinstellungen für Browser, Mail-Programm, Dateimanager, Funknetzzugang, LAN- oder FTP-Freigaben sowie Beispieldateien, Benutzer-Dokumenten und Scripts: Das ist eine ideale Methode für individuelle Live-Systeme, die Mitarbeitern, Gastnutzern, Familienangehörigen oder Schulungsteilnehmern eine komplett ausgerüstete Arbeitsumgebung anbieten sollen.

Hauptfenster von Systemback: Der Punkt „Erstellung Live System“ bringt Sie zum entscheidenden Unterdialog, mit dem Sie das laufende System als Live-System ablegen.
Hauptfenster von Systemback: Der Punkt „Erstellung Live System“ bringt Sie zum entscheidenden Unterdialog, mit dem Sie das laufende System als Live-System ablegen.

Hauptaufgabe ist die Systemkonfiguration

Sie benötigen zunächst ein normal installiertes Ubuntu oder Linux Mint. Die Anpassung dieses Ausgangssystems ist der mit Abstand aufwändigste Teil der Aktion. Denn richtig lohnend ist der Umweg über ein vorab installiertes System nur, wenn Sie das künftige Live-System sorgfältig von unnötigem Software-Ballast befreien (auch unter „Startprogramme“), zusätzliche Programme nachinstallieren oder etwa den Dateimanager detailliert auf den Zugriff auf Netzfreigaben vorbereiten. Das Vorkonfigurieren eines FTP-Clients wie Filezilla mit allen nötigen Serverdaten ist ebenfalls ein nützlicher Service, wenn die späteren Nutzer den Live-Systems diese FTP-Server brauchen. Beim Browser sollten Sie die gewünschte Startseite vorgeben und am besten auch gleich eine Lesezeichen-Leiste, die zu Ihrem Heim-, Schulungs- oder Firmen-Bedarf passt. Bei den Anpassungen, die auch gewünschte Voreinstellungen am Linux-Desktop oder in Libre Office einbeziehen können, gibt es einige triviale, aber leicht zu übersehende Fallen:

* Richten Sie vor allen Einstellungen einen Benutzer ein („Systemeinstellungen -> Benutzer“), mit dem sich die künftigen System-Benutzer identifizieren können und erledigen Sie dann die komplette Konfiguration in diesem Konto.

* Verwenden Sie keine proprietären Treiber („Systemeinstellungen -> Anwendungen & Aktualisierungen -> Zusätzliche Treiber“), und verzichten Sie auf die Sparoptionen der „Energieverwaltung“, wenn das Live-System auf anderer Hardware als das Basissystem zuverlässig laufen soll.

* Das Einrichten und Speichern von WLAN- und Freigabe-Kennwörtern ist nur sinnvoll, wenn das Live-System künftig im gleichen Umfeld genutzt wird.

* Das Live-System wird nur solche Benutzerdateien dauerhaft erhalten, die auf einen externen Datenträger außerhalb des home-Verzeichnisses gespeichert werden. Das muss den Nutzern erklärt werden oder – noch besser – vorab in der jeweiligen Software konfiguriert werden. Wenn das Live-System etwa die Nachrichten eines Mail-Client Konten erhalten soll, müssen Sie Speicherpfad für die Nachrichten auf einen externen Datenträger umstellen. In Thunderbird geht dies über „Bearbeiten -> Konten-Einstellungen -> [Konto] -> Server-Einstellungen -> Nachrichtenspeicher“.

* Machen Sie mit Ihrem Basissystem nach allen Maßnahmen mindestens einen Neustart und probieren Sie alle wesentliche Software durch: Nichts ist lästiger als ein Live-System, das Sie später standardmäßig mit einer Fehlermeldung begrüßt, oder eine Software, die bei jedem Start nachfragt, ob es als Standardprogramm genutzt werden soll. Jede solche Bremse ist im Basissystem mühelos zu lösen, im späteren Live-System nicht mehr.

Live-System schreiben mit Systemback

Das Tool Systemback ist bislang nur über ein externes PPA zu beziehen. Folgende Terminal-Befehle integrieren das PPA und installieren das Programm:

sudo add-apt-repository ppa:nemh/systemback

sudo apt-get update

sudo apt-get install systemback

Danach finden Sie das Tool unter seinem Namen im Ubuntu-Dash oder im Menü von Linux Mint unter „Systemverwaltung“. Der Aufruf erfordert prinzipiell root-Rechte, die das Programm in einem eigenen Dialog abfragt. Systemback erscheint auf einem konsequent deutschsprachigen System deutsch, andernfalls englisch. Als wesentliche Voreinstellung definieren Sie bei Bedarf zunächst das „Speicherverzeichnis“ („Storage directory“) rechts oben. Standardmäßig nutzt Systemback das home-Verzeichnis – und zwar nicht das des angemeldeten Benutzers, sondern den Hauptordner /home.

Die für unseren Einsatz einschlägige Schaltfläche lautet „Erstellung Live System“ („Live system create“). Dieses öffnet einen gleichnamigen Unterdialog („Erstellung Live System“), wo Sie mit „Neu erstellen“ („Create new“) zunächst ein Image des laufenden Basissystems anlegen – dieses landet mit der Endung .sblive standardmäßig im Verzeichnis /home. Ist der Vorgang abgeschlossen, erscheint das Image unter „Erstellte Live-Abbilder“ („Created Live images“). Danach stecken Sie einen USB-Stick an, sorgen mit dem Refresh-Knopf neben „Ziel schreiben“ („Write target“), dass der Stick hier auftaucht, und markieren dort den Datenträger. Ferner klicken Sie unter „Erstellte Live-Abbilder“ auf das Image. Sind Quelle und Zieldatenträger markiert, wird die Schaltfläche „In den Zielort schreiben“ („Write to target“) aktiviert, die Sie nunmehr auslösen.

Systemback schreibt ähnlich Unetbootin seinen eigenen Bootloader auf den USB-Stick. Die so erstellen Live-Systeme starteten nach passender Bios-Einstellung in unseren Tests alle einwandfrei. Wer das Live-System in einer virtuellen Maschine nutzen oder bootfähig auf DVD bringen will, muss es im Unterdialog „Erstellung Live System“ erst „In ein ISO umwandeln“ („Convert to ISO“). Das Schreiben der ISO-Datei auf einen Rohling beherrscht Systemback nicht selbst, aber dafür können Sie dann etwa ein Brasero unter Linux oder ein Imgburn (auf Heft-DVD) unter Windows verwenden. Auf USB-Stick läuft das Live-System deutlich schneller als auf DVD, und insbesondere mit USB 3.0 ist praktisch kein Unterschied zu einer Festplatteninstallation spürbar.

Live-System aus einem laufenden Ubuntu/Mint erstellen: Das vorher erzeugte Live-Abbild und der Zieldatenträger müssen markiert sein, damit die Schaltfläche „In den Zielort schreiben“ aktiv wird.
Live-System aus einem laufenden Ubuntu/Mint erstellen: Das vorher erzeugte Live-Abbild und der Zieldatenträger müssen markiert sein, damit die Schaltfläche „In den Zielort schreiben“ aktiv wird.

Haltbarkeit und Gegenanzeigen

Ein sorgfältig eingerichtetes Live-Ubuntu/Mint auf schnellem USB wird dem Benutzer das Gefühl einer normalen Systemumgebung vermitteln. Gerade hier kann es irritieren, dass jeder Neustart sämtliche Anpassungen verwirft. Dies und die Tatsache, dass Benutzerdateien extern gespeichert werden müssen, ist daher je nach Einsatzzweck klar zu kommunizieren. Außerdem ist das Live-System natürlich nicht update-fähig. Daher empfiehlt es sich, das Basissystem weiter zu pflegen, auf dem aktuellen Update-Stand zu halten und in größeren Abständen mit Systemback das Live-System neu zu schreiben. Sonderlich zeitkritisch ist das nicht, weil das schreibgeschützte Live-System durch eventuelle Sicherheitslücken nicht geschädigt werden kann.

Das Bootmenü des Live-Systems: Systemback nutzt ähnlich Unetbootin einen eigenen Bootloader. Dies ist der Grund, warum es sich nur für Debian/Ubuntu/Mint eignet.
Das Bootmenü des Live-Systems: Systemback nutzt ähnlich Unetbootin einen eigenen Bootloader. Dies ist der Grund, warum es sich nur für Debian/Ubuntu/Mint eignet.

Autokey-Makros für Ubuntu/Mint

Multifunktionales Autokey

Das Tool Autokey ist – ähnlich seinem Windows-Pendant Autohotkey – ein typisches interaktives Werkzeug für den Linux-Desktop. Bastler finden hier eine ergiebige Arena für globale Textbausteine und Hotkeys.

Das englischsprachige Autokey ist ein vielseitiges Tool für einfache Automatismen bis hin zu raffinierten Scripts. Nützliche Funktionen wie globale Textbausteine, die in der Textverarbeitung genau so gelten wie im Terminal oder einem Mail-Programm, sind ohne Programmierkenntnisse mühelos zu realisieren. Ebenso einfach ist es, Programme oder Shell-Scripts via Autokey mit globalen Hotkeys zu belegen. Wer Programmierkenntnisse mitbringt, im Optimalfall in Python, kommt mit dem Tool noch erheblich weiter.

Autokey unter Ubuntu: Die Integration des Tools ist hier aufgrund des Panel-Indikators optimal (Symbol "A"). Autokey funktioniert aber auch unter anderen Distributionen.
Autokey unter Ubuntu: Die Integration des Tools ist hier aufgrund des Panel-Indikators optimal (Symbol „A“). Autokey funktioniert aber auch unter anderen Distributionen.

Autokey installieren und starten

Autokey gehört bei vielen Distributionen zu den Standardpaketen und lässt sich daher über den Paketmanager installieren, so etwa in Ubuntu oder Linux Mint über das Software-Center oder auch auf der Kommandozeile:

sudo apt-get install autokey-gtk

Die Autokey-Variante für den KDE-Desktop heißt autokey-qt. Falls Ihre Distribution Autokey nicht anbietet, erreichen Sie das Programm über das Entwickler-PPA https://launchpad.net/~cdekter/+archive/ppa.

Das Tool finden Sie nach der Installation im Ubuntu-Dash oder im Startmenü. Nach dem Aufruf erscheint der Konfigurationsdialog, außerdem nistet sich der Autokey-Indikator dauerhaft im Ubuntu-Hauptpanel mit seinem „A“-Symbol ein. Dieser Indikator bringt Sie jederzeit zum Konfigurationsdialog („Show Main Window“) und listet jene Makros auf, die in der Konfiguration mit der Option „Show in notification icon menu“ eingerichtet wurden. Sorgen Sie zunächst dafür, dass Autokey automatisch mit Linux startet: Die Option lautet „Edit -> Preferences -> General -> Automatically start AutoKey at login“.

Unter Ubuntu ist Autokey durch den Panel-Indikator am besten integriert. In Distributionen wie Linux Mint muss der Konfigurationsdialog über das Startmenü geladen werden. Das ist für die Phase der Makro-Einrichtung etwas umständlicher, funktional läuft Autokey aber auch dort einwandfrei.

Ein genereller Tipp: Wenn Autokey nach diversen Änderungen von Hotkeys und Eingabekürzel nicht korrekt arbeitet, ist Beenden und Neustart immer eine gute Antwort. Dann liest das Tool seine Vorgaben unter ~/.config/autokey/data neu ein, was gelegentliche Konflikte zuverlässig löst. Dieser Hinweis gilt ausschließlich für die Einrichtungsphase oder für größere Aufräumarbeiten.

Typischer statischer Textbaustein mit empfohlenen Einstellungen: Aus der Eingabe „mu“ und dem definierten Trigger (etwa Tab-Taste) wird hier die volle Adresse.
Typischer statischer Textbaustein mit empfohlenen Einstellungen: Aus der Eingabe „mu“ und dem definierten Trigger (etwa Tab-Taste) wird hier die volle Adresse.

 

„Phrases“: Textbausteine einfügen

Im Konfigurationsfenster finden Sie im linken Bereich unter „My Phrases“ einige vordefinierte Textbausteine. Um Ihren ersten eigenen Textbaustein anzulegen, verwenden Sie das Menü „New -> Phrase“. Vergeben Sie einen Namen wie etwa „Adresse“, und bestätigen Sie mit „OK“. Der Name hat rein organisatorische Funktion und keinen Einfluss auf die Kürzelvergabe. Im Editorfenster rechts oben steht der Standard „Enter phrase contents“, den Sie nun durch den tatsächlichen Text ersetzen – etwa mit Ihrer Adresse. Der Text kann nur ein Wort oder auch mehrere Absätze umfassen.

Die entscheidende Konfiguration findet nun im Bereich unter dem Editorfenster statt: Typischerweise werden Sie einen Textbaustein beim Schreiben durch ein knappes Tastenkürzel auslösen wollen – etwa „adr“ für die Adresse. Dazu klicken Sie neben „Abbreviations“ auf „Set“. Im Unterdialog „Set Abbreviations“ wählen Sie „Hinzufügen“ und geben „adr“ ein. Quittieren Sie solche Kürzel immer mit der Eingabetaste – es gibt keine grafische Schaltfläche, um die Kürzeleingabe zu bestätigen. Rechts daneben definieren Sie den Auslöser („Trigger on:“). Mit „All non word“ löst jedes Sonderzeichen wie Leerzeichen, Eingabetaste, Tabulator, Punkt oder Bindestrich den Textbaustein aus. Die Eingaben „adr “ (mit nachfolgendem Leerzeichen) oder auch „adr.“ würden demnach die Adresse einfügen.

Wenn Sie versehentliches Auslösen ausschließen möchten, verwenden Sie besser nur die Tabulatortaste („Tab“) als Trigger. Umgekehrt ist es möglich, Textautomatismen ganz ohne signalisierendes Sonderzeichen auszulösen. Wenn Sie die Optionen „Trigger when typed as part of a word“ und „Trigger immediately…“ aktivieren, löst die Eingabe des betreffenden Kürzels in jedem Kontext den Text aus. Dies ist nur mit eindeutigen Kürzeln praktikabel, die bei normaler Texteingabe nie auftreten.

Weitere wichtige Optionen dieses Dialogs sind „Remove typed abbreviation“ und  „Omit trigger character“. Beides sollten Sie immer aktivieren, damit sowohl das Eingabekürzel (etwa „adr“) als auch das Auslöserzeichen (etwa der Tabulator) gelöscht wird. „Ignore case…“ löst den Textbaustein auch dann aus, wenn Sie bei der Kürzeleingabe die Groß- und Kleinschreibung missachten.

Ist alles definiert, klicken Sie auf „OK“ und im Hauptdialog auf „Save“. Neue Kürzel sind nach „Save“ sofort aktiv. Wenn Sie das Kürzel in einem beliebigen Programm schreiben und das Trigger-Zeichen folgen lassen, erscheint Ihr Textbaustein.

Dynamische Textbausteine: Die Scriptfähigkeit des Tools eröffnet neben konstantem Text auch dynamische Texteingaben. Dafür muss man nicht zwingend einen Python-Kurs besuchen, wie das Beispiel in der nebenstehenden Abbildung zeigt: Das Script legt Datumsinformationen in Variablen ab, die danach mit „Keyboard.Send_Keys“ in das aktuelle Programm geschrieben werden. Dass dafür neun Code-Zeilen notwendig sind, ist nur der gewünschten Formatierung geschuldet. Beachten Sie, dass Sie Script-Automatismen als Script anlegen müssen – also nicht als „Phrase“, sondern über „Neu -> Script“.

Dynamischer Textbaustein: Mit einigen Script-Zeilen erstellen Sie globale Funktionen, wie sie sonst nur die Feldfunktionen von Textverarbeitungen beherrschen.
Dynamischer Textbaustein: Mit einigen Script-Zeilen erstellen Sie globale Funktionen, wie sie sonst nur die Feldfunktionen von Textverarbeitungen beherrschen.

 

Programme per Autokey-Script starten

Autokey eignet sich auch als globaler Programmstarter. Auch hier benötigen Sie das Menü „New -> Script“. Nach der Namensvergabe überschreiben Sie im Editorfenster die Vorgabe „# Enter script code“ durch den gewünschten Code. Ein einfacher Programmaufruf sieht so aus:

system.exec_command("firefox",True)

Besser ist meist diese Variante:

import subprocess

subprocess.Popen(["firefox"])

Wenn Firefox bereits läuft, wird hier nur das Fenster im Vordergrund geöffnet, während die erste Variante immer eine neue Instanz des Programms startet. Anders als bei Textbausteinen werden Sie bei Programmaufrufen einen Auslöser per Tastenkombination bevorzugen. Dazu klicken Sie unterhalb des Code-Fensters neben „Hotkey:“ auf den „Set“-Button und tippen nach „Press to Set“ einfach die gewünschte Tastenkombination ein. Nach „OK“ und „Save“ im Hauptfenster ist der Hotkey scharfgeschaltet. Testen Sie vor der Vergabe des globalen Hotkeys immer vorab, ob das System diese Tastenkombination benutzt. Ist dies nämlich der Fall, dominiert im günstigsten Fall der Autokey-Automatismus, die Kollision von Hotkeys kann aber auch Systemhänger auslösen.

Alternative Menü-Darstellung

Längeren Text durch Textkürzel auszulösen, ist die effektivste fürs Schreiben, Hotkeys eignen sich insbesondere für Programmaufrufe. Weil man mit zahlreichen Kürzeln aber schnell an seine Kapazitätsgrenzen gelangt, kann man sich eine beliebige Auswahl seiner Autokey-Elemente auch in einem Popup-Menü anzeigen lassen und dort den gewünschten Textbaustein durch Mausklick auslösen. Das Ergebnis kann so aussehen wie in der nebenstehenden Abbildung. Wenn Sie im Autokey-Hauptdialog einen Ordner wie „My Phrases“ markieren, sehen Sie rechts die Option „Hotkey“. Mit dem Button „Set“ definieren Sie eine beliebige Taste oder eine Tastenkombination als Auslöser. Das damit gestartete Popup-Menü erscheint dort, wo der Mauszeiger aktuell steht und zeigt alle Elemente, die sich unterhalb des Ordners befinden. Sie können für jeden beliebigen Ordner Ihrer Autokey-Sammlung ein solches Hotkey-Menü anlegen und gleichzeitig alle anderen Autokey-Möglichkeiten mit Kürzeln und Hotkeys nutzen.

Einige Textbausteine als Menüangebot: Bei dieser Variante lassen Sie sich die Elemente einfach anzeigen und fügen den Text per Klick in das aktive Fenster ein.
Einige Textbausteine als Menüangebot: Bei dieser Variante lassen Sie sich die Elemente einfach anzeigen und fügen den Text per Klick in das aktive Fenster ein.

Praktische Tipps zu Autokey

Autokey kann die komplette Systemnutzung umkrempeln. Da Sie aber für jedes Phrase- oder Script-Element Kürzel und Hotkeys nutzen, ferner für jedes Ordnerobjekt Kürzel- oder Hotkey-Menüs anlegen können, ist eine logische Organisation in thematische Gruppen unerlässlich. Diese Ordnung erzielen Sie im rechten Teil der Autokey-Konfiguration durch Ordner und Unterordner. Eine bessere Struktur lässt sich jederzeit nachträglich realisieren, allerdings kann Autokey bei großen Aufräumarbeiten durch Umbenennen, Verschieben oder Löschen von Einträgen vorübergehend kapitulieren. Hier hilft praktisch immer Beenden und Neustarten. Außerdem finden Sie alle Ordner und Elemente in identischer Hierarchie auf Dateiebene unter ~/.config/autokey/data. Wenn Sie Ordner und Dateien (je einmal .txt und .json) lieber hier organisieren und danach Autokey neu starten, übernimmt Autokey die auf Dateiebene vorgefundene Organisation.

Beschränkte Debug-Möglichkeiten: Mit Textbausteinen, Programmstarter und Popup-Menüs bietet Autokey jede Menge Potential, komfortabler zu arbeiten. Aufwändige Scripts zu erstellen, bleibt hingegen Python-Kennern vorbehalten. Mit Autokey Python zu erlernen, ist keine erfolgversprechende Idee, weil das Tool keine Problembehandlung anbietet: Bei Fehlern im Code geschieht entweder gar nichts oder es erscheint die Standardmeldung „The script […] encountered an error“. Immerhin produziert der Start von Autokey im Terminal mit dem Parameter „autokey -l“ sehr viel Output, den Sie mit

autokey -l | grep -v "DEBUG"

eingrenzen sollten. Die „Debug“-Informationen helfen Ihnen nämlich bei Scriptfehlern nicht weiter und machen die Ausgabe unübersichtlich. Was mit diesem Grep-Filter übrig bleibt, sind fundamentale Ablauf-Infos und vor Hinweise auf Scriptfehler mit der genauen Zeilenangabe. Woran es dann exakt hakt, müssen Sie sich, sofern nicht offensichtlich, in Python-Tutorials erarbeiten.

Automatismen auf ein Programm begrenzen: Die Ersetzungsautomatik von Textbausteinen gilt ebenso wie jede definierte Tastenkombination global im gesamten System. Das ist an sich ein großer Vorteil, der spezialisierte Lösungen in Textverarbeitung, Mailprogramm oder Terminal klar aussticht. Trotzdem gibt es sicher speziellere Textbausteine, die nur in einem bestimmten Programm gelten sollen. Dafür hält Autokey unter „Script-Settings“ den „Window Filter“ parat: Das betreffende Programm muss gestartet und dessen Fenster sichtbar sein. Dann klicken Sie in Autokey neben „Window Filter“ auf „Set“ und anschließend auf „Detect Window Properties“. Nun klicken Sie in das Fenster der Anwendung und bestätigen wiederum in Autokey die angezeigte „Window class“ mit „OK“. Mit „Save“ speichern Sie die Änderung. Egal ob Hotkey, Textbaustein oder beides: Der Automatismus gilt jetzt nur noch innerhalb des einen angegebenen Programms.

203_5_autokey_debug
Begrenztes Debugging für Python-Scripts: Nach dem Aufruf mit Parameter „-l“ zeigt das Terminal zumindest die Zeilennummer des fehlerhaften Codes.