Mehrer Monitore unter Ubuntu (Dual Head)

Nachdem ich bisher zum Aktivieren eines zweiten Monitors oder Beamers am VGA bzw. HDMI Port immer den X-Server neustarten musste, habe ich nun eine Möglichkeit gefunden, das ganze recht dynamische über RandR (XResize and Rotate Extension) zu machen. Da die graphische Oberfläche für RandR (GRandR) noch nicht so stabil sein soll, hab ich mein Glück mit dem Kommandozeilen Tool xrandr versucht. Auch das Erweitern des Monitors (so dass man Anwendungen einfach auf den zweiten Monitor ziehen kann anstatt den Output nur zu clonen) funktioniert mit Randr nach einigen Anpassungen an der xorg.conf recht gut.
Die Anleitung entstand unter Ubuntu 8.10 (seit Gusty Gibbon ist randr automatisch mitinstalliert). Als Hardware verwendete ich meinen Dell Latitude E6400 (VGA und HDMI Port) und einen uralten Röhrenmonitor.

Nach dem einstecken des externen Monitors kann man in einer Konsole mittels
xrandr
die Verfügbaren Ausgänge und Auflösungen auflisten. Der Output sollte ungefähr so aussehen:

Screen 0: minimum 320 x 200, current 1440 x 900, maximum 4096 x 3072
VGA connected (normal left inverted right x axis y axis)
1360×768 59.8
1152×864 60.0
1024×768 60.0
800×600 60.3
640×480 59.9
LVDS connected 1440×900+0+0 (normal left inverted right x axis y axis) 304mm x 190mm
1440×900 60.2*+ 59.9 40.2
1360×768 59.8
1152×864 60.0
1024×768 60.0
800×600 60.3 56.2
640×480 59.9
HDMI-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
TV disconnected (normal left inverted right x axis y axis)

Mittels
xrandr –auto
kann man RandR versuchen lassen, eine passende Konfiguration selbst zu finden. Da das bei mir nicht funktioniert (Monitor wohl zu alt), muss ich die Einstellungen selbst vornehmen. Mit
xrandr –output VGA –mode 640×480
stellt man den Output VGA auf die Auflösung 640×480 ein. Die Auflösungen muss dabei vom Monitor und vom X-Server unterstützt werden. Die Verfügbaren Auflösungen kann man von obigen Output gut auslesen. Es ist auch möglich weitere Modis hinzuzufügen, mehr Infos dazu in der man von xrandr.
Man kann natürlich auch die Auflösung des HDMI oder DVI Port ändern. Die Namen der Ausgänge findet man ebenfalls im ersten Output.
Um einen der beiden Monitore auszuschalten, kann man einfach
xrandr –output VGA –off
tippen. Der interne Monitor heißt bei mir LVDS (wie er bei euch heißt seht ihr im ersten Output).
Eine coole Funktion von RandR ist die Möglichkeit, den Output der Grafikkarte nicht nur zu clonen, sondern auch den Monitor virtuell zu vergrößern. Statt zwei einzelnen Monitoren, oder zwei Monitoren mit gleichen Output bekommt man so einen Monitor, der so groß ist, wie die beiden Monitore zusammen. So kann man zum Beispiel auf dem einen Monitor einen Film abspielen, während man auf dem anderen Notizen macht. Das ganze geht recht einfach mittels
xrandr –output VGA –left-of LVDS
Dieser Befehl verschiebt den Output links vom internen Monitor. Natürlich kann man auch –right-of verwenden. Falls man eine Fehlermeldung bekommt, die so ähnlich klingt wie
randr: screen cannot be larger than 1440×1440 (desired size 1664×768)
dann liegt das an einer falschen Einstellung des framebuffers. Das ganze kann man aber ganz leicht beheben.
Zuerst erstellen wir uns ein Backup der xorg.conf und editieren diese Datei dann.
sudo /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
sudo nano /etc/X11/xorg.conf

Im Abschnitt Screen in erstellt oder ändern man die Subsection Display das das ganze dann ungefähr wie folgt aussieht:

Section „Screen“

SubSection „Display“
….
Virtual 4096 3072
EndSubSection
….
EndSection

Man kann natürlich auch größere oder kleinere Werte nehmen. Nach einem Neustart des X-Servers (STRG+ALT+Rücktaste) (ACHTUNG!! Vorher alles schließen und speichern.) sollte das expandieren des Screens funktionieren.

Ich hoffe das Clonen bzw. Expandieren des X-Servers funktioniert bei allen. Wenn ihr Probleme habt oder noch Ergänzungen, dann bitte ich natürlich um ein Kommentar.

  1. berni sagt:

    hallo
    vieleicht erhalte ich hier antwort
    habe linux mint und es zeigt mir zwei graka an
    eine intel
    und eine ati radeon hd 5000 series

    bei eingabe des xrandr -q befehls ist jedoch nur der screen des laptops und vga1 disconnected angegeben
    ich möchte jedoch über hdmi einen grossen bildschirm ansteuern.
    hdmi wird gar nicht erkannt
    seit 4tagen update ich alles was xorg, amd/ati und intel heisst
    ein xorg.conf existiert auch nicht und das grafische modul „bildsschirme“ hatte einmal kurz noch zwei bildschirme drauf aber nur einmal (und weshalb zwei ?)
    jetzt kommt nichts mehr
    alles richtig eingesteckt
    was muss ich tun ?????????????????????
    bitte helft mir
    danke

  2. berni sagt:

    some@MataHari ~ $ inxi -Gx
    Graphics: Card-1: Intel Core Processor Integrated Graphics Controller bus-ID: 00:02.0
    Card-2: Advanced Micro Devices [AMD] nee ATI Madison [Radeon HD 5000M Series] bus-ID: 01:00.0
    X.Org: 1.13.0 drivers: intel (unloaded: fbdev,vesa) Resolution: 1600×900@60.3hz
    GLX Renderer: N/A GLX Version: N/A Direct Rendering: N/A
    some@MataHari ~ $ xrandr -q
    Screen 0: minimum 320 x 200, current 1600 x 900, maximum 8192 x 8192
    LVDS1 connected 1600×900+0+0 (normal left inverted right x axis y axis) 382mm x 214mm
    1600×900 60.3*+
    1440×900 59.9
    1360×768 59.8 60.0
    1152×864 60.0
    1024×768 60.0
    800×600 60.3 56.2
    640×480 59.9
    VGA1 disconnected (normal left inverted right x axis y axis)

  1. Es gibt noch keine Trackbacks für diesen Post!