Configurarea sistemului X Windows
Sistemele UNIX utilizeaza ca mediu grafic sistemul X Windows, cu o arhitectura client-server. X Windows System (versiunea curenta XI1R6) este un sistem de management al interfetei grafice, independent de hardware si de sistemul de operare, cu posibilitate de operare prin retea, dezvoltat de MIT si DEC si standardizat de Consortiul X. Serverul A!" gestioneaza comunicatia cu echipamentele din sistem, anume placa video, monitorul, tastatura, mouse-ul etc. Acest server accepta conexiuni de la clienti (sau aplicatii) X, prin retea sau local. Pe sistemele Linux este utilizata implementarea numita XFree86. în ultimele versiuni ale distributiilor este utilizata varianta 4. In majoritatea cazurilor, programul de instalare configureaza automat XFree86. Sistemul X Window este localizat în doua directoare:
/usr/xiiR6 alcatuit din urmatoarele subdirectoare: bin, care contine serverul X precum si clientii X; include, continând fisiere header; lib, continând biblioteci; mân, continând manuale de. utilizare; s 17317t1919r i doc, continând diverse documentatii;
/etc/xii o ierarhie de subdirectoare incluzând toate fisierele de configurare ale componentelor ce alcatuiesc sistemul X Window.
Serverul X este constituit dintr-un singur fisier executabil, si anume /usr/xiiR6/bin/XFree86. Acesta încarca dinamic modulele necesare aflate în /usr/xiiR6/iib/moduies si driverele video localizate în directorul
/usr/XHR6/lib/modules/drivers.
8.1. Fisierele de configurare ale ser\eruluiXFree86
Configurarea serverului XFree86 se poate face fie cu xconfigurator, fie cu utilitarul xf86config.
Fisierul de configurare principal al serverului XFree86 este /etc/xil/XF86Config-4. Desi editarea manuala a acestui fisier este rareori necesara, poate fi utila cunoasterea structurii, sectiunilor si câmpurilor acestuia.
Acest fisier este structurat în mai multe sectiuni, fiecare dintre acestea definind un anume aspect al sistemului. Fiecare sectiune începe cu section nume_sect:iu/ie si se încheie cu EndSection. în cadrul fiecarei sectiuni exista mai multe optiuni, fiecare dintre ele putând avea una sau mai multe valori. De
Administrarea si configurarea sistemelor Linux
asemenea, o sectiune poate contine si subsectiuni, care se definesc în mod asemanator, si anume Subsection nume_subsectiune ... EndSubsection. De remarcat sunt urmatoarele sectiuni:
Device
Specifica informatii despre placa video. Este obligatorie existenta a cel putin unei sectiuni Device în fisierul de configurare. Sunt recunoscute urmatoarele optiuni:
BusID: specifica bus-ul pe care se afla placa;
Driver, driverul care trebuie încarcat pentru a utiliza aceasta placa;
Identifier: defineste un nume unic pentru aceasta placa;
Screen: optiune utilizata atunci
când placa video are mai multe capete,
adica suport pentru mai multe monitoare. Valoarea
trebuie sa fie
numerica, respectivele capete fiind numerotate
începând cu 0;
VideoRAM: dimensiunea memoriei aflata pe
placa video, în majo
ritatea cazurilor, driverul detecteaza automat
aceasta valoare.
DRI
DRI {Direct Rendering Infrastructure) este o interfata pentru capabilitatile 3D ale placilor video. Pentru a modifica parametrii DRI, recomandam cititorului sa consulte fisierul /usr/xiiR6/iib/xn/doc/README.DRi.
Files
Stabileste locatia anumitor fisiere. Permite urmatoarele optiuni:
FontPath: specifica directoarele în care
se afla fonturi, separate prin
virgula, în mod uzual, este folosit un
asa-numit server de fonturi, xfs,
iar aceasta optiune are în acest caz
valoarea unix/:7ioo. Pentru
detalii suplimentare, vezi sectiunea 8.2;
ModulePath: specifica
directoarele în care se afla module, separate
prin virgula;
RgbPath:
stabileste localizarea
bazei de date de culori RGB.
InputDevice
Configureaza dispozitivele de intrare, cum ar fi tastatura, mouse-ul, tableta grafica, joystick-ul etc. Include doua optiuni:
Driver: numele driverului pentru acest dispozitiv;
Identifier. numele dispozitivului (spre exemplu, KeyboardO).
Pentru
fiecare dispozitiv pot fi stabilite anumite optiuni. Acestea sunt
specificate cu Option si
contin numele optiunii între ghilimele, urmata
de valoarea pentru respectiva
optiune. De exemplu, pentru un mouse
se stabileste optiunea Protocol, cu valoarea PS/2 sau
Serial etc., si
optiunea Device, care
specifica numele dispozitivului, cu valoarea
/dev/psaux sau /dev/ttySO etc.
Configurari de baza ale sistemului
O sectiune InputDevice este furnizata în continuare:
Section "InputDevice"
Identifier "MouseO"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/psaux"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "no"
EndSection
Module
Contine lista de module ce vor fi încarcate la pornire.
Monitor
Stabileste tipul monitorului atasat la placa video. Este obligatorie existenta a cel putin unei sectiuni Monitor în fisierul de configurare. Modificarea valorilor optiunilor din aceasta sectiune trebuie facuta cu atentie, fiindca anumite valori gresite pot duce la defectarea monitorului. Sunt posibile urmatoarele optiuni:
HorizSync; stabileste intervalul de frecvente pentru sincronizare
verticala pe care le suporta monitorul, în kHz;
Modeline: specifica modurile video
acceptate de monitor la fiecare
rezolutie;
ModelName: numele tipului de monitor;
VendorName: numele producatorului;
VertRefresh: intervalul de
frecvente pentru sincronizare orizontala pe
care le suporta monitorul, în Hz.
Screen
Grupeaza un anumit Device si un anume Monitor pentru a putea fi utilizate împreuna. Trebuie sa existe cel putin o sectiune Screen în fisierul de configurare. Cele mai frecvent utilizate optiuni sunt:
DefaultDepth: adâncimea implicita a culorii,
exprimata în biti (8 biti =
256 de culori; 16 biti = high color, 32 biti = true
color etc.);
Device: numele unic al dispozitivului din
sectiunea Device, care va fi
folosit;
Identifier. numele unic al sectiunii Screen;
Monitor, numele unic al monitorului din sectiunea Monitor.
Poate avea mai multe subsectiuni Display, în care sunt definite rezolutiile implicite pentru fiecare adâncime posibila a culorii. Prezinta optiunile:
Depth: adâncimea culori i;
Modes: lista de rezolutii implicite
pentru adâncimea specificata a
culorii.
Administrarea si configurarea sistemelor Linux
Un exemplu:
Section "Screen"
Identifier "ScreenO"
Device "RIVA TNT2"
Monitor "MonitorO"
DefaultDepth
Subsection "Display"
Depth
Modes "1024x768" "800x600" "640x480"
EndSubsection
Subsection "Display"
Depth
Modes "1280x1024" "1024x768"
EndSubsection EndSection
Pentru generarea de moduri video poate fi folosit utilitarul kvideogen.
ServerFlags
Contine diverse setari globale ale serverului. Aceste setari pot fi modificate de optiunile specificate în sectiunea ServerLayout (vezi infra). Optiunile mai importante sunt:
DontZap: dezactiveaza posibilitatea
utilizarii combinatiei ctrl+Ait+
Backspace pentru a forta iesirea din sistemul X
Windo\v\
DontZoom: dezactiveaza posibilitatea schimbarii rezolutiei folosind
combinatiile ctri+Ait+Pius si ctri+Ait+Minus.
ServerLayout
Grupeaza o sectiune Screen cu sectiunile InputDevice necesare, pentru a stabili o colectie de preferinte la pornirea serverului. Optiuni:
Identifier: numele unic al sectiunii;
InputDevice: numele sectiunii InputDevice care va fi utilizata.
Optiunea apare de obicei de mai multe ori, de
exemplu o data pentru
tastatura si înca o data pentru
mouse;
Screen: numele sectiunii Screen care va fi folosita.
Pentru mai multe informatii, poate fi consultat manualul XF86Config. Pentru a vizualiza configurarea serverului X, se utilizeaza comanda xset -q.
l
Configurari de baza ale sistemului
8.2. Gestiunea fonturilor
Dupa cum am vazut mai sus, pentru utilizarea de fonturi poate fi utilizat serverul de fonturi xfs, varianta care este de preferat datorita urmatoarelor avantaje:
adaugarea/stergerea de fonturi este mai usoara;
fonturile pot fi stocate pe o alta masina, putând fi
folosite de mai multe
masini conectate în retea, pentru a economisi
spatiu pe disc;
sunt suportate mai multe tipuri de fonturi: TrueType, Adobe etc.
Evident, serverul xfs trebuie sa fie activ atunci când se porneste serverul X. Fisierul de configurare al serverului xfs este /etc/xn/f s/conf ig si contine mai multe optiuni, dupa cum urmeaza:
alternate-servers: lista de servere xfs alternative
care pot fi utilizate daca
serverul nu poate fi folosit, separate prin virgula;
catalogue: lista de directoare care contine fonturi;
client-limit: numarul maxim de clienti
ce se pot conecta la server (implicit:
clone-self. decide ca xfs sa se
autoexecute atunci când s-a ajuns la numarul
maxim de clienti acceptati (implicit: ori)\
default-point-size: stabileste marimea implicita a punctului pentru fonturile
care nu specifica aceasta optiune.
Valoarea este specificata în numar de
puncte multiplicat cu 10;
error-file: fisierul în care xfs va trimite erorile aparute;
no-listen: determina xfs sa nu
foloseasca un anumit protocol. Implicit, este
specificat tcp pentru ca xfs sa nu
asculte pe porturi TCP, din motive de
securitate;
port: stabileste
portul pe care xfs va asculta cererile de la clienti (implicit:
7100);
use-syslog: trimite mesajele de eroare catre sistemul syslog.
Adaugarea de fonturi se poate face cu ajutorul comenzii chkfontpath -add director. Dupa adaugarea de fonturi, serverul xfs trebuie repornit. Prezentam mai jos, ca exemplu, un fisier de configurare xfs:
accepta
maxim 10 clienti conectati simultan
client-limit = 10
lanseaza în executie o noua instanta xfs atunci când s-a atins
numarul
maxim de clienti
clone-self = on
locatiile
directoare .1 ontinând forauri
catalogue =
/usr/XHR6/lib/Xll/f onts/misc :unscaled,
Administrarea si configurarea sistemelor Linux
/usr/XHR6/lib/Xll/fonts/75dpi:unscaled,
/usr/XHR6/lib/Xll/fonts/100dpi:unscaled,
/usr/XHR6/lib/Xll/fonts/misc,
/usr/XHR6/lib/Xll/fonts/Typel,
/usr/XHR6/lib/Xll/fonts/Speedo,
/usr/XHR6/lib/Xll/fonts/cyrillic,
/usr/XHR6/lib/Xll/fonts/CID,
/usr/XHR6/lib/Xll/fonts/local,
/usr/XHR6/lib/Xll/fonts/latin2/Typel,
/usr/share/fonts/default/TrueType,
/usr/share/fonts/default/Typel,
/usr/share/AbiSuite/fonts
dimensiunea
implicita a punctului
default-point-size = 120
t jurnalizarea mesajelor de eroare use-syslog = on
nu
asteapta conexiuni de pe porturi TCP
no-listen = tcp
8.3. Managerul de ferestre
Principalul client al serverului X\\ constituie managerul de ferestre, care are rolul de a controla modul în care se comporta ceilalti clienti X, precum si aspectul acestora.
Un mediu desktop grupeaza mai multi clienti X, construiti dupa o structura comuna, care pot interactiona între ei. De asemenea, mediul desktop include si un manager de ferestre. Mediile desktop cele mai raspândite sunt KDE si GNOME (The GNU Network Object Modeling Environment). Mediul desktop implicit, stabilit la instalarea sistemului, poate fi schimbat cu ajutorul comenzii switchdesk.
Spre exemplu, comanda switchdesk kde va stabili ca mediu desktop sistemul KDE.
8.4. Pornirea sistemului^ Window
Sistemul de ferestre X Window poate fi pornit fie automat la pornirea sistemului, fie dupa dorinta.
Pentru a determina X Window sa porneasca automat la încarcarea sistemului, trebuie ca acesta sa porneasca în nivelul de executie 5. în acest sens, câmpul initdefaults din /etc/inittab trebuie sa fie 5. In nivelul 5, autentificarea
Configurari de baza ale sistemului
utilizatorilor se face într-un mediu grafic, numit display manager, în fapt un client I special care permite utilizatorilor sa intre în sistem.
Exista trei programe de acest gen, si anume xdm, gdm (care face parte din GNOME) si kdm (ce face parte din KDE). Acestea doua din urma permit, pe lânga autentificarea utilizatorilor, oprirea si repornirea sistemului. Daca este utilizat în locul acestora scriptul prefdm, acesta stabileste care dintre gestionarele de ecran sa fie pornite, în functie de setarile din /etc/sysconfig/desktop.
Pentru pornirea manuala a sistemului X Window (adica din nivelul 3 de executie), se lanseaza comanda startx. Programul startx realizeaza urmatoarele operatiuni:
cauta
fisierul .xinitrc din directorul home al utilizatorului, iar daca
acesta
nu exista, fisierul implicit al
sistemului, /etc/xn/xinit/xinitrc. Aceste
fisiere de configurare definesc
clientii .Ycare vor fi porniti;
scriptul xinitrc
cauta fisierele de configurare .Xresources, .xmodmap si
.xkbmap în directorul home al utilizatorului
sau, daca acestea nu exista,
Xresources, Xmodmap si Xkbmap în /etc/Xll. Ultimele doua fisiere sunt
utilizate de xmodmap pentru a
configura tastatura. Xresources este folosit
pentru a stabili anumite
preferinte pentru aplicatii;
scriptul xinitrc executa toate scripturile aflate în directorul
/etc/xii/xinit/xinitrc.d. Unul dintre scripturile aflate
în acest director
este xinput, care stabileste diverse
setari, cum ar fi limba implicita si mediul
desktop care va fi încarcat (acesta este stabilit în fisierul
/etc/sysconfig/desktop);
scriptul xinitrc executa scriptul .xdients din directorul home al
utilizatorului sau /etc/xn/init/xciients,
daca acesta nu exista. Acest
script executa mediul desktop
sau, daca aceasta nu este posibil, doar
managerul de ferestre.
|