11.2.1 X11
Esistono varie implementazioni di server grafici (X Window System) per sistemi Unix-like, tra
le quali una versione open source, X11, che al momento attuale è arrivato alla versione
X11R6.7
(v. man page X(7x)).
Il server grafico viene lanciato con il comando X (/usr/X11R6/bin/X), che in genere è un
symbolic link al comando effettivo XFree86 o Xorg. Di per sé il server grafico non offre
nessuna funzionalità applicativa utilizzabile dall’utente, infatti, una volta avviato, esso
presenta sullo schermo soltanto un’immagine di sfondo sulla quale è presente una piccola
immagine che costituisce il cursore grafico, un puntatore che si sposta secondo gli input
ricevuti dal sistema di puntamento (mouse).
Per poter utilizzare l’ambiente grafico è necessario lanciare in esecuzione
qualche client grafico, ovvero qualche programma che utilizza il server grafico per
visualizzare la propria interfaccia grafica.
|
Alcune combinazioni di tasti vengono generalmente utilizzate per effettuare specifiche
operazioni sull’ambiente grafico. In particolare
-
termina l’esecuzione del server grafico. L’effetto di tale combinazione di tasti
può essere disabilitato con la direttiva DontZap nel file di configurazione;
-
cambia la risoluzione dello schermo in quella successiva specificata nel file di
configurazione. L’effetto di tale combinazione di tasti può essere disabilitato con
la direttiva DontZoom nel file di configurazione;
-
cambia la risoluzione dello schermo in quella successiva specificata nel file di
configurazione. L’effetto di tale combinazione di tasti può essere disabilitato con
la direttiva DontZoom nel file di configurazione;
-
...
cambia il terminale virtuale visualizzato sullo schermo;
11.2.1.1 XFree86
Uno dei server grafici più utilizzati da GNU/Linux è XFree86 (man page XFree86(1)) sviluppato
dall’XFree86 Project.
Al momento della stesura di questo testo, la versione più recente di tale server è la
4.4.
____________________________________________________________________
Comando: XFree86
Path: /usr/X11R6/bin/XFree86
SINTASSI
# XFree86 [:display] [option]
DESCRIZIONE
-
display indica il display (stazione grafica) alla quale è associato.
-
option indica la modalità di funzionamento di XFree86. Può assumere i seguenti
valori:
-
vtXX specifica il terminale virtuale (XX) utilizzato dal server grafico (se
non indicato, viene utilizzato il primo terminale virtuale disponibile);
- -allowMouseOpenFail
indica al server grafico di avviarsi anche nel caso in cui il dispositivo
di puntamento non sia correttamente inizializzato;
- -allowNonLocalModInDev
indica al server
grafico di permettere cambiamenti sulle configurazioni della tastiera
e del dispositivo di puntamento anche ai client remoti;
- -allowNonLocalXvidtune
indica al server grafico di permettere la connessione tramite xvidtune
da sistemi remoti;
-
-bgamma value
specifica la correzione di gamma del blu, secondo quanto specificato
da value (il valore va da 0.1 a 10 - il default è 1);
-
-configure
indica al server grafico di caricare tutti i moduli e di effettuare un
test sui dispositivi disponibili e di creare un file di configurazione
sulla base dell’hardware rilevato (funziona solo se è lanciato con i
permessi di esecuzione del superuser);
-
-crt XX
funziona in maniera analoga all’opzione vt (riservato per la
compatibilità con il server grafico nativo di SCO);
-
-depth n
specifica il numero di bit relativi alla profondità di colore di default
(i valori possibili sono 1, 4, 8, 15, 16 e 24);
-
-disableModInDev
indica al server grafico di disabilitare il cambiamento delle
impostazioni relative ai dispositivi;
-
-disableVidMode
indica al server grafico di disabilitare le estensioni VidMode utilizzate
per cambiare la modalità video;
-
-fbbpp n
specifica il numero di bit di framebuffer per pixel secondo quanto
indicato da n (i valori possibili sono 1, 8, 16, 24 e 32). In genere tale
valore viene desunto dall’opzione -depth;
-
-flipPixels
indica al server grafico di scambiare i valori dei pixel bianchi con
quelli neri;
-
-gamma value
specifica la correzione di gamma (per il rosso, il verde ed il blu)
secondo quanto indicato da value (il valore va da 0,1 a 10 - il default
è 1);
-
-ggamma value
specifica la correzione di gamma del verde, secondo quanto specificato
da value (il valore va da 0,1 a 10 - il default è 1);
-
-ignoreABI
indica al server grafico di ignorare l’indicazione della revisione ABI
al caricamento dei moduli. In questo modo moduli con revisioni ABI
più recenti rispetto a quella del server grafico possono essere caricati,
ma potrebbero utilizzare interfacce che il server grafico potrebbe non
avere;
-
-keeptty
indica al server grafico di rimanere agganciato al terminale virtuale
nel quale è stato avviato (utile per il debug);
-
-keyboard keyb_name
specifica il dispositivo da considerare come tastiera, tra quelli elencati
nel file di configurazione (nella sezione InputDevice), secondo quanto
indicato da keyb_name;
-
-layout layout_name
specifica la sezione Layout da considerare tra quelle presenti nel
file di configurazione, secondo quanto indicato da layout_name (per
default viene utilizzata la prima sezione Layout contenuta nel file di
configurazione);
-
-logfile filename
specifica il file in cui il server grafico può scrivere i messaggi di
log, secondo quanto indicato da filename (per default il file di log
è /var/log/XFree86.n.log dove n è il display associato al server -
questa opzione è utilizzabile solo dal superuser);
-
-logverbose [n]
specifica il livello di verbosità per i messaggi di log, secondo quanto
indicato da n (più elevato è il valore n più verboso sarà il log - il
valore di default è 3). Se n non è specificato, ogni occorrenza di questa
opzione aumenta il livello di verbosità del log;
-
-modulepath path
specifica il percorso di ricerca dei moduli secondo quanto specificato
da path, che è costituito da un elenco di dierctory separate dal
carattere ‘:’ (questa opzione è utilizzabile solo dal superuser);
-
-nosilk
indica di disabilitare il supporto per i mouse Silken;
-
-pixmap24
imposta la profondità di colore interna al server a 24 bit per pixel (il
default è 32);
-
-pixmap32
imposta la profondità di colore interna al server a 32 bit per pixel;
-
-pointer pointer_name
specifica il dispositivo di puntamento da considerare, secondo
quanto indicato da pointer_name, tra quelli elencati nella sezione
InputDevice del file di configurazione. Se non specificato viene
considerato il primo dispositivo di puntamento indicato nella sezione
InputDevice del file di configurazione (questa opzione è ignorata se
è specificato un dispositivo di puntamento nella sezione Layout del
file di configurazione);
-
-probeonly
indica al server di eseguire soltanto un test sui dispositivi, con le
impostazioni contenute nel file di configurazione (le impostazioni
mancanti vengono rilevate automaticamente dal server);
-
-quit indica di non visualizzare messaggi informativi. Il livello di verbosità
del logviene impostato a 0;
-
-rgamma value
specifica la correzione di gamma del rosso, secondo quanto specificato
da value (il valore va da 0,1 a 10 - il default è 1);
-
-scanpci
indica al server grafico di eseguire una scansione dei dispositivi
presenti sul bus PCI e di visualizzare dei messaggi informativi su di
essi;
-
-screen screen_name
specifica la sezione Screen da considerare tra quelle presenti nel
file di configurazione, secondo quanto indicato da screen_name (per
default viene considerata la prima sezione Screen contenuta nel file
di configurazione);
-
-showconfig
v. l’opzione -version;
-
-weight n
specifica il peso dei colori con profondità di colore a 16 bit (il valore
di default di n è 565);
-
-verbose [n]
specifica il livello di verbosità delle informazioni visualizzate sullo
standard error, secondo quanto specificato da n. Se n non viene
specificato, ogni occorrenza dell’opzione -verbose incrementa il
livello di verbosità degli errori (i valore di default di n è 0);
-
-version
indica a XFree86 di visualizzare la versione ed altre indicazioni;
-
-xf86config file
specifica il file di configurazione secondo quanto indicato da file;
____________________________________________________________________
[da completare ...]
Quando XFree86 viene avviato da un utente non superuser, esso ricerca un file di
configurazione secondo l’ordine dei percorsi di seguito riportati
/etc/X11/cmdline
/usr/X11R6/etc/X11/cmdline
/etc/X11/$XF86CONFIG
/usr/X11R6/etc/X11/$XF86CONFIG
/etc/X11/XF86Config-4
/etc/X11/XF86Config
/etc/XF86Config
/usr/X11R6/etc/X11/XF86Config.hostname
/usr/X11R6/etc/X11/XF86Config-4
/usr/X11R6/etc/X11/XF86Config
/usr/X11R6/lib/X11/XF86Config.hostname
/usr/X11R6/lib/X11/XF86Config-4
/usr/X11R6/lib/X11/XF86Config
dove cmdline è il path relativo (senza ‘..’) specificato con l’opzione -xf86config sulla riga di
comando all’avvio del server grafico, $XF86CONFIG è il path relativo (senza ‘..’)
indicato dalla variabile d’ambiente XF86CONFIG e hostname è il nome della macchina
(v. hostname).
Se XFree86 viene avviato dal superuser, l’ordine dei percorsi di ricerca del file di
configurazione è quello seguente
cmdline
/etc/X11/cmdline
/usr/X11R6/etc/X11/cmdline
$XF86CONFIG
/etc/X11/$XF86CONFIG
/usr/X11R6/etc/X11/$XF86CONFIG
$HOME/XF86Config
/etc/X11/XF86Config-4
/etc/X11/XF86Config
/etc/XF86Config
/usr/X11R6/etc/X11/XF86Config.hostname
/usr/X11R6/etc/X11/XF86Config-4
/usr/X11R6/etc/X11/XF86Config
/usr/X11R6/lib/X11/XF86Config.hostname
dove cmdline è il path (assoluto o relativo) specificato con l’opzione -xf86config sulla riga di
comando all’avvio del server grafico, $XF86CONFIG è il path (assoluto o relativo) indicato
dalla variabile d’ambiente XF86CONFIG, $HOME è il path indicato dalla variabile d’ambiente
HOME e hostname è il nome della macchina (v. hostname).
In genere, il file di configurazione considerato all’avvio di XFree86 sulla maggior parte dei
sistemi GNU/Linux è /etc/X11/XF86Config (v. man page XF86Config(5)).
Il file di configurazione contiene indicazioni sui dispositivi ed è composto da sezioni con la
seguente struttura
Section "SectionName"
SectionEntry
...
EndSection
Il contenuto del file è case-insensitive ed il carattere ‘_’ viene ignorato.
I nomi delle possibili sezioni sono elencati nella tab. 11.2.
| Tabella 11.2: | Nomi delle sezioni ne file di configurazione di XFree86. |
|
Le sezioni a più alto livello sono quelle indicate come ServerLayout. Queste collegano le
impostazioni relative ai dispositivi di input (le cui impostazioni sono definite nella sezione
InputDevice) e di output (definiti in varie sezione e raccolti nella sezione Screen) che verranno
utilizzati. La sezione Screen collega una scheda grafica ad un monitor, mentre le
schede grafiche ed i monitor sono definiti rispettivamente nelle sezioni Device e
Monitor.
All’nterno di una sezione, ogni riga contiene una parola chiave (keyword) ed eventuali
argomenti che specificano l’impostazione.
La sezione Files è utilizzata per specificare i percorsi di ricerca dei file. Le direttive che
possono essere contenute in tale sezione sono le seguenti
-
FontPath path
Imposta il percorso di ricerca per i file relativi ai font. L’argomento path è un
elenco di percorsi separato dal carattere ‘,’. I percorsi di ricerca possono essere
dei path assoluti o identificatori di server di font. Gli indicatori dei server di font
hanno la sintassi seguente
trans/hostname:port_number
dove
-
trans indica il tipo di transport layer (v. cap. 18) da utilizzare per il
collegamento al font server (può essere unix per i socket Unix-domain e
tcp per i socket TCP/IP);
-
hostname
indica il nome della macchina sulla quale è in esecuzione il font server;
-
port_number
indica il numero della porta sulla quale è in ascolto il font server (in
genere è 7100);
Se tale direttiva non è specificata, viene considerato il seguente elenco di
percorsi
/usr/X11R6/lib/X11/fonts/misc/
/usr/X11R6/lib/X11/fonts/Speedo/
/usr/X11R6/lib/X11/fonts/Type1/
/usr/X11R6/lib/X11/fonts/CID/
/usr/X11R6/lib/X11/fonts/75dpi/
/usr/X11R6/lib/X11/fonts/100dpi/
È consigliato utilizzare il seguente elenco di percorsi
/usr/X11R6/lib/X11/fonts/local/
/usr/X11R6/lib/X11/fonts/misc/
/usr/X11R6/lib/X11/fonts/75dpi/:unscaled
/usr/X11R6/lib/X11/fonts/100dpi/:unscaled
/usr/X11R6/lib/X11/fonts/Type1/
/usr/X11R6/lib/X11/fonts/CID/
/usr/X11R6/lib/X11/fonts/Speedo/
/usr/X11R6/lib/X11/fonts/75dpi/
/usr/X11R6/lib/X11/fonts/100dpi/
I percorsi non validi non vengono considerati.
-
RGBPath "path"
Imposta il percorso del database dei colori RGB. Se tale direttiva non è specificata,
viene considerato il percorso /usr/X11R6/lib/X11/rgb.
-
ModulePath "path"
Imposta il percorso di ricerca per il caricamento dei moduli relativi al server
grafico. L’argomento path è un elenco di directory separato dal carattere
‘,’.
La sezione ServerFlags è utilizzata per specificare le opzioni globali del server grafico. Le
direttive che possono essere contenute in tale sezione sono le seguenti
-
Option "NoTrapSignals" "value"
Indica al server grafico, dipendentemente dal valore di value, di raccogliere (Off)
o meno (On) segnali “fatali” (utile in caso di debug);
-
Option "DontZap" "value"
Indica al server grafico, dipendentemente dal valore di value, di ignorare (On) o
meno (Off) la combinazione di tasti
utilizzata per terminare
il server grafico (default: Off);
-
Option "DontZoom" "value"
Indica al server grafico, dipendentemente dal valore di value, di ignorare (On) o
meno (Off) le combinazioni di tasti
e
utilizzate per cambiare la risoluzione dello schermo (default: Off);
-
Option "DisableVidModeExtension" "value"
Indica al server grafico, dipendentemente dal valore di value, di disabilitare (On)
o meno (Off) le estensioni VidMode utilizzate dal client xvidtune per cambiare
la risoluzione dello schermo (default: Off);
-
Option "AllowNonLocalXvidtune" "value"
Indica al server grafico, dipendentemente dal valore di value, di abilitare (On) o
meno (Off) i client xvidtune (o quelli che utilizzano le estensioni VidMode) a
potersi connettere da un’altra macchina (default: Off);
-
Option "DisableModInDev" "value"
Indica al server grafico, dipendentemente dal valore di value, di disabilitare (On) o
meno (Off) l’utilizzo delle estensioni XFree86-Misc per la modifica dei dispositivi
di input (default: Off);
-
Option "AllowNonLocalModInDev" "value"
Indica al server grafico, dipendentemente dal valore di value, di abilitare (On)
o meno (Off) la possibilità di modificare le impostazioni dei dispoitivi di input
(mouse e tastiera) da remoto (default: Off);
-
Option "AllowMouseOpenFail" "value"
Indica al server grafico, dipendentemente dal valore di value, di permettere (On)
o meno (Off) l’avvio nel caso in cui il dispositivo di puntamento non sia stato
correttamente configurato (default: Off);
-
Option "VTInit" "command"
Indica al server grafico, di eseguire il comando command subito dopo
l’apertura del terminale virtuale. Tale comando viene eseguito come /bin/sh
-c command;
-
Option "VTSysReq" "value"
Indica al server grafico, dipendentemente dal valore di value, di abilitare (On) o
meno (Off) la modalità di cambiamento del terminale virtuale visualizzato sullo
schermo secondo lo standard SysV, che utilizza la sequenza di tasti
. (default: Off);
-
Option "BlankTime" "value"
Imposta il timeout dopo il quale lo schermo deve essere annerito, secondo quanto
specificato da value. Tale valore è espresso in minuti (default: 10);
-
Option "StandbyTime" "value"
Imposta il timeout dopo il quale lo schermo deve passare in stand-by (DPMS),
secondo quanto specificato da value. Tale valore è espresso in minuti (default:
20);
-
Option "SuspendTime" "value"
Imposta il timeout dopo il quale lo schermo deve passare in suspend mode
(DPMS), secondo quanto specificato da value. Tale valore è espresso in minuti
(default: 30);
-
Option "OffTime" "value"
Imposta il timeout dopo il quale lo schermo deve passare in off mode (DPMS),
secondo quanto specificato da value. Tale valore è espresso in minuti (default:
40);
-
Option "Pixmap" "value"
Imposta la profondità di colore, secondo quanto specificato da value. Tale valore
è espresso in bit e può assumere i valori 24 o 32 (default: 32);
-
Option "PC98" "value"
Indica al server grafico, dipendentemente dal valore di value, se si tratta di una
macchina giapponese PC-98 (On) o meno (Off) (default: auto detected);
-
Option "NoPM" "value"
Indica al server grafico, dipendentemente dal valore di value, di disabilitare (On)
o meno (Off) gli eventi collegati alla gestione del consumo di energia elettrica
(Power Management) (default: auto detected);
-
Option "Xinerama" "value"
Indica al server grafico, dipendentemente dal valore di value, di abilitare (On) o
meno (Off) l’estensione XINERAMA (default: Off);
-
Option "AllowDeactivateGrabs" "value"
Indica al server grafico, dipendentemente dal valore di value, di abilitare (On) o
meno (Off) l’utilizzo della sequenza di tasti
per disattivare i
grab relativi a tastiera e mouse (default: Off);
-
Option "AllowClosedownGrabs" "value"
Indica al server grafico, dipendentemente dal valore di value, di abilitare (On) o
meno (Off) l’utilizzo della sequenza di tasti
per terminare i
client che hanno un grab relativo a tastiera o mouse (default: Off);
La sezione Module è utilizzata per specificare i moduli che devono essere caricati
dinamicamante. Le direttive che possono essere contenute in tale sezione sono le
seguenti
La sezione InputDevice è utilizzata per specificare le impostazioni relative ad ogni
dispositivo di input. In genere il file di configurazione del server grafico contiene almeno due
sezioni InputDevice: una per la tastiera ed una per il dispositivo di puntamento
(mouse). Una sezione InputDevice è considerata attiva se viene fatto riferimento
ad essa in una sezione ServerLayout o tramite la riga di comando con le opzioni
-keyboard e -pointer. Le direttive che possono essere contenute in tale sezione sono le
seguenti
-
Identifier "name"
specifica il nome univoco che identifica il dispositivo di input;
-
Driver "driver_name"
specifica il nome del driver da utilizzare per il dispositivo di input. Il driver più
utilizzato per la tastiera è keyboard e per il mouse è mouse;
-
Option "CorePointer"
indica che il dispositivo considerato è il dispositivo di puntamento primario
(ce ne può essere soltanto uno così definito - se non esplicitamente definito,
viene considerato primario il primo dispositivo di puntamento definito nel file di
configurazione;
-
Option "CoreKeyboard"
indica che il dispositivo considerato è la tastiera primaria (ce ne può essere
soltanto uno così definito - se non esplicitamente definito, viene considerata
primaria la prima tastiera definita nel file di configurazione;
-
Option "AlwaysCore" "value" | Option "SendCoreEvents" "value"
indica al server grafico, dipendentemente dal valore di value, di abilitare (On) o
meno (Off) l’invio, da parte del dispositivo, di eventi primari (default: Off);
-
Option "HistorySize" "value"
specifica la dimensione della storia dei movimenti del dispositivo (default: 0);
-
Option "SendDragEvents" "value"
?;
La sezione Device è utilizzata per specificare le impostazioni relative ad ogni scheda
grafica utilizzata. Le direttive che possono essere contenute in tale sezione sono le
seguenti
La sezione Monitor è utilizzata per specificare le impostazioni relative al monitor. Le
direttive che possono essere contenute in tale sezione sono le seguenti
La sezione Modes è utilizzata per specificare le impostazioni relative alle modalità video
(risoluzioni) indipendentemente dallo schermo. La sezione Monitor può fare riferimento ad una
sezione Modes per mezzo della direttiva UseModes. Le direttive che possono essere contenute in
tale sezione sono le seguenti
-
Identifier "name"
specifica il nome univoco della sezione;
-
Mode "name"
v. Mode della sezione Monitor;
-
ModeLine "name" value ...
v. ModeLine della sezione Monitor;
La sezione Screen è utilizzata per specificare le impostazioni relative allo schermo, ovvero
quello che collega la scheda grafica (sezione Device) al monitor (sezione Monitor).
Una sezione Screen è considerata attiva se è fatto riferimento ad essa nella sezione
ServerLayout o con l’opzione -screen sulla riga di comando. Se nessuno dei riferimenti è
stato indicato, viene considerata attiva la prima sezione Screen presente nel file di
configurazione. Le direttive che possono essere contenute in tale sezione sono le
seguenti
-
Identifier "name"
specifica il nome univoco della sezione;
-
Device "name"
specifica il nome della sezione Device contenente le impostazioni della scheda
grafica da considerare;
-
Monitor "name"
specifica il nome della sezione Monitor contenente le impostazioni del monitor
da considerare;
-
VideoAdaptator "value"
specifica una descrizione relativa all’adattatore video;
-
DefaultDepth value
specifica la profondità di colore di default (in bit). Il default dipende dal driver,
ma in molti casi è 8;
-
DefaultFbBpp value
specifica il layout del framebuffer da utilizzare per default (in genere questa
direttiva viene utilizzata soltanto con profondità di colore di 24 bit - 24 bit
packed o 32 sparse bit);
-
Options "value"
indica eventuali opzioni specifiche;
-
Option "Accel"
abilita la XAA (X Acceleration Architecture) ovvero un meccanismo che
permette al server grafico di sfruttare l’accelerazione hardware 2D presente sulla
scheda grafica (per default questa direttiva è attivata);
-
Option "NoMTRR"
disabilita il supporto per il MTRR (Memory Type Range Register), una
caratteristica dei microprocessori moderni che permette di migliorare le
performance video di un fattore 2,5;
-
Option "XaaNoCPUToScreenColorExpandFill"
disabilita l’accelerazione video per l’espansione rettangolare dei pattern in
memoria;
-
Option "XaaNoColor8x8PatternFillRect"
disabilita l’accelerazione video per il riempimento colorato delle regioni
rettangolari;
-
Option "XaaNoColor8x8PatternFillTrap"
disabilita l’accelerazione video per il riempimento colorato delle regioni
trapezoidali;
-
Option "XaaNoDashedBresenhamLine"
disabilita l’accelerazione video per la visualizzazione delle linee tratteggiate con
il metodo Bresenham;
-
Option "XaaNoDashedTwoPointLine"
disabilita l’accelerazione video per la visualizzazione delle linee tratteggiate tra
due punti arbitrari;
-
Option "XaaNoImageWriteRect"
disabilita l’accelerazione video per il trasferimento di pattern rettangolari dalla
memoria di sistema alla memoria video;
-
Option "XaaNoMono8x8PatternFillRect"
disabilita l’accelerazione video per il riempimento monocromatico delle regioni
rettangolari;
-
Option "XaaNoMono8x8PatternFillTrap"
disabilita l’accelerazione video per il riempimento monocromatico delle regioni
trapezoidali;
-
Option "XaaNoOffscreenPixmaps"
disabilita l’accelerazione video per la visualizzazione delle pixmap memorizzate
nella memoria video in offscreen;
-
Option "XaaNoPixmapCache"
disabilita il caching per la visualizzazione dei pattern memorizzati nella memoria
video in offscreen;
-
Option "XaaNoScanlineCPUToScreenColorExpandFill"
disabilita l’accelerazione video per l’espansione dei pattern rettangolari a partire
da quelli memorizzati nella memoria di sistema (una riga per volta);
-
Option "XaaNoScanlineImageWriteRect"
disabilita l’accelerazione video per il trasferimento di pattern colorati
rettangolari dalla memoria di sistema alla memoria video (una riga per volta);
-
Option "XaaNoScreenToScreenColorExpandFill"
disabilita l’accelerazione video per l’espansione rettangolare dei pattern
memorizzati nella memoria video in offscreen;
-
Option "XaaNoScreenToScreenCopy"
disabilita l’accelerazione video per la copia delle regioni rettangolari da una zona
all’altra della memoria video;
-
Option "XaaNoSolidBresenhamLine"
disabilita l’accelerazione video per la visualizzazione delle linee continue con il
metodo Bresenham;
-
Option "XaaNoSolidFillRect"
disabilita l’accelerazione video per la visualizzazione di rettangoli colorati;
-
Option "XaaNoSolidFillTrap"
disabilita l’accelerazione video per la visualizzazione di aree colorate trapezoidali;
-
Option "XaaNoSolidHorVertLine"
disabilita l’accelerazione video per la visualizzazione di linee continue orizzontali
e verticali;
-
Option "XaaNoSolidTwoPointLine"
disabilita l’accelerazione video per la visualizzazione di linee continue tra due
punti arbitrari;
La sezione Screen può contenere una o più sottosezioni Display con la seguente
sintassi
SubSection "Display"
...
EndSubSection
Le direttive che possono essere contenute in tale sottosezione sono le seguenti
-
Depth value
indica la profondità di colore (quanti bit sono necessari per rappresentare un
pixel);
-
FbBpp value
indica il formato del framebuffer (ovvero quanti bit sono utilizzati per
rappresentare un pixel);
-
Weight red_value green_value blue_value
specifica il “peso” da assegnare ad ogni colore di base;
-
Virtual x_dim y_dim
specifica la risoluzione virtuale dello schermo (la dimensione lungo l’asse x deve
essere in gnere un multiplo di 8 o 16). Le risoluzioni video troppo grandi rispetto
a quella qui specificata vengono scartate. Se questa direttiva non viene indicata,
la risoluzione virtuale viene calcolata dalle direttive specificate nella direttiva
Modes;
-
ViewPort x0 y0
specifica la posizione del vertice in alto a sinistra del display. Questa direttiva
viene utilizzata quando la risluzione dello schermo è diversa da quella virtuale;
-
Modes "value" "..."
specifica l’elenco di risoluzioni che possono essere utilizzate. È possibile passare
da una risoluzione all’altra con le combinazioni di tasti
e
. Se questa direttiva non è specificata, viene utilizzata la risoluzione
più grande tra quelle specificate nella sezione Monitor;
-
Visual "value"
specifica la visualizzazione di defaut (v. tab. 11.4). Se non specificato viene
utilizzato StaticGray per profondità di colore a 1 bit, StaticColor per profondità
di colore a 4 bit, PseudoColor per profondità di colore a 8 bit, TrueColor per
profondità di colore a 15, 16 e 24 bit;
| Tabella 11.4: | Possibili valori per la direttiva Visual. |
|
-
Black red green blue
specifca l’intensità di rosso, verde e blu per rappresentare il colore nero;
-
White red green blue
specifca l’intensità di rosso, verde e blu per rappresentare il colore bianco;
-
Options "value"
indica ulteriori opzioni (v. Screen);
La sezione ServerLayout è utilizzata per collegare le impostazioni relative ai vari
dispositivi: essa collega una o più sezioni Screen ed una o più sezioni InputDevice. Le direttive
che possono essere contenute in tale sezione sono le seguenti
-
Identifier "name"
specifica il nome univoco della sezione;
-
Screen [number] "name"[position]
specifica i riferimenti dello schermo. Il valore number è il valore di screen
da considerare quando è specificata una scheda video multiheaded (se non è
specificato, gli screen sono numerati partendo da 0 dal primo presente nel
file di configurazione). Il valore name specifica il nome della sezione Screen a
cui si fa riferimento. Il valore position indica come vanno gestiti gli screen che
compongono la stazione grafica. Questi possono essere specificati con una delle
seguenti sintassi
-
Absolute x y
specifica le coordinate (x,y) del vertice in alto a sinistra dello schermo
(se non vengono specificato è sott’inteso (0,0));
-
RightOf "screen_name"
indica che lo screen considerato è il prolungamento verso destra dello
screen screen_name;
-
LeftOf "screen_name"
indica che lo screen considerato è il prolungamento verso sinistra dello
screen screen_name;
-
Above "screen_name"
indica che lo screen considerato è il prolungamento verso l’alto dello
screen screen_name;
-
Below "screen_name"
indica che lo screen considerato è il prolungamento verso il basso dello
screen screen_name;
-
Relative "screen_name"x y
indica la posizione del vertice in alto a sinistra dello screen considerato
relativamente allo screen screen_name;
-
InputDevice "name" ["option"] [...]
specifica i riferimenti ai dispositivi di input. Il valore name specifica il nome della
sezione InputDevice a cui si fa riferimento. Il parametro option può assumere i valori
specificati nella sezione InputDevice (quelli puu utilizzati sono CorePointer,
CoreKeyboard e SendCoreEvents);
-
Option "value"
indica opzioni specifiche (v. sezione ServerFlags);
Di seguito è riportato un esempio di una sezione ServerLayout
Section "ServerLayout"
Identifier "Layout 1"
Screen "MGA 1"
Screen "MGA 2" RightOf "MGA 1"
InputDevice "Keyboard 1" "CoreKeyboard"
InputDevice "Mouse 1" "CorePointer"
InputDevice "Mouse 2" "SendCoreEvents"
Option "BlankTime" "5"
EndSection
La sezione DRI è utilizzata per specificare le impostazioni relative alla DRI (Direct
Rendering Infrastructure) (v. http://www.xfree86.org/current/DRI.html).
La sezione Vendor è utilizzata per specificare le impostazioni relative al fornitore.
[da completare ...]
11.2.1.2 X.Org
Un’altra implementazione di server grafico è Xorg (man page Xorg(1)), sviluppato dalla X.Org
Foundation,
il cui codice deriva da quello sviluppato in precedenza dall’X Consortium, da The Open
Group e
dall’XFree86 Project (XFree86 vers. 4.4rc2).
Per problemi di licenza, alcune delle recenti distribuzioni includono la versione
X11R6.7 della X.Org Foundation, al posto dell’analoga versione sviluppata
dall’XFree86 project.
|
____________________________________________________________________
Comando: Xorg
Path: /usr/X11R6/bin/Xorg
SINTASSI
# Xorg [:display] [option]
DESCRIZIONE
-
display indica il display (stazione grafica) alla quale è associato;
-
option indica la modalità di funzionamento di Xorg. Può assumere i seguenti
valori:
-
vtXX specifica il terminale virtuale (XX) utilizzato dal server grafico
(se non viene indicato viene utilizzato il primo terminale virtuale
disponibile);
- -allowMouseOpenFail
indica al server grafico di avviarsi anche se il dispositivo di
puntamento (mouse) non è presente (v. AllowMouseOpenFail in
xorg.conf);
-
-allowNonLocalModInDev
permette di cambiare le impostazioni della tastiera ed il mouse dai
client remoti (v. AllowNonLocalModInDev in xorg.conf);
-
-allowNonLocalXvidtune
rende disponibile l’estensione VidMode ai client remoti, permettendo
la connessione dei client xvidtune
da altre macchine (v. AllowNonLocalXvidtune in xorg.conf). Per
default non sono permesse connessioni da macchine remote;
-
-bgamma value
imposta la correzione della gamma blu secondo quanto specificato da
value (da 0.1 a 10 - default 1.0);
-
-configure
indica a Xorg di caricare tutti i driver video, provare l’hardware
disponibile e di creare un file di configurazione xorg.conf sulla base
dell’hardware rilevato (funziona solo se è lanciato con i permessi di
esecuzione del superuser);
-
-depth n
imposta la profondità di colore a 1, 4, 8, 15, 16 o 24 bit;
________________________________________________________________________
[da completare ...]
Esso utilizza il file di configurazione xorg.conf (man page xorg.conf(5)).
[da completare ...]
11.2.1.3 xinit e startx
Vista la complessità di XFree86 o xorg, sono stati introdotti altri comandi che ne facilitano
l’utilizzo, come xinit (X Window Initializer - man page xinit(1)) e startx (man page
startx(1)).
xinit viene generalmente utilizzato per lanciare in esecuzione il server grafico ed un client
grafico che lo utilizza. Quando il client grafico termina la sua esecuzione, xinit
invia un segnale di interruzione al server grafico, che a sua volta termina la propria
esecuzione.
__________________________________________________________________________________________________________
Comando: xinit
Path: /usr/bin/X11/xinit
SINTASSI
# xinit [[client] client_option] [-- [server] [display] server_option]
DESCRIZIONE
________________________________________________________________________
Quando l’ultimo dei client grafici lanciati in esecuzione da xinit termina (o termina il file
~/.xinitc), xinit termina il server grafico.
Ad esempio, il comando
avvia il server grafico ~/.xserverrc (o X) ed il file ~/.xinitrc o xterm, come
precedentemente spiegato. Il comando
xinit -- /usr/X11R6/bin/Xqdss :1
avvia il server grafico /usr/X11R6/bin/Xqdss associandolo al display :1. Viene anche
lanciato il file ~/.xinitrc o xterm, come precedentemente spiegato. Il comando
xinit -e widgets -- ./Xsun -l -c
avvia il server grafico ./Xsun con le opzioni -l e -c. Viene anche lanciato il file
~/.xinitrc o xterm, come precedentemente spiegato, al quale viene passata l’opzione -e
widgets.
startx non è altro che un front-end del comando xinit, quindi anch’esso lancia un server
X e un client X ad esso associato.
____________________________________________________________________
Comando: startx
Path: ???/startx
SINTASSI
# startx [[Xclient] [client_option]] [-- [display] [server_option]]
DESCRIZIONE
-
Xclient specifica il client grafico (applicazione) da lanciare;
-
client_option specifica le eventuali opzioni relative al client grafico;
-
display specifica il display da associare al server grafico, con la notazione
host:display;
-
server_option specifica le eventuali opzioni relative al server grafico;
___________________________________
Al suo avvio, startx lancia in esecuzione il client grafico specificato da Xclient. Se non
viene specificato nessun client grafico, startx lancia in esecuzione il file ~/.xinitrc, o nel
caso in cui esso non esista, il file /etc/X11/xinit/xinitrc. Il server grafico da lanciare viene
determinato in base al contenuto del file ~/.xserverrc, o nel caso in cui esso non esista, nel
file /etc/X11/xinit/xserverrc.
Generalmente ~/.xinitrc è uno script Bash che avvia i client grafici predefiniti
dall’utente. Quando tale script termina la sua esecuzione, startx termina il server X,
chiudendo la sessione grafica.
Le varie distribuzioni possono personalizzare in maniera piuttosto pesante il file
/etc/X11/xinit/xinitrc, per cui si rimanda alla specifica documentazione relativa alla
distribuzione considerata.
Generalmente, su un sistema viene lanciato un solo server X, ovvero una sola interfaccia
grafica, ma la struttura di X Window permette di lanciare più interfacce grafiche, cioè più di
un server grafico, sullo stesso sistema. Ad esempio, il comando
$ startx
avvia il server X come display :0, che è accessibile attraverso il primo terminale virtuale
disponibile (generalmente il terminale virtuale che permette l’accesso all’interfaccia grafica è il
settimo, poiché i primi 6 sono utilizzati per l’accesso al sistema in modalità testo), mentre il
comando
$ startx -- :1
avvia il server X come display :1, accessibile dal primo terminale virtuale disponibile
(se è già in esecuzione il server grafico :0 accessibile, ad esempio, per mezzo del
settimo terminale virtuale, il server grafico :1 sarà accessibile dall’ottavo terminale
virtuale).
Il comando
$ startx -- -depth 16
avvia il server X (come display :0), con profondità di colore a 16 bit.