Guida alla configurazione di Xorg: differenze tra le versioni

m
link esterni
(corretti alcuni typo, revisionata)
m (link esterni)
 
(19 versioni intermedie di 5 utenti non mostrate)
Riga 1: Riga 1:
{{stub}}
{{Versioni compatibili|Squeeze|Wheezy|Jessie}}
 
 
{{Versioni compatibili|Tutte le versioni di Debian}}
==Che cos'è==
==Che cos'è==
Xorg è il server dell'X Window System, il gestore grafico dei sistemi Unix, sviluppato da [http://www.x.org/wiki/ X.Org Foundation], rilasciato sotto [http://opensource.org/licenses/mit-license.php licenza MIT] (software libero).
Xorg è il server dell'X Window System, il gestore grafico dei sistemi Unix, sviluppato da X.Org Foundation<sup>[[#Collegamenti esterni | [1]]]</sup>, rilasciato sotto licenza MIT<sup>[[#Collegamenti esterni | [5]]]</sup> (software libero).
Grazie al diffondersi di applicazioni open source di un certo livello, come OpenOffice e TheGimp, X viene supportato, in modo secondario, anche da  sistemi operativi proprietari (come Windows e Mac OS X).
Grazie al diffondersi di applicazioni open source di un certo livello, come OpenOffice e TheGimp, X viene supportato, in modo secondario, anche da  sistemi operativi proprietari (come Windows e Mac OS X).


Riga 30: Riga 27:
<b>Precauzione 2</b>: possiamo generare un file <code>xorg.conf</code> basato sull'autodetect della nostra configurazione. Riavviamo il sistema in single-mode user, eseguiamo l'accesso come root e diamo:
<b>Precauzione 2</b>: possiamo generare un file <code>xorg.conf</code> basato sull'autodetect della nostra configurazione. Riavviamo il sistema in single-mode user, eseguiamo l'accesso come root e diamo:
<pre>
<pre>
# xorg -configure
# Xorg -configure
</pre>
</pre>
verrà creato nella directory corrente un file (di solito <code>xorg.conf.new</code>) che possiamo utilizzare non solo per ripristinare alcuni errori dovuti a modifiche accidentali, ma anche per iniziare a far pratica sui concetti che esporremo.
verrà creato nella directory corrente un file (di solito <code>xorg.conf.new</code>) che possiamo utilizzare non solo per ripristinare alcuni errori dovuti a modifiche accidentali, ma anche per iniziare a far pratica sui concetti che esporremo.
Riga 129: Riga 126:
* ServerFlags: Server flags
* ServerFlags: Server flags


* <b>Module:</b> Indica al server quali moduli deve caricare (es: estensioni come glx, per la gestione del rendering OpenGL all'interno delle finestre, moduli per il [http://en.wikipedia.org/wiki/Font_rasterization font rasterization], ecc.)
* <b>Module:</b> Indica al server quali moduli deve caricare (es: estensioni come glx, per la gestione del rendering OpenGL all'interno delle finestre, moduli per il font rasterization<sup>[[#Collegamenti esterni | [6]]]</sup>, ecc.)


* DRI: [http://www.x.org/wiki/DRI2 DRI-specific configuration]
* DRI: DRI-specific configuration


* Vendor: Vendor-specific configuration
* Vendor: Vendor-specific configuration
Riga 160: Riga 157:


===ServerLayout Section===
===ServerLayout Section===
La sezione ServerLayout è il livello principale di tutto il file <code>xorg.conf</code>. Essa serve a raggruppare i dispositivi di input/output (e alcune delle loro caratteristiche fondamentali) che verranno utilizzate all'interno della sessione corrente.
La sezione ServerLayout è il livello principale di tutto il file <code>xorg.conf</code>. Essa serve a raggruppare i dispositivi di input/output (e alcune delle loro caratteristiche fondamentali) che verranno utilizzati all'interno della sessione corrente.
È possibile avere più sezioni ServerLayout. Il motivo fondamentale è semplice: pensiamo ad una sessione multiutente su di uno stesso computer. Ogni utente ha sicuramente mouse e tastiera "personali" nonché uno schermo "personale", e quindi è necessario avviare diverse sessioni che utilizzano un ServerLayout (e cioè una configurazione di Xorg) diverso per ogni utente.
È possibile avere più sezioni ServerLayout. Il motivo fondamentale è semplice: pensiamo ad una sessione di tre utenti su di uno stesso computer. A parte certi dispositivi che possono essere condivisi (come ad esempio la scheda grafica) sicuramente ogni utente ha una tastiera, un mouse e uno schermo "personali". Quindi questi dispositivi personali, in generale, avranno caratteristiche differenti e allora è necessario definire nel file di configurazione 3 diverse sezioni per ogni dispositivo (3 per la tastiera, 3 per il mouse, 3 per lo schermo). A questo punto è necessario definire 3 sezioni ServerLayout in modo tale che si raggruppino, per ogni utente, il proprio mouse, la propria tastiera e il proprio schermo. Facendo così, si permette ad ogni utente di avere una sessione personale e funzionante con i propri dispositivi. Infine, come spiegato altrove, se un utente vuol partire con una propria sezione ServerLayout basta che utilizza il comando: <pre>Xorg -layout nome_server_layout</pre>
<b>SPIEGARE MEGLIO QUESTO CONCETTO</b>
 
(Nota: ovviamente se, per esempio, due utenti hanno tastiere diverse ma con identiche caratteristiche, allora non è necessario definire due sezioni per ogni tastiera, in quanto basta definirne una "condivisa". Lo stesso vale per le ServerLayout: se due utenti hanno tutti dispositivi diversi ma con identiche caratteristiche è sempre necessario definire solamente una sezione ServerLayout).


Quindi principalmente in ServerLayout andiamo a dire al server X che l'utente U utilizza la tastiera A, il mouse B, lo schermo C e la scheda video D per la sua sessione e successivamente, nelle altre sezioni, specifichiamo in modo dettagliato cosa si intende per tastiera A, mouse B, ecc.
Quindi principalmente in ServerLayout andiamo a dire al server X che l'utente U utilizza la tastiera A, il mouse B, lo schermo C e la scheda video D per la sua sessione e successivamente, nelle altre sezioni, specifichiamo in modo dettagliato cosa si intende per tastiera A, mouse B, ecc.
Riga 224: Riga 222:


Dopo questa definizione possiamo continuare dicendo che: se viene utilizzato un server dinamico (e quindi non statico) il modulo del driver "inputdriver" viene caricato per ogni sezione attiva (non per tutte ovviamente, dato che -come abbiamo visto nell'introduzione- è possibile, per ogni sessione, utilizzare un unico mouse e un'unica tastiera).
Dopo questa definizione possiamo continuare dicendo che: se viene utilizzato un server dinamico (e quindi non statico) il modulo del driver "inputdriver" viene caricato per ogni sezione attiva (non per tutte ovviamente, dato che -come abbiamo visto nell'introduzione- è possibile, per ogni sessione, utilizzare un unico mouse e un'unica tastiera).
Una nota interessante: per qualche ragione (vedi ***) potreste avere il bisogno di settare esplicitamente il layout della tastiera. Per farlo basta aggiungere, nella sezione InputDevice dedicata alla tastiera, la seguente opzione:
<pre>Option "XkbLayout" "it"</pre>
dove <code>it</code> indica il layout italiano.
(***) E' capitato, dopo l'installazione dei driver proprietari nvidia, che il layout della tastiera fosse impostato -in modo silente- a quello statunitense, rendendo quindi scorretta l'associazione tra tasti e caratteri.


===Device Section===
===Device Section===
Riga 239: Riga 243:
* <code>BusID "bus-id"</code>: specifica l'indirizzo (il bus location) della della scheda grafica;
* <code>BusID "bus-id"</code>: specifica l'indirizzo (il bus location) della della scheda grafica;


* <code> Screen number </code>: indica quale schermo utilizzare. È utilizzato per quelle schede video che possono gestire più di uno schermo (consiglio il link seguente per chi avesse questa necessità: [http://wiki.linuxquestions.org/wiki/Using_multiple_monitors_with_XFree86 Using multiple monitors])
* <code> Screen number </code>: indica quale schermo utilizzare. È utilizzato per quelle schede video che possono gestire più di uno schermo (consiglio i link seguenti per chi avesse questa necessità: Multiple Monitors with XFree86<sup>[[#Collegamenti esterni | [7]]]</sup> o Multiple Monitors with Nvidia<sup>[[#Collegamenti esterni | [8]]]</sup>).


===Monitor Section===
===Monitor Section===
Riga 251: Riga 255:
EndSection
EndSection
</pre>
</pre>
Può avere istanza multiple.
L'unica voce obbligatoria è Identifier. Vediamo alcune entry interessanti:
L'unica voce obbligatoria è Identifier. Vediamo alcune entry interessanti:


Riga 284: Riga 291:


I campi obbligatori sono Identifier e Device. Il valore del campo device deve essere un identifier specificato della sezione Device. Anche se non obbligatorio, è bene inserire il "monid" (ovviamente uguale a uno di quelli specificati nella sezione Monitor).
I campi obbligatori sono Identifier e Device. Il valore del campo device deve essere un identifier specificato della sezione Device. Anche se non obbligatorio, è bene inserire il "monid" (ovviamente uguale a uno di quelli specificati nella sezione Monitor).
Interessante è anche specificare la [http://en.wikipedia.org/wiki/Color_depth profondità di colore] che deve essere usata dal server per default: <code>DefaultDepth depth</code>.
Interessante è anche specificare la profondità di colore<sup>[[#Collegamenti esterni | [9]]]</sup> che deve essere usata dal server per default: <code>DefaultDepth depth</code>.
Importante è anche l'opzione seguente:
Importante è anche l'opzione seguente:
<pre>
<pre>
Option "Accel"
Option "Accel"
</pre>
</pre>
che abilita l'accelerazione hardware 2d tramite l'architettura [http://en.wikipedia.org/wiki/XFree86_Acceleration_Architecture XAA]. È abilitata per default, ma se sono presenti dei bug nel driver XAA è necessario disabilitarla per avere un server X funzionante.
che abilita l'accelerazione hardware 2d tramite l'architettura XAA<sup>[[#Collegamenti esterni | [10]]]</sup>. È abilitata per default, ma se sono presenti dei bug nel driver XAA è necessario disabilitarla per avere un server X funzionante.


===Display Subsection===
===Display Subsection===
Riga 328: Riga 335:
I moduli vengono cercati nei percorsi specificati nel ModulePath della sezione Files, e in alcune sottodirectory specifiche di quei percorsi. Per vedere quali moduli sono presenti (estensioni e font) si vedano queste directory:
I moduli vengono cercati nei percorsi specificati nel ModulePath della sezione Files, e in alcune sottodirectory specifiche di quei percorsi. Per vedere quali moduli sono presenti (estensioni e font) si vedano queste directory:


<code>/usr/lib/modules/fonts</code> e <code>/usr/lib/modules/extensions</code>.
<code>/usr/lib/modules/fonts</code> e <code>/usr/lib/modules/extensions</code>


oppure
oppure
Riga 334: Riga 341:
<code>/usr/lib/xorg/modules/fonts</code> e <code>/usr/lib/xorg/modules/extensions</code>
<code>/usr/lib/xorg/modules/fonts</code> e <code>/usr/lib/xorg/modules/extensions</code>


Il modulo per i [http://en.wikipedia.org/wiki/Computer_font#Bitmap_fonts font bitmap] è caricato automaticamente.
Il modulo per i font bitmap<sup>[[#Collegamenti esterni | [11]]]</sup> è caricato automaticamente.
È importante che venga caricato il modulo "extmod" perchè contiene alcune estensioni molto utili come la [http://en.wikipedia.org/wiki/Shape_extension Shape Extension] oppure la [http://en.wikipedia.org/wiki/X_video_extension X Video Extension].
È importante che venga caricato il modulo "extmod" perchè contiene alcune estensioni molto utili come la Shape Extension<sup>[[#Collegamenti esterni | [12]]]</sup> oppure la X Video Extension<sup>[[#Collegamenti esterni | [13]]]</sup>.
 
==Collegamenti esterni==
[1] [http://www.x.org/wiki/ Sito ufficiale di Xorg]<br/>


==Link Utili==
[2] [http://it.wikipedia.org/wiki/X.Org Cenni su Xorg]<br/>
* [http://www.x.org/wiki/ Sito ufficiale di Xorg]


* [http://it.wikipedia.org/wiki/X.Org Cenni su Xorg]
[3] [http://it.wikipedia.org/wiki/X_Window_System X Window System]<br/>


* [http://it.wikipedia.org/wiki/X_Window_System X Window System]
[4] [https://it.wikipedia.org/wiki/Protocolli_e_architettura_di_X_Window_System Protocolli e Architettura dell'X Window System]<br/>


* [http://it.wikipedia.org/wiki/X_Window_System_protocolli_e_architettura Protocolli e Architettura dell'X Window System]
[5] [http://opensource.org/licenses/mit-license.php licenza MIT]<br/>
 
[6] [http://en.wikipedia.org/wiki/Font_rasterization font rasterization]<br/>
 
[7] [http://wiki.linuxquestions.org/wiki/Using_multiple_monitors_with_XFree86 Multiple Monitors with XFree86]<br/>
 
[8] [http://wiki.linuxquestions.org/wiki/Multiple_Monitors_with_Nvidia Multiple Monitors with Nvidia]<br/>
 
[9] [http://en.wikipedia.org/wiki/Color_depth profondità di colore]<br/>
 
[10] [http://en.wikipedia.org/wiki/XFree86_Acceleration_Architecture XAA]<br/>
 
[11] [http://en.wikipedia.org/wiki/Computer_font#Bitmap_fonts font bitmap]<br/>
 
[12] [http://en.wikipedia.org/wiki/Shape_extension Shape Extension]<br/>
 
[13] [http://en.wikipedia.org/wiki/X_video_extension X Video Extension]<br/>


==Dedica==
==Dedica==
Riga 350: Riga 375:
questo è per te cuore mio, perché, a differenza tua, io non sono capace d'altro.
questo è per te cuore mio, perché, a differenza tua, io non sono capace d'altro.


{{Autori
|Autore=[[Utente:Np2k|np2k]] 22/03/2010
}}


Autore: [[Utente:Np2k|np2k]], 22/03/2010
[[Category: Xorg]]
 
[[Category: Sistema]]
45

contributi