Distributed Multihead X (Xdmx) Howto

Hinweis: Der Artikel ist schon etwas älter, ich habe das Vorhaben bisher nicht fertig gestell, aber eventuell helfen die Angaben ja dem Ein oder Anderem

Bild: http://adlersa.yotaweb.de/gallery2/gallery2/d/6477-3/Bigdesktop.jpg?g2_GALLERYSID=33658476444b24a4cf10b9eac3d4ead9Ja, ich geb ja zu, ich bin Monitorsüchtig. Normal arbeiten hier zwei 19″er an einer NVidia-Karte per TwinView, für noch mehr Übersicht muss von Zeit zu Zeit mein Laptop herhalten. Hierbei wird auf dem Hauptrechner ein virtueller Monitor emuliert und dessen Inhalt per Ethernet auf den zweiten Rechner verfrachtet. Ein ähnliches Setup hatte ich bereits zu meinen Windows-Zeiten mit MaxiVista. Unter Linux muss ich mich natürlich etwas Neues suchen – das Zauberwort heißt Xdmx. Dieser X-Server kann mehrer andere X-Server zusammenfassen. Oder wie es die Wiki schimpft: „It acts as a proxy X Window server for multiple back-end X servers.

Gentoo-User haben es hier einfach – Xorg (x11-base/xorg-server) hat dmx als USE-Flag – einmal setzen und schon werden alle Tools und Libs emerged. Unter Debian müsste das passende Paket xdmx-tools heißen. Zusätzlich ist Xnest zum Testen ein praktischer helfer – Gentoo-XOrg hats dabei, Debian-User sollten ein gleichnamiges Paket finden. Hiermit lassen sich virtuelle X-Server in einer laufenden Sitzung starten – ähnlich wie VNC.

Für den ersten Test werden auf dem Master zwei Xnester gestartet:

XSESSION="xterm" startx -- /usr/bin/Xnest :1 -geometry 640x480+0+0 -name Test1
XSESSION="xterm" startx -- /usr/bin/Xnest :2 -geometry 640x480+0+0 -name Test2

Ich nutze hier startx, da ich so in den Testservern ein Terminal erhalte und die Zugriffsrechte korrekt gesetzt werden. Danach kann der Xdmx gestartet werden:

Xdmx :9 -display :1 -display :2 -query localhost

Die beiden display-Angaben verweisen auf die virtuellen X-Server. Das Query stellt eine Anfrage an den Loginmanager – ist dieser auf Remoteverbindungen eingerichtet zeigt sich auf den ersten Testfenster die Loginmaske. Ich hatte in dem virtuellen X einige Tastaturprobleme, da aber auf #2 das Terminal verschwand und im Xdmx beide Screens aufgeführt waren lasse ich den Test mal als erfolgreich durchgehen.

Weiter zu den echten Screens: Zuerst benötigt der Hauptrechner Zugriff auf meinen Laptop – dazu wird auf dem Zweitgerät per "xhost +192.168.x.y die entsprechende IP freigeschaltet. Zum test kann man mit DISPLAY="laptop:0" xterm (laptop=IP oder DNS) ein Fenster auf dem Slave starten. Funktioniert das kann Xdmx den Dienst antreten:

Xdmx :9 -display :0 -display laptop:0 +xinerama -query localhost

Das ganze lässt sich dann noch in entsprechende Startscripte verpacken. Beendet werden kann Xdmx mit Strg+Alt+Backspace

Info am Rande: Es soll auch eine zweite Software geben, welche als OpenGL-Proxy dient, damit könnte eine einfache 3D-Beschleunigung möglich sein.

Noch ein paar Infos:

TwinView (NVidia) wird als ein großer Bildschirm erkannt

Statt TwinView 2 separate X-Screens einstellen. Geht z.B. über das NVidia-GUI

Gnome startet nicht/Macht Probleme/etc

Gnome kann pro Rechner und User nur 1x gestartet werden. Am besten mit einem anderen User oder einem anderen Windowmanager Xdmx starten

Tastaturlayout

-param XkbModel pc104 -param XkbLayout de -param XkbVariant nodeadkeys

Im Falle von Gnome unter System->Einstellungen->Tastatur entsprechend anpassen.

Probleme mit Schriftarten

Mittels -fontpath kann man die entsprechenden Pfade angeben. Fuer mein Gentoo z.B.

-fontpath /usr/share/fonts/local -fontpath /usr/share/fonts/misc -fontpath /usr/share/fonts/Type1 -fontpath /usr/share/fonts/TTF -fontpath /usr/share/fonts/75dpi -fontpath /usr/share/fonts/100dpi

Darstellungsprobleme

Folgende Optionen schalten einige Optimierungen ab – am besten selbst probieren was hilft. In meinem Fall reichte der noglxproxy um die meisten Programmfehler zu beheben und Videoplayer ans laufen zu bekommen:

-ignorebadfontpaths -noglxproxy -norender -nosubdivprims -nowindowopt -nooffscreenopt

Weitere Infos:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert