[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 232.   X: configurazione dei clienti

Il funzionamento dei programmi clienti può essere configurato in due modi: con l'uso di opzioni nella riga di comando (cosa comune a tutti i programmi) e attraverso l'impostazione di risorse. Alcune opzioni e alcune risorse sono riconosciute dalla maggior parte dei programmi, facilitando il loro utilizzo e rendendo omogeneo il sistema.

232.1   Riga di comando delle applicazioni X

Le applicazioni clienti tradizionali permettono di utilizzare, nella riga di comando, una serie di opzioni standardizzate. Si tratta evidentemente di opzioni riferite principalmente all'aspetto del programma, come la dimensione e la colorazione. La tabella 232.1 mostra l'elenco di alcune di queste opzioni.

Tabella 232.1. Alcune delle opzioni comuni ai programmi per X.

Opzione Descrizione
-foreground colore
Colore di primo piano.
-background colore
Colore dello sfondo.
-reverse
Inverte il colore di primo piano con quello di sfondo.
-bordercolor colore
Colore dei bordi.
-borderwidth dimensione
Dimensione in punti grafici (pixel) dello spessore dei bordi.
-title titolo
Descrizione da porre sulla barra del titolo.
-iconic
Avvia ridotto a icona.
-font carattere
Utilizza il tipo di carattere specificato per visualizzare il testo.
-geometry geometria
Dimensioni e collocazione della finestra.
-display schermo
Coordinate dello schermo su cui deve apparire la finestra.

Nelle sezioni seguenti si analizzano le più importanti.

232.1.1   Opzione «-display»

-display coordinate_del_display
-d coordinate_del_display

X è fatto per funzionare su sistemi connessi in rete, ognuno dei quali può avere potenzialmente più schermi e può mettere in esecuzione più serventi grafici: uno per ogni stazione grafica, reale o virtuale che sia. Di conseguenza, per identificare uno schermo di una stazione grafica di un certo elaboratore si utilizza un indirizzo composto nel modo seguente (come già mostrato nel capitolo introduttivo a X).

[nodo]:numero_del_servente_grafico[.numero_dello_schermo]

L'elaboratore può essere identificato attraverso il nome, completo o parziale, oppure con l'indirizzo IP. Quando questa indicazione viene omessa, si intende quello in cui il programma viene messo in esecuzione.

Teoricamente, un elaboratore può mettere in esecuzione contemporanea più di un servente grafico, per pilotare diverse stazioni grafiche. GNU/Linux in particolare, può farlo attraverso delle stazioni grafiche virtuali che si comportano in modo simile a quello delle console virtuali. La numerazione parte da zero, di conseguenza, quando si fa riferimento al primo (e di solito unico) servente grafico a disposizione, si indica semplicemente :0.

Teoricamente, un servente grafico può pilotare più di uno schermo per volta. La numerazione parte da zero, di conseguenza, quando si fa riferimento al primo (e di solito unico) schermo del primo servente grafico a disposizione, si indica :0.0, oppure si omette semplicemente l'indicazione (:0).

La variabile di ambiente DISPLAY viene usata per stabilire le coordinate predefinite dello schermo sul quale devono apparire i programmi avviati senza l'indicazione di questa opzione (-display). In situazioni normali, il suo contenuto è :0.0.

Nell'esempio seguente, si mostra un caso tipico, in cui si avvia un programma in un elaboratore diverso dal proprio e lo si visualizza sul monitor del proprio elaboratore. Tuttavia, perché ciò possa funzionare, occorre abilitare la connessione (questo problema viene analizzato in parte nella sezione 217.5).

roggen$ telnet dinkel.brot.dg[Invio]

...

dinkel$ xcalc -display roggen.brot.dg:0 &[Invio]

232.1.2   Opzione «-geometry»

-geometry [dimensioni][posizione]
-g [dimensioni][posizione]

Spesso è possibile definire la dimensione e la posizione della finestra iniziale aggiungendo l'opzione -geometry. Le dimensioni sono espresse secondo la sintassi seguente:

[=]dimensione_orizzontalexdimensione_verticale

I valori possono essere espressi in punti grafici (pixel) o in caratteri, a seconda che si tratti di programmi che utilizzano la grafica o meno. Il segno = è facoltativo. La posizione viene espressa secondo la sintassi seguente:

{+|-}distanza_orizzontale{+|-}distanza_verticale

In pratica si tratta di due valori, espressi in punti grafici, preceduti da un segno: un valore positivo indica una distanza dal margine sinistro o dal margine superiore; un valore negativo, indica una distanza dal margine destro o dal margine inferiore.

Tabella 232.2. Posizione dei quattro angoli dello schermo.

Posizione Descrizione
+0+0
Angolo superiore sinistro.
-0+0
Angolo superiore destro.
-0-0
Angolo inferiore destro.
+0-0
Angolo inferiore sinistro.

Segue la descrizione di alcuni esempi.

232.1.3   Opzione «-background»

-background colore
-bg colore

Questa opzione permette di definire il colore dello sfondo. Il colore viene fornito in forma alfabetica, cioè con l'indicazione del suo nome. I nomi dei colori con le loro corrispondenze RGB sono contenuti nel file /etc/X11/rgb.txt, così come indicato nel file di configurazione di X (/etc/X11/XF86Config*, /etc/X11/xorg.conf, ecc.) nella sezione Files.

L'esempio seguente avvia xcalc utilizzando il colore denominato blue per lo sfondo:

xcalc -bg blue &[Invio]

232.1.4   Opzione «-foreground»

-foreground colore
-fg colore

Questa opzione permette di definire il colore di primo piano. Il colore viene fornito in forma alfabetica, cioè con l'indicazione del suo nome. I nomi dei colori con le loro corrispondenze RGB sono contenuti nel file /etc/X11/rgb.txt, così come indicato nel file di configurazione di X (/etc/X11/XF86Config*, /etc/X11/xorg.conf, ecc.) nella sezione Files.

L'esempio seguente avvia xcalc utilizzando il colore red per il primo piano:

xcalc -fg red &[Invio]

232.1.5   Opzione «-title»

-title titolo

Questa opzione permette di definire un titolo da fare apparire sulla barra superiore della finestra: la barra del titolo.

L'esempio seguente avvia xcalc facendo apparire sulla barra del titolo: «calcolatrice tascabile»:

xcalc -title "calcolatrice tascabile" &[Invio]

232.1.6   Opzione «-font»

-font { nome_del_font|dimensioni_del_font }
-fn { nome_del_font|dimensioni_del_font }

Questa opzione permette di definire il tipo di carattere o la dimensione da utilizzare per le applicazioni che visualizzano testo.

Segue la descrizione di alcuni esempi.

232.2   Risorse

Ogni programma cliente può essere configurato attraverso delle risorse. Si tratta di qualcosa di paragonabile all'assegnamento di valori a oggetti determinati che rappresentano un elemento o un comportamento particolare di un programma.

Queste risorse sono descritte all'interno di file di configurazione e le relative impostazioni possono essere attivate attraverso l'uso del programma xrdb (X resources database).

I file delle risorse possono contenere dei commenti: il punto esclamativo (!) viene utilizzato come l'inizio di una riga da ignorare.

232.2.1   Nomi delle risorse

Le risorse di ogni programma sono stabilite dal programma stesso e solitamente se ne trova l'elenco nella pagina di manuale relativa. Si tratta normalmente del nome del programma, seguito da altri nomi, separati da un punto, riferiti a elementi di gerarchia inferiore, fino a giungere all'elemento finale. Per esempio, XClock.input.

Nell'indicazione dei nomi di queste risorse si può utilizzare l'asterisco (*), che viene interpretato come avviene nelle shell comuni, così da poter indicare gruppi di risorse in modo semplificato.

Tabella 232.3. Elenco di alcune risorse utilizzate più frequentemente.

Risorsa Descrizione
*background: colore
Colore dello sfondo.
*foreground: colore
Colore di primo piano.
*borderColor: colore
Colore dei bordi.
*title: titolo
Descrizione da porre sulla barra del titolo.
*iconic: {on|off}
Avvia ridotto a icona.
*font carattere
Utilizza il tipo di carattere specificato per visualizzare il testo.
*geometry: geometria
Dimensioni e collocazione della finestra.

232.2.2   Configurazione delle applicazioni

Di norma, la directory /etc/X11/app-defaults/ (oppure /usr/lib/X11/app-defaults/) contiene una serie di file, ognuno riferito a un programma particolare, per il quale vengono dichiarati i valori predefiniti delle risorse di sua competenza.

I nomi di questi file sono abbastanza simili a quelli dei programmi a cui si riferiscono. Tuttavia, per sapere esattamente come viene identificato un programma per ciò che riguarda le sue risorse occorre consultare la sua documentazione.

A fianco di questi file, l'utente dovrebbe avere la possibilità di definire un file nella propria directory personale: ~/.Xdefaults. Questo file può essere scritto sfruttando le stesse tecniche di precompilazione dei linguaggi di programmazione più recenti (infatti, prima di essere elaborato, viene analizzato normalmente dal preprocessore cpp).

Oltre al normale commento indicato attraverso il punto esclamativo, si può utilizzare la forma del linguaggio C: /* ... */, segnalando così l'inizio e la fine del commento.

Direttiva Descrizione
#define entità
Definisce un'entità, ovvero una sorta di variabile booleana che conta solo in quanto esistente o meno.
#ifdef entità
Se una certa entità è stata definita, esegue le righe seguenti fino a #endif.
#ifndef entità
Se una certa entità non è stata definita, esegue le righe seguenti fino a #endif.
#else
Viene usato sia da #ifdef che da #ifndef per indicare le righe da eseguire in caso la condizione non si sia verificata.
#endif
Viene usato sia da #ifdef che da #ifndef per terminare una struttura condizionale.
#include file
Include il contenuto del file indicato, in corrispondenza di quel punto.
/* istruzioni */
Commenta le istruzioni racchiuse in questo modo.

Quello che segue è l'esempio di un pezzo del contenuto di un file ~/.Xdefaults:

! Commentare la riga seguente se lo schermo è di grandi dimensioni.
#define SCHERMO_PICCOLO

#ifdef SCHERMO_PICCOLO
XTerm*geometry: =80x25+1+1
#else
XTerm*geometry: =100x40+1+1
#endif

! Mi piace la calcolatrice verde.
XCalc*background: green
! Voglio una barra del titolo differente.
XCalc*title: Calcolatrice

Come si vede, se viene dichiarata l'entità SCHERMO_PICCOLO, viene definita una geometria normale per il programma XTerm, altrimenti si usa una dimensione di 100×40. Per commentare la definizione dell'entità, si può fare come nell'esempio seguente:

! Commentare la riga seguente se lo schermo è di grandi dimensioni.
/* #define SCHERMO_PICCOLO */

232.2.3   Altre risorse

Il sistema di script che si occupa di attivare una sessione grafica, dovrebbe occuparsi di leggere altri file e aggiungere il loro contenuto alla definizione delle risorse, attraverso l'uso del programma xrdb. Dovrebbe trattarsi dei file contenuti nella directory /etc/X11/Xresources/ ed eventualmente del file personale ~/.Xresources.

Se esistono questi file, le risorse descritte al loro interno prevalgono su quanto descritto invece all'interno di /etc/X11/app-defaults/ e ~/.Xdefaults.

232.2.4   Utilizzo di «xrdb»

xrdb(1) (X resources database) permette di leggere o modificare le impostazioni delle risorse. Viene usato normalmente per leggere il contenuto di un file e aggiornare di conseguenza l'impostazione corrente delle risorse.

xrdb [opzioni] [file]

Si veda la pagina di manuale xrdb(1).

Tabella 232.7. Alcune opzioni.

Opzione Descrizione
-merge
Aggiunge le impostazioni ottenute dal file indicato.
-query
Permette di ottenere un listato delle impostazioni attive.

L'esempio seguente aggiunge il contenuto del file ./risorse alle impostazioni attuali delle risorse.

xrdb -merge ./risorse[Invio]

232.2.5   Opzione «-xrm»

-xrm risorsa

I programmi tradizionali X accettano anche questa opzione, eventualmente ripetuta più volte nella stessa riga di comando, per definire una proprietà attraverso una risorsa. Ciò permette di definire delle caratteristiche senza intervenire su file di configurazione, senza dover richiamare il programma xrdb e senza interferire sugli altri programmi eventualmente avviati successivamente.

Segue la descrizione di alcuni esempi.

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


1) X   MIT più altre licenze per porzioni particolari di codice


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome x_configurazione_dei_clienti.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!