„HAR HAR … Ich habe Feuer gemacht!“


naja, ok.
Vielleicht nicht ganz so drastisch.

Aber:

^
|
Draufklicken, na los!

Ja, genau: das ist mein Schreibtisch. In meinem Büro. Da steht ein Telefon.
Und 1 Laptop, 1 Docking-Station, ….
mit 3 Monitoren (v.l.n.r.: Laptop TFT (TD419 MONITOR), Fujitsu-Siemens P20-1, Acer AL712).
Mit 3 unabhängigen Desktops (alles KDE).
Und 3 verschiedenen Auflösungen (v.l.n.r.: 1024×768, 1600×1200, 1280×1024).
Die man natürlich mit 1 Maus und 1 Tastatur bedienen kann – d.h. mit der Maus zwischen den Monitoren fließend wechseln.

Ja, ja, ja. Das stellt weder den Weltfrieden her noch bringt es entscheidende Vorteile für die Menschheit an sich.
Aber mir macht es das Arbeiten einfacher – mehr Platz! Und vielleicht kann sich jemand hier was abgucken für die eigene Konfiguration.

Also, der Reihe nach:
ich bin relativ viel unterwegs – zum einen auf Kundenterminen, Präsentationen oder Vorträgen, zum anderen wenn ich Kurse und Seminare gebe. Einen Desktop-PC und ein Laptop zu pflegen war mir auf die Dauer zu aufwendig – ich wollte gerne einen portablen Arbeitsplatz haben.

Da das RRZE eine Rahmenvertrag mit Dell für Laptops besitzt, gabs keine Qual der Wahl – zum Beschaffungszeitpunkt war das D410 das einzige ultraportable Modell (1,7kg, 12,1“), quasi eins vor Subnotebook. Aufgestockt mit einem 2GHz Prozessor, 2GB RAM und der großen „D/Dock“ Dockingstation sollte es auch als „klassischer“ Arbeitsplatzersatz funktionieren. Die Dockingstation hat dabei den Vorteil, daß sie neben einer Reihe von Anschlüßen (VGA, DVI, SPDIF, TV-Out etc) eine Wechselschacht für ein optisches Laufwerk mitbringt (hier: DVD-RW) und einen extra PCI Slot für eine zusätzliche Grafikkarte besitzt.

Als OS brauche ich Linux – nein, nicht weil es „besser“ als Windows oder sonstige welche ist oder weil ich ein idealistischer Fanatiker bin, sondern weil sich Linux für meine Arbeiten schlichtweg am besten eignet. Der Webmaster an sich hat nunmal ein breites Tätigkeitsspektrum, von Serveradministration, Programmierung, Paketbau hin zu Konzeption, Design, Bildbearbeitung bis Beratung, Projektierung, Schulung. Dieses heterogene Spektrum deckt die Open Source Linux Welt besser ab als die kommerzielle Windows Ecke – sowohl in punkto Software als auch im Bereich Sicherheit und Zuverlässigkeit.

So, nun weiter: da Kollega Linux-Gott Ritter hier im Haus greifbar ist, fiel die Wahl auf SuSE auf dem Desktop:
# uname -a
Linux hobel 2.6.13-15.8-default #1 Tue Feb 7 11:07:24 UTC 2006 i686 i686 i386 GNU/Linux
# cat /etc/SuSE-release
SUSE LINUX 10.0 (i586) OSS
VERSION = 10.0

Mit dem SuSE Profile Manager verwalte ich Hardware- und Software-Einstellungen für die verschiedenen Umgebungen, in denen ich arbeite. (Die Benutzung des Profile Managers scpm findet sich in Kapitel VI.20. im offiziellen SuSE 10.0 Handbuch oder aber auch durch bewußtes Googeln.)

An meinenm Hauptarbeitsplatz brauche ich Desktop-Platz – ein externer Monitor ist also unerläßlich. Und dank dem VGA/DVI Ausgängen der Dockinstation auch kein Problem. Das Dell D410 kann nämlich an denen eine Auflösung bis zu 1600×1200 fahren.
Plaaaaaaatz, yes.
Nun habe ich aber meine SunRay endgültig in Rente geschickt (über die Gründe schweige ich mich aus, sonst gibts markante Blicke vom Solaris Guru Gregor L.) und damit nen Monitor über – den ich gerne verwenden wollte.
Also rüber zu Kollega Hardware Gott D.D. (der mit dem Bärlauch tanzt, hehe, kleiner Insider) und mir ne alte Matrox Millenium II geholt – genau, richtig geahnt, für den PCI Slot meiner Dockingstation. Reingemöhrt, um mal einen unserer Azubis zu zitieren, im BIOS des Laptops den PCI Bus angeschalten und gespannt das X-Server Log ge-greppt:
# cat /var/log/Xorg.0.log | grep -i matrox
(--) PCI: (2:8:0) Matrox Graphics, Inc. MGA 2164W [Millennium II] rev 0

Ju-chu!
Dann nochmal auf Nummer sicher:
# lspci

00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)

02:08.0 VGA compatible controller: Matrox Graphics, Inc. MGA 2164W [Millennium II]

OK – also beides da: der onboard i915 Intel Grafik-Chipsatz sowie die extra Matrox Grafikkarte.

Jetzt natürlich die Herausforderung, zwei Signale aus dem Intel Chip zu quetschen und den Monitor, der an der Matrox Karte hängt, auch unterzubringen.
Details erspare ich allen, die es bis hierher mit dem Lesen geschafft haben. Stattdessen lieber gleich zum Ergebnis: die xorg.conf.

>Jubel im Auditorium< Hier die drei Grafik-Devices. Man beachte die Angabe von Screen für den i915 Chip. Was welche Option genau bedeutet überlasse ich dem fleißigen man 5 xorg.conf Tipper selbst.

Section "Device"
BoardName "915 GM"
BusID "0:2:0"
Driver "i810"
Identifier "Device[0]"
VendorName "Intel"
Option "MonitorLayout" "CRT,LFP"
Screen 0
EndSection

Section "Device"
BoardName "915 GM"
BusID "0:2:0"
Driver "i810"
Identifier "Device[1]"
VendorName "Intel"
Option "MonitorLayout" "CRT,LFP"
Option "NoDDC" "1"
Screen 1
EndSection

Section "Device"
BoardName "MGA 2164W"
BusID "2:8:0"
Driver "mga"
Identifier "Device[2]"
Option "NoHal"
VendorName "Matrox"
EndSection

Sörvalayout – obige Screen Angaben finden hier ihre Anwendung, ergänzt um den dritten Screen der Matrox Karte („Screen[2]“). Da fehlt wirklich keine „2“ vor „Screen[2]“, sondern an der Karte hat es nur einen Ausgang mit einem Monitor, was eine numerische Screen Angabe obsolet macht.
Auch zu beachten: nicht die Screen Anweisung oben mit dem Bezeichner „Screen[x]“ verwechseln. „Screen[x]“ ist ein frei wählbarer Name für die Sektion der xorg.conf, die Device-Anweisungen und Monitor-Anweisungen verbindet.

Section "ServerLayout"
Identifier "Layout[all]"
InputDevice "Keyboard[0]" "CoreKeyboard"
InputDevice "Mouse[1]" "CorePointer"
InputDevice "Mouse[3]" "SendCoreEvents"
Option "Clone" "off"
Option "Xinerama" "off"
Screen 0 "Screen[0]"
Screen 1 "Screen[1]" RightOf "Screen[0]"
Screen "Screen[2]" RightOf "Screen[1]"
EndSection

Der Vollständigkeit halber noch meine Monitor– und Screen-Sektionen, und als Schmakerl dazu die Modes:

Section "Monitor"
Option "CalcAlgorithm" "XServerPool"
DisplaySize 250 180
HorizSync 30-50
Identifier "Monitor[0]"
ModelName "TD419 MONITOR"
Option "DPMS"
VendorName "SEC"
VertRefresh 43-75
EndSection

Section "Monitor"
DisplaySize 410 310
HorizSync 30-82
VertRefresh 50-62
Identifier "Monitor[1]"
Option "DPMS"
ModelName "P20-1"
VendorName "FUS"
Modeline "1600x1200_60.00" 160.96 1600 1704 1880 2160 1200 1201 1204 1242 -HSync +Vsync
EndSection

Section "Monitor"
DisplaySize 300 230
HorizSync 30-70
Identifier "Monitor[2]"
ModelName "AL712"
VendorName "Acer"
VertRefresh 43-75
UseModes "Modes[2]"
EndSection

Section "Modes"
Identifier "Modes[2]"
Modeline "1280x1024" 114.54 1280 1360 1496 1712 1024 1025 1028 1062
Modeline "1280x960" 107.32 1280 1360 1496 1712 960 961 964 995
Modeline "1280x800" 104.35 1280 1360 1496 1712 800 801 804 835
Modeline "1280x800" 88.68 1280 1352 1488 1696 800 801 804 830
Modeline "1152x864" 102.08 1152 1224 1352 1552 864 865 868 901
Modeline "1152x864" 86.70 1152 1224 1344 1536 864 865 868 896
Modeline "1280x768" 99.17 1280 1352 1488 1696 768 769 772 801
Modeline "1280x768" 84.35 1280 1344 1480 1680 768 769 772 797
Modeline "1024x768" 79.52 1024 1080 1192 1360 768 769 772 801
Modeline "1024x768" 67.48 1024 1080 1184 1344 768 769 772 797
Modeline "800x600" 47.53 800 840 920 1040 600 601 604 626
Modeline "800x600" 40.19 800 832 912 1024 600 601 604 623
Modeline "768x576" 43.52 768 800 880 992 576 577 580 601
Modeline "768x576" 37.37 768 800 880 992 576 577 580 598
Modeline "640x480" 29.84 640 664 728 816 480 481 484 501
Modeline "640x480" 25.10 640 656 720 800 480 481 484 498
EndSection

Section "Screen"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x800" "1280x768" "1024x768" "800x600" "768x576" "640x480"
EndSubSection
Device "Device[0]"
Identifier "Screen[0]"
Monitor "Monitor[0]"
EndSection

Section "Screen"
Identifier "Screen[1]"
Device "Device[1]"
Monitor "Monitor[1]"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1600x1200_60.00"
#Modes "1600x1200" "1280x1024" "1024x768" "800x600"
#Modes "1280x960"
#Modes "1280x1024"
EndSubSection
EndSection

Section "Screen"
DefaultDepth 16
SubSection "Display"
Depth 15
Modes "1280x1024" "1280x960" "1280x800" "1152x864" "1280x768" "1024x768" "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1280x1024" "1280x960" "1280x800" "1152x864" "1280x768" "1024x768" "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x1024" "1280x960" "1280x800" "1152x864" "1280x768" "1024x768" "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 32
Modes "1280x1024" "1280x960" "1280x800" "1152x864" "1280x768" "1024x768" "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1280x1024" "1280x960" "1280x800" "1152x864" "1280x768" "1024x768" "800x600" "768x576" "640x480"
EndSubSection
Device "Device[2]"
Identifier "Screen[2]"
Monitor "Monitor[2]"
EndSection

Ja, ich bin mir auch sicher, daß man das ganze noch „optimieren“, „sauberer machen“, „optimaler aufbauen“ und überhaupt „verbessern“ kann, aber…was soll ich sagen…

Bei mir gehts!

Und das ist doch was, nich‘?