Configuratie


Veel dingen die te maken hebben met de X-server van X.org moeten ingesteld worden in het bestand /etc/X11/xorg.conf. Hierin plaatst men alle configuratie om schermen, toetsenborden en muizen met elkaar overeen te laten komen. Xorg.conf is het hoofdbestand dat men nodig heeft om een multiseat goed te laten werken! Als men in dit bestand een fout maakt, werkt de multiseat niet. Hier een verklaring van alle onderdelen uit de config:
Het teken # wordt gebruikt om een regel of commentaar toe te voegen.

Section "ServerLayout"
Identifier "All"
Screen 0 "Screen0" 0 0 Screen 1 "Screen1" RightOf "Screen0"
Screen 2 "Screen2" RightOf "Screen1"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"
InputDevice "Mouse2" "CorePointer"
InputDevice "Keyboard2" "CoreKeyboard"
EndSection
Bovenstaande onderdelen van de code zijn noodzakelijk om de opstelling te maken,waarmee men direct alle schermen tegelijk kan opstarten. Hierin zijn ook alle toetsenborden, muizen en monitoren geconfigureerd.

Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Deze code geeft het eerste scherm, namelijk de lay-out. Hier bij "Layout0" worden Screen0, Mouse0 en keyboard0 aan elkaar gelinkt.
Section "ServerLayout"
Identifier "Layout1"
Screen 0 "Screen1"
InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"
EndSection

Section "ServerLayout"
Identifier "Layout2"
Screen 0 "Screen2"
InputDevice "Mouse2" "CorePointer"
InputDevice "Keyboard2" "CoreKeyboard"
EndSection

Dit is een code met dezelfde functie als het voorgaande deel, dus ook Layout1 en Layout2 worden op die manier aangemaakt.
Section "Files"
FontPath "/usr/share/fonts/corefonts"
FontPath "/usr/share/fonts/TrueType"
FontPath "/usr/share/fonts/misc"
EndSection
Section "DRI"
Mode 0666
EndSection
Section "Module"
Load "freetype"
# Either load freetype or xtt, NOT both
# Load "xtt"
Load "fbdevhw"
Load "extmod"
# Load "glx"
# Load "dri"
Load "vesa"
# Load "sisfb"
Load "sis"
Load "dbe"
Load "record"
Load "xtrap"
# Load "type1"
EndSection

Het volgende codedeel gaat over de modules die de computer moet inladen. (men kan spreken van ‘drivers’, want je moet bv. Sis als module bijvoegen om de sis-driver te laten werken als men opstart). Ook de bestanden die hij moet inladen, zoals lettertypes, worden bij Section ‘Files’ ingesteld.
Section "InputDevice"
Identifier "Keyboard0"
Driver "evdev"
#Option "Device" "/dev/input/event7"
Option "Name" "Logitech Logitech USB Keyboard"
Option "Phys" "usb-*/input0"
Option "XkbLayout" "be"
EndSection

Hier wordt het eerste keyboard ingesteld met de naam "Keyboard0". Dit wordt dus gelinkt aan het eerste scherm door middel van "Layout0", wat hierboven al te zien was. Hier stelt men de driver in die men moet gebruiken, genaamd "evdev". Als men ook de naam van het toetsenbord ingesteld heeft en (de instelling) Option "Phys" "usb */input0", gaat hij zoeken naar het apparaat in de lijst van aangesloten USB-apparaten. Door deze instellingen hoeft men niet altijd de config aan te passen. Anders moet men altijd de config wijzigen wanneer het apparaat in een USB-slot werd gestoken, want elk apparaat aangesloten in een USB-slot krijgt een eventnummer, dat verandert als men het van plaats versteekt. Met deze instellingen maakt dat niets meer uit, men kan het toetsenbord om het even waar in te brengen, Linux zal steeds het toetsenbord weten terug te vinden.
Section "InputDevice"
Identifier "Keyboard1"
Driver "evdev"
Option "Name" "CHICONY Compaq USB Keyboard"
Option "Phys" "usb-*/input0"
# Option "XkbModel" "evdev"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "Keyboard2"
Driver "evdev"
Option "Name" "Chicony USB Wireless HID Receiver"
#Option "Name" "USB HIDv1.10 Keyboard"
Option "Phys" "usb-*/input0"
Option "XkbLayout" "be"
EndSection

Hetzelfde geldt voor de andere toetsenborden. De optie "XkbLayout" is voor de instellingen van het toetsenbord. Het bepaalt of het een azerty- of een qwerty-toetsenbord is. "Us" wordt gebruikt bij een qwerty-klavier en als men een azerty-toetsenbord heeft, moet men gewoon "be" gebruiken wat natuurlijk staat voor België.
Section "InputDevice"
Identifier "Mouse0"
Driver "evdev"
# Option "Device" "/dev/input/mouse0"
Option "Name" "Logitech USB-PS/2 Optical Mouse"
Option "Protocol" "IMPS/2"
Option "Emulate3Buttons" "off"
Option "ZAxisMapping" "4 5"
EndSection

Dit moet men doen om een muis toe te voegen. Men ziet hier ongeveer hetzelfde als bij het toetsenbord, maar er zijn wel een paar nieuwe dingen bij. Hier staat de optie Phys niet, omdat de computer via de "Layout", die in het begin ingesteld werd, de muizen voor elk scherm weet terug te vinden. Linux weet dit terug te vinden aan de hand van de naam die ingesteld werd voor de muis. De optie Protocol IMPS/2 is een protocol voor muizen van Microsoft. De instelling Emulate3Buttons" "off" is bedoeld om problemen te voorkomen bij sommige muizen zoals bij IBM-muizen.
Section "InputDevice"
Identifier "Mouse1"
Driver "evdev"
# Option "Device" "/dev/input/mouse1"
Option "Name" "Logitech USB-PS/2 Mouse M-BA47"
Option "Protocol" "IMPS/2"
Option "Emulate3Button" "off"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Mouse2"
Driver "evdev"
# Option "Device" "/dev/input/mouse2"
Option "Name" "Hewlett-Packard HP USB Travel Mouse"
Option "Protocol" "IMPS/2"
Option "Emulate3Button" "off"
Option "ZAxisMapping" "4 5"
EndSection

Hier wordt hetzelfde herhaald, maar dan voor de overige muizen.
Section "Monitor"
Identifier "Monitor0"
HorizSync 31.5 - 35.0
VertRefresh 50.0 - 60.0
# Option "DPMS" "false"
EndSection

Dit zijn de instellingen voor het eerste scherm. Hierbij geef je de instellingen op die het scherm aankan, zoals VertRefresh en HorizSync. Dit is terug te vinden bij elke monitor. DPMS staat voor Display Power Management Signaling. Een monitor die voldoet aan de DPMS-specificaties kent drie niveaus van energiebesparing. Deze niveaus zijn: standby-mode, suspend-mode en off-mode.
Section "Monitor"
Identifier "Monitor1"
HorizSync 31.5-35.0
VertRefresh 50-60
# Option "DPMS" "false"
EndSection

Section "Monitor"
Identifier "Monitor2"
HorizSync 31.5 - 55.0
VertRefresh 50-90
#Option "DPMS" "false"
EndSection

Daarna volgt hetzelfde voor alle andere schermen, natuurlijk met net iets andere instellingen voor VertRefresh en HorizSync. Met deze instellingen moet men opletten, want ze kunnen het beeldscherm defect maken.
Section "Device"
Identifier "AGP"
Driver "fglrx"
#Driver "ati"
BusID "PCI:01:00:0"
EndSection

Hiermee stelt men in op welk slot men welke grafische kaart steekt. Men ziet hier dat deze ati-kaart in het eerste slot steekt. (gebruik geen PCI-, maar een AGP-kaart! Men moet dit doen, omdat de computer de kaart anders niet herkent.) Men vind het BusID via het volgende commando: #lspci.
#lspci

Hierdoor krijgt men een lijst met alle grafische kaarten, die aangesloten zijn op de computer. De driver voor ATI-kaarten is "fglrx".
Section "Device" Identifier "PCI 1"
Driver "sis"
BusID "PCI:02:02:0"
# Option "Accel" "False"
VideoRAM 4096
# Option "SWCursor" "True"
Option "NoXVideo" "true"
# Option "NoInt10" "true"
EndSection

Hier ziet men de instellingen voor de tweede kaart die in de computer aanwezig is, namelijk een Sis-kaart. Deze bevindt zich op het slot PCI:02:02:0. Alle opties die erbij staan, hebben te maken met de Sis-videokaarten. De optie Videoram moet op "4096" staan, omdat Sis-kaarten niet meer videogeheugen mogen verbruiken.
Section "Device"
Identifier "PCI 2"
Driver "sis"
BusID "PCI:02:03:0"
#Option "Accel" "False"
VideoRAM 4096
#Option "SWCursor" "True"
Option "NoXVideo" "true"
# Option "NoInt10" "true"
EndSection

Hier de instellingen voor de derde kaart, hetzelfde type Sis-kaart als tevoren.
Section "Screen"
Identifier "Screen0"
Device "AGP"
Monitor "Monitor0"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1024x768" "800x600"
Viewport 0 0
EndSubSection
EndSection

Hiermee stelt men de instellingen in voor het eerste scherm. De standaard diepte van het scherm is 24 bits en het kan de resoluties "1024x768" en "800x600" aan. Met de instelling Viewport 0 0 stelt men in dat dit het eerste scherm is.
Section "Screen"
Identifier "Screen1"
Device "PCI 1"
Monitor "Monitor1"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "800x600"
EndSubSection
EndSection

Section "Screen"
Identifier "Screen2"
Device "PCI 2"
Monitor "Monitor2"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "800x600"
EndSubSection
EndSection

Hetzelfde verloop geldt voor de andere twee schermen.


Natuurlijk komt er meer bij kijken om de toetsenborden en muizen goed samen te laten werken. Daarvoor moet men nog enkele bijkomende instellingen doen bij de "evdev"-driver, zodat men niet altijd de config moet aanpassen. Hopelijk hebben we hierdoor config-bestand wat duidelijker gemaakt.
Uiteindelijk moeten er ook nog scripts gemaakt worden met Xephyr, om nooit problemen te hebben met het afzonderlijk werken van de verschillende gebruikers.