Xorg -configure
Configurare simplă Xorg
X Window System, cunoscut şi ca X11 sau mai pe scurt X, este sistemul de ferestre folosit in Unix şi Linux. X este responsabil cu desenarea şi mişcarea ferestrelor pe ecran şi accesul la mouse şi tastatură.
X are două componente majore: serverul şi aplicaţii client (clienţi X). Serverul rulează pe maşina pe care se află display-ul, tastatura şi mouse-ul şi are ca responsabilităţi principale managementul acestora. Aplicaţiile client pot fi executate pe o maşină diferită şi discută cu serverul prin instrucţiuni de tipul "desenează o fereastră la aceste coordonate" la care serverul răspunde "utilizatorul tocmai a apăsat butonul OK". Modelul implementat asigură transparenţă în reţea, astfel server-ul şi aplicaţiile client pot fi localizate pe maşini diferite.
În cazul general al unui desktop, serverul şi aplicaţiile client rulează pe acelaşi calculator. În continuare ne vom referi strict la acest caz de configurare. Presupunem că aţi instalat ultima versiune de X distribuită de Fundaţia X.Org la http://wiki.x.org/wiki/ (pachetul apare în general sub numele de xorg-x11 sub diferite distribuţii Linux).
Începeţi configurarea ca superuser rulând comanda:
# cd ~ # Xorg -configure
Această comandă încearcă să detecteze automat hardware-ul disponibil şi va crea un fişier xorg.conf.new în directorul /root.
Următorul pas este de a încerca configuraţia nou creată:
# Xorg -config xorg.conf.new
Dacă un ecran negru şi gri cu un cursor de mouse apare, configurarea a reuşit. Pentru a ieşi din acest ecran apăsaţi simultan Ctrl+Alt+Backspace.
Apoi deschidem pentru editare fişierul xorg.conf.new. Aruncăm o privire la secţiunile "Monitor" şi "Device"
şi le modificăm dacă dorim. Mai jos o serie de valori generice cunoscute că ar funcţiona pe o serie largă
de sisteme desktop:
# Generic Monitor Section "Monitor" Identifier "Generic Monitor" VendorName "Generic" ModelName "Monitor" HorizSync 30-70 VertRefresh 50-160 EndSection # # Standard VESA Device: Section "Device" Identifier "VESA" VendorName "Unknown" BoardName "Unknown" # Chipset "generic" Driver "vesa" # BusID "PCI:0:10:0" # VideoRam 256 # Clocks 25.2 28.3 EndSection
O serie întreagă de drivere sunt disponibile. La mine în sistem (Gentoo) acestea se găsesc în /usr/X11R6/lib/modules/drivers:
# ls /usr/X11R6/lib/modules/drivers apm_drv.so fbdev_drv.so r128_drv.so tga_drv.so ark_drv.so glint_drv.so radeon_drv.so trident_drv.so ati_drv.so i128_drv.so rendition_drv.so tseng_drv.so atimisc_drv.so i740_drv.so riva128.so vesa_drv.so chips_drv.so i810_drv.so s3_drv.so vga_drv.so cirrus_alpine.so linux s3virge_drv.so via_drv.so cirrus_drv.so mga_drv.so savage_drv.so vmware_drv.so cirrus_laguna.so neomagic_drv.so siliconmotion_drv.so cyrix_drv.so nsc_drv.so sis_drv.so dummy_drv.so nv_drv.so tdfx_drv.so
Acestea pot înlocui valoarea pentru "Driver" mai sus, de exemplu 'nv' pentru NVidia, sau 'r128' pentru ATI Rage 128. Un driver foarte interesant este fbdev - framebuffer. Pentru a-l folosi avem nevoie să activăm facilitatea framebuffer în kernel-ul Linux. Setarea fbdev este foarte populară cu LiveCD-urile de gen Knoppix, deoarece aceasta funcţionează pe un număr mare de desktop-uri (de obicei se încearcă o boot-are de kernel cu framebuffer, iar dacă aceasta nu reuşeşte driver-ul de xorg este înlocuit cu vesa). Despre setarea boot-ării de framebuffer puteţi consulta acest document: http://www.gentoo.ro/doc/ro/handbook/handbook-x86.xml?part=1&chap=10
Trebuie apoi să specificăm parametrii ecranului în xorg.conf.new:
Section "Screen" Identifier "Screen 1" Device "VESA" Monitor "Generic Monitor" DefaultDepth 16 # Subsection "Display" Depth 8 Modes "1280x1024" "1024x768" "800x600" "640x480" ViewPort 0 0 EndSubsection Subsection "Display" Depth 16 Modes "1280x1024" "1024x768" "800x600" "640x480" ViewPort 0 0 EndSubsection Subsection "Display" Depth 24 Modes "1280x1024" "1024x768" "800x600" "640x480" ViewPort 0 0 EndSubsection EndSection
Observaţi corespondenţa dintre "VESA" şi "Generic Monitor" între cele trei secţiuni ("Section") prezentate. Puteţi schimba valorile "DefaultDepth" şi "Modes" după cum doriţi.
Ultima etapă de configurare constă in copierea xorg.conf.new în sistem, astfel încât poate fi folosit de toţi utilizatorii:
# cp xorg.conf.new /etc/X11/xorg.conf
iar apoi porniţi xorg prin
# startx
Mouse
Problemele legate de configurarea mouse-ului provin din faptul ca dispozitivul propriu-zis apare sub diferite nume pe fiecare distribuţie Linux în parte. Cele mai populare par a fi /dev/psaux, /dev/input/mice şi /dev/input/mouse0. Orice mouse aţi avea puteţi încerca dacă aceste device funcţionează folosind următoarea comandă:
# cat /dev/psaux
Mişcaţi mouse-ul, şi dacă obţineţi pe ecran nişte caractere ciudate, dispozitivul funcţionează corect. Apăsaţi Ctrl-C pentru a termina.
Secţiunea de mouse în xorg.conf poate arăta în felul următor:
Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/psaux" Option "Protocol" "IMPS/2" Option "ButtonNumber" "5" Option "ZAxisMapping" "4 5" EndSection
Opţiunile ButtonNumber şi ZAxisMapping setează butonul/rotiţa din mijloc.
Altă documentaţie xorg în limba română
http://www.gentoo.org/doc/ro/xorg-config.xml - Ghidul Gentoo de configurare xorg
http://www.slackware.com.ro/carte/x-window-system.html - Slackware book
În engleză, pe cale de a fi tradus http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/x-config.html - FreeBSD Handbook