45
contributi
m (link esterni) |
|||
(17 versioni intermedie di 5 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Versioni compatibili|Squeeze|Wheezy|Jessie}} | |||
{{Versioni compatibili| | |||
==Che cos'è== | ==Che cos'è== | ||
Xorg è il server dell'X Window System, il gestore grafico dei sistemi Unix, sviluppato da | 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 | ||
</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 | * <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: | * DRI: DRI-specific configuration | ||
* Vendor: Vendor-specific configuration | * Vendor: Vendor-specific configuration | ||
Riga 161: | Riga 158: | ||
===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 utilizzati 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 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:< | È 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> | ||
(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). | (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). | ||
Riga 225: | 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 240: | 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 | * <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 252: | 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 285: | 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 | 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 [ | 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 329: | 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 335: | 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 [ | 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/ | È 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/> | |||
[2] [http://it.wikipedia.org/wiki/X.Org Cenni su Xorg]<br/> | |||
[3] [http://it.wikipedia.org/wiki/X_Window_System X Window System]<br/> | |||
[4] [https://it.wikipedia.org/wiki/Protocolli_e_architettura_di_X_Window_System Protocolli e Architettura dell'X Window System]<br/> | |||
[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 351: | 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 | |||
}} | |||
[[Category: Xorg]] | |||
[[Category: |
contributi