Linux-Systeme verfügen über eine Vielzahl an Tools, mit denen Sie Ein- und Ausgabegeräte konfigurieren können. Der Open-Source-Tipp in diesem Monat wirft diesmal einen Blick auf das X-Window-System und wie Sie es für das optimale Zusammenspiel mit Ihrer Hardware konfigurieren.
Bekanntermaßen stellt ein X-Window-System mehrere Komponenten zur Verfügung, um Benutzern eine Interaktion mit einer grafischen Oberfläche zu ermöglichen. Ein X-Server erlaubt Anwendungen, die auch als X-Clients bezeichnet werden, eine grafische Darstellung innerhalb von Fenstern vorzunehmen. Das Look-and-Feel einer solchen Oberfläche bestimmt der Window-Manager. Dieser kümmert sich auch um das Handling der Fenster, also beispielsweise diese zu vergrößern, zu verkleinern oder auch zu schließen. Ein Desktop-Manager ist letztendlich dafür zuständig, Ordnung auf eine solche grafische Oberfläche zu bringen und beispielsweise Icons, Menüs, Panels und andere Elemente auf dem Desktop darzustellen.
Konfiguration mit Kommandozeilen-Tools
Auch wenn diverse grafische Tools existieren, um die vorhandene Hardware optimal an ein X-Window-System anzupassen, ist dies auch ohne Probleme innerhalb eines Terminals mithilfe von Kommandozeilentools möglich. Es kommt lediglich darauf an, das passende Tool zu nutzen, um die gewünschte Einstellung vorzunehmen. Dieser Open-Source-Tipp bringt etwas Licht ins Dunkel und zeigt, wie Sie einige übliche Einstellungen innerhalb eines Terminals, ganz ohne grafisches Konfigurationstool, vornehmen.
Display einrichten
Ein Problem, das immer wieder auftritt, betrifft die korrekte Auflösung des Displays. Kommen mehrere Monitore zum Einsatz oder auch im Zusammenspiel mit einem Projektor stellt sich oftmals die Schwierigkeit, die korrekte Reihenfolge der Geräte festzulegen, damit Sie auch bequem mit der Maus zwischen den Fenstern der unterschiedlichen Geräte wechseln können. Vielleicht haben Sie auch die Anforderung, das Bild eines Displays zu drehen – beispielsweise wenn Sie einen Projektor verkehrtherum an der Decke montiert haben oder einen Monitor im Hochformat nutzen möchten. Um all diese Probleme zu lösen, können Sie auf das Tool "xrandr" zurückgreifen.
Bekanntermaßen stellt ein X-Window-System mehrere Komponenten zur Verfügung, um Benutzern eine Interaktion mit einer grafischen Oberfläche zu ermöglichen. Ein X-Server erlaubt Anwendungen, die auch als X-Clients bezeichnet werden, eine grafische Darstellung innerhalb von Fenstern vorzunehmen. Das Look-and-Feel einer solchen Oberfläche bestimmt der Window-Manager. Dieser kümmert sich auch um das Handling der Fenster, also beispielsweise diese zu vergrößern, zu verkleinern oder auch zu schließen. Ein Desktop-Manager ist letztendlich dafür zuständig, Ordnung auf eine solche grafische Oberfläche zu bringen und beispielsweise Icons, Menüs, Panels und andere Elemente auf dem Desktop darzustellen.
Konfiguration mit Kommandozeilen-Tools
Auch wenn diverse grafische Tools existieren, um die vorhandene Hardware optimal an ein X-Window-System anzupassen, ist dies auch ohne Probleme innerhalb eines Terminals mithilfe von Kommandozeilentools möglich. Es kommt lediglich darauf an, das passende Tool zu nutzen, um die gewünschte Einstellung vorzunehmen. Dieser Open-Source-Tipp bringt etwas Licht ins Dunkel und zeigt, wie Sie einige übliche Einstellungen innerhalb eines Terminals, ganz ohne grafisches Konfigurationstool, vornehmen.
Display einrichten
Ein Problem, das immer wieder auftritt, betrifft die korrekte Auflösung des Displays. Kommen mehrere Monitore zum Einsatz oder auch im Zusammenspiel mit einem Projektor stellt sich oftmals die Schwierigkeit, die korrekte Reihenfolge der Geräte festzulegen, damit Sie auch bequem mit der Maus zwischen den Fenstern der unterschiedlichen Geräte wechseln können. Vielleicht haben Sie auch die Anforderung, das Bild eines Displays zu drehen – beispielsweise wenn Sie einen Projektor verkehrtherum an der Decke montiert haben oder einen Monitor im Hochformat nutzen möchten. Um all diese Probleme zu lösen, können Sie auf das Tool "xrandr" zurückgreifen.
Dieses ermöglicht die Konfiguration der RandR-(Resize and Rotate)-Erweiterung des X-Window-Systems. Hiermit passen Sie das Hauptfenster, das die X-Clients zur Darstellung verwenden, nach Ihren Wünschen an. Mittels xrandr --listmonitors erhalten Sie eine Übersicht aller an das System angeschlossenen Monitore und deren aktuelle Konfiguration:
xrandr --listmonitors
Monitors: 3
0: +*eDP-1 1920/309x1080/174+3000+0 eDP-1
1: +DP-2-2 1080/510x1920/287+0+0 DP-2-2
2: +DP-2-3 1920/598x1080/336+1080+0 DP-2-3
Welche Modi die einzelnen Geräte alles unterstützen, sehen Sie mittels xrandr -q. Den gewünschten Modus für ein Gerät stellen Sie dann wie folgt ein:
Der Befehl sorgt dafür, dass der Monitor DP-2-2, der an den DisplayPort des Rechners angeschlossen ist, mit einer Auflösung von 1920 x 1080 Pixeln arbeitet und das Gerät links vom internen Display (eDP-1) des Notebooks angeordnet ist. Somit können Sie bequem mit der Maus nach links fahren, um vom internen Display auf den externen Monitor zu wechseln. Betreiben Sie den Monitor im Hochformat, erweitern Sie das Kommando einfach um die Option "--rotate left" oder "--rotate right":
xrandr --output DP-2-2 --rotate left --left-of eDP-1 --mode 1920x1080
Der folgende Befehl ist nützlich, wenn Sie einen Projektor verwenden, der mittels HDMI angeschlossen ist und das Bild invertiert darstellen soll:
Eine weitere Einstellung, die unter dem X-Window-System gerne vorgenommen wird, ist die Konfiguration für das "Natural Scrolling". Oftmals ist es unter Linux so, dass die Standardeinstellung für die angeschlossene Maus und das interne Touchpad vom Verhalten auf einem Gerät mit Touchscreen abweicht und eher dem Verhalten eines Scroll-Balkens gleicht. Also das Scrollen nach oben sorgt dafür, dass der Bildschirm nach oben scrollt beziehungsweise das Scrollen nach unten diesen nach unten bewegt. Auf einem Touchscreen, also beispielsweise auf dem Handy oder dem Tablet, verhält es sich genau andersherum. Von daher möchten viele Benutzer diese Einstellung auf Ihren Laptops oder Desktops anpassen.
Unter dem X-Window-System ist die lib-event-Bibliothek dafür zuständig, die Eingabe-Events eines Benutzers zu verarbeiten und entsprechend darauf zu reagieren. Die Konfiguration für die einzelnen Eingabegeräte erfolgt dabei über das Tool "xinput". Eine Übersicht der zur Verfügung stehenden Geräte erhalten Sie mit Hilfe des Befehls xinput list.
Für die Einstellung "Natural Scrolling" sind natürlich die Maus und das Touchpad interessant. Alle verfügbaren Konfigurationseinstellungen für diese Geräte bekommen Sie mithilfe von xinput list-props <ID> angezeigt, wobei Sie die ID auch durch den Namen des Geräts ersetzen können. Dies ist auch empfehlenswert, da die ID nicht statisch ist und sich durchaus ändern kann. Die folgenden beiden Befehle liefern also, sowohl für die Maus als auch das Touchpad, das gleiche Ergebnis:
Das Kommando xinput zeigt sämtliche Eingabegeräte an.
Persistente Settings
Zu beachten ist an dieser Stelle, dass die Einstellungen, die Sie mit den Tools "xrandr" und "xinput" vornehmen, nicht persistent sind. Um dieses Problem zu beheben, gibt es eine Vielzahl an möglichen Optionen. Im einfachsten Fall erzeugen Sie eine Startup-Datei, in der Sie die jeweiligen Kommandos eintragen und dann dafür sorgen, dass diese Datei durch Ihren Desktop- oder Window-Manager automatisch aufgerufen wird.
Suchen Sie einen Ansatz unabhängig vom eingesetzten Desktop- oder Window-Manager, könnten Sie die Einstellungen auch in der Konfigurationsdatei für den X-Server hinterlegen. Listing 1 zeigt ein Beispiel für das libevent-System. Eine weitere Möglichkeit besteht darin, ein Skript mit den jeweiligen Kommandos für jede neue X-Session zu erzeugen. Der Vorteil hierbei ist, dass Sie in diesem Skript ebenfalls die Tools "xrandr" und "xinput" (und andere) verwenden können, ohne sich hierbei um die spezielle Syntax der Konfigurationsdatei für das X-Window-System kümmern zu müssen (siehe Listing 2).
Mit "xrandr" und "xinput" können Sie umfangreiche Einstellungen für Ein- und Ausgabegeräte auf Ihrem Systemen vornehmen – etwa die Auflösung, die Anordnung und das Format von Monitoren oder das "Natural Scrolling".