XINIT(1)

NOME
xinit - inizializzatore dell'X Window System

SINTASSI
xinit [ [ client ] opzioni ] [ -- [ server ] [ display ] opzioni ]

DESCRIZIONE
Il programma xinit è utilizzato per lanciare il server dell'X Window System ed un primo programma client su sistemi che non possono lanciare X direttamente da /etc/init o in ambienti che utilizzano più di un sistema a finestre. Quando il primo client esce, xinit termina il server e quindi termina a sua volta.

Se non viene specificato un programma client nella riga di comando, xinit cercherà un file di nome .xinitrc nella directory home dell'utente da eseguire come shell script per lanciare i programmi client. Se neanche questo file esiste, xinit utilizzerà come predefinito il seguente comando:

    xterm -geometry +1+1 -n login -display :0

Se non viene specificato un programma server nella riga di comando, xinit cercherà un file di nome .xserverrc nella directory home dell'utente da eseguire come shell script per lanciare il server. Se neanche questo file esiste, xinit utilizzerà come predefinito il seguente:

    X :0

Da notare che questo presuppone l'esistenza di un programma di nome X nel percorso di ricerca corrente. Tuttavia, i server sono generalmente chiamati Xtipo-display dove tipo-display è il tipo di display grafico gestito dal server in questione. Gli amministratori di sistema dovrebbero, perciò, creare un link al tipo di server più appropriato per la propria macchina , oppure creare uno shell script che lancia xinit con il server corretto.

Occorre fare attenzione, quando si utilizza uno script .xserverrc, di fare un ``exec'' con il server X reale. Se questo non venisse fatto il server X diventerebbe lento da lanciare ed in uscita. Per esempio:

    exec Xtipo-display

Un punto importante da ricordare è che se i programmi lanciati da .xinitrc non terminano immediatamente allora dovrebbero essere eseguiti in background in modo da non impedire l'esecuzione di altri programmi. Tuttavia, l'ultimo programma lanciato a lungo termine (tipicamente un window manager o un emulatore di terminale) dovrebbe essere lasciato in foreground in modo da impedire allo script di uscire (questo indicherebbe che l'utente ha finito e che xinit deve terminare).

Può essere specificato un client e/o un server differente nella riga di comando. Il programma client desiderato con i suoi argomenti devono essere i primi argomenti della riga di comando di xinit. Per specificare una riga di comando particolare per il server, occorre aggiungere una doppia lineetta (--) alla riga di comando di xinit (dopo ogni altro client ed argomento) seguita dai comandi desiderati per il server.

Sia il nome del programma client sia quello del programma server devono cominciare con uno slash (/) o un punto (.). Altrimenti, vengono trattati come argomenti da aggiungere alle loro rispettive righe di comando. Questo rende possibile aggiungere degli argomenti (per esempio, i colori di sfondo e primo piano) senza dover riscrivere per intero la riga di comando.

Se non viene indicato esplicitamente il nome del server ed il primo argomento dopo la doppia lineetta (--) è un due punti seguito da una cifra, xinit userà questo numero come numero del display al posto dello zero. Tutti gli argomenti rimasti vengono aggiunti alla riga di comando del server.

ESEMPI
Di seguito vi sono alcuni esempi su come vengono utilizzati gli argomenti nella riga di comando di xinit.

xinit
    Questo lancia un server di nome X ed esegue il .xinitrc, se esiste, altrimenti esegue un xterm.

xinit -- /usr/X11R6/bin/Xqdss  :1
    Questo è il modo in cui è possibile lanciare un tipo di server specifico su un display alternativo.

xinit -geometry =80x65+10+10 -fn 8x13 -j -fg white -bg navy
    Questo lancia un server di nome X, ed aggiunge gli argomenti dati al comando predefinito xterm. Il .xinitrc viene ignorato.

xinit -e widgets -- ./Xsun -l -c
    Questo utilizza il comando .Xsun -l -c per lanciare il server ed aggiunge gli argomenti -e widgets al comando predefinito xterm.

xinit /usr/ucb/rsh fasthost cpupig -display ws:1 --  :1 -a 2 -t 5
    Questo lancia un server di nome X sul display 1 con gli argomenti -a 2 -t 5. Dopo di che lancia una shell remota sulla macchina fasthost sulla quale esegue il comando cpupig, indicandogli di mostrare i risultati sulla workstation locale.

Di seguito è riportato un esempio di .xinitrc che lancia un orologio, diversi terminali ed un window manager lasciato in esecuzione come ``ultima'' applicazione. Presupponendo che il window manager sia stato configurato correttamente, l'utente può scegliere la voce di menu ``Exit'' per fare lo shutdown di X.

xrdb -load $HOME/.Xresources
xsetroot -solid gray &
xclock -g 50x50-0+0 -bw 0 &
xload -g 50x50-50+0 -bw 0 &
xterm -g 80x24+0+0 &
xterm -g 80x24+0-0 &
twm

I siti che vogliono creare un ambiente di lancio comune possono semplicemente creare un .xinitrc predefinito che fa riferimento ad un file di inizializzazione valido per l'intero sito.

#!/bin/sh
. /usr/local/lib/site.xinitrc

Un altro metodo è quello di scrivere uno script che lancia xinit con uno specifico shell script. Questi script vengono normalmente chiamati x11, xstart, o startx ed è un metodo conveniente per fornire agli utenti inesperti un'interfaccia semplice.

#!/bin/sh
xinit /usr/local/lib/site.xinitrc -- /usr/X11R6/bin/X bc

VARIABILI DI AMBIENTE

DISPLAY
    Questa variabile viene impostata al nome del display al quale i client dovrebbero connettersi.

XINITRC
    Questa variabile specifica un file di inizializzazione contenente comandi di shell per lanciare le finestre iniziali. Come predefinito, viene usato .xinitrc nella directory home dell'utente.

FILE

.xinitrc
    Il client script predefinito

xterm
    Il client da lanciare se .xinitrc non esiste

.xserverrc
    Il server script predefinito

X   Il server da lanciare se .xserverrc non esiste

VEDERE ANCHE
X(1), startx(1), Xserver(1), xterm(1)

AUTORE
Bob Scheifler, MIT Laboratory for Computer Science Traduzione di Alessandro Passerini (bav4934@iperbole.bologna.it)