Wolfgang Fellger | Mehrbildschirmbetrieb in Linux

Mehrbildschirmbetrieb in Linux

This article is only available in German.

Bis vor einigen Jahren noch ein Thema für sich, da der X-Server umständlich konfiguriert und bei jeder Änderung neugestartet werden musste, ist mit RandR inzwischen die Lösung für dieses Problem vorhanden.

RandR steht für "Rotate and Resize" und ist eine Erweiterung des X-Servers, die im wesentlichen Änderungen an den Bildschirmeinstellungen ohne Neustart ermöglicht. Zur Installation gibt es für fast alle Distributionen fertige Pakete, oder ist wie etwa bei Ubuntu ab 7.10 bereits vorinstalliert.

Linuxtypisch gibt es zur Steuerung ein hochflexibles Kommandozeilenprogramm, das allerdings (spätestens nach Lektüre dieses Tutorials ;-) einfach und intuitiv zu handhaben ist. Der Vollständigkeit halber sei noch das grafische Frontend grandr genannt, auf das ich hier aber nicht weiter eingehen möchte.

Mit xrandr lassen sich auf die vorhandenen Bildschirme praktisch beliebige Ausschnitte eines virtuellen Desktops legen. Die maximale Größe von letzterem ist durch die Grafikkarte beschränkt und erfordert u.U. etwas Finetuning an der xorg.conf.

In der Regel wird man eine der unter Windows und Mac OS üblichen Optionen "Clone" (zwei Bildschirme zeigen das Gleiche) oder "Extend" (die Arbeitsfläche wird auf zwei nebeneinanderstehende Bildschirme ausgedehnt) wünschen. Ebenfalls problemlos möglich und eventuell interessant ist etwa eine Betriebsart, bei der auf einem kleineren Bildschirm ein Ausschnitt des größeren angezeigt wird.

Ein Aufruf von xrandr gibt eine Übersicht mit vorhandenen Bildschirmen, aktuellen und möglichen Auflösungen, sowie die aktuelle Größe des virtuellen Desktops aus.

Benötigt man nur "Clone", ist mit einem einfachen Anstecken und Aufruf von

xrandr --auto

üblicherweise bereits alles erledigt.

Im Detail steuern lassen sich die einzelnen Bildschirme, indem man xrandr --output NAME (bildschirmspezifische Optionen) eingibt. Interessant hierbei vor allem:

--modeSetzt die gewünschte Auflösung des Bildschirms, etwa 1024x768.
--offSchaltet den Bildschirm aus.
--right-of, --left-of, --below, --above NAMEPlatziert den Bildschirm auf dem virtuellen Desktop relativ zu einem anderen Bildschirm. Dies entspricht im wesentlichen der "Extend"-Option.
--posHiermit lassen sich die Koordinaten auf dem virtuellen Desktop direkt (in Pixeln) angeben.
--rotate left|right|inverted|noneDreht die Ausgabe auf diesem Bildschirm.

Für alle Optionen gilt, dass xrandr automatisch die Größe des virtuellen Desktops anpasst.

Beispiele:

xrandr --output VGA --mode 800x600 --rotate inverted

Aktiviert etwa einen externen VGA-Ausgang, bei einer Auflösung von 800x600 und um 180° gedreht.
Der Bildschirminhalt wird geklont, bzw. der 800x600 Pixel große Ausschnitt in der oberen linken Ecke dargestellt.

xrandr --output VGA --right-of LVDS

Platziert den Bildschirmausschnitt des VGA-Ausgangs rechts von LVDS, etwa dem Bildschirm des Laptops.
Zieht man also Fenster über den rechten Rand hinaus, erscheinen sie auf dem externen Bildschirm.

Es lassen sich auch mehrere Bildschirme auf einmal konfigurieren:
xrandr --output LVDS --mode 1280x800 --output VGA --mode 800x600 --pos 480x200

Setzt den Bildschirm LVDS auf eine Auflösung von 1280x800 und platziert VGA so, dass der untere rechte Teil von LVDS darauf sichtbar ist.

Weiterführend ein ausführliches (englisches) Tutorial auf thinkwiki.com:
http://www.thinkwiki.org/wiki/Xorg_RandR_1.2