Se non si passa alla riga di comando nessun programma specifico, xinit cercherà un file nella directory home dell'utente chiamato .xinitrc per eseguirlo come uno script di shell per avviare programmi client. Se tale file non esiste, xinit userà il seguente come default:
xterm -geometry +1+1 -n login -display :0
Se non si fornisce sulla riga di comando nessun programma server, xinit cercherà un file nella directory home dell'utente chiamato .xserverrc per eseguirlo come uno script di shell per avviare il server. Se tale file non esiste, xinit userà il seguente come default:
X :0
Notare che si presuppone che ci sia un programma chiamato X nell'attuale percorso di ricerca. Comunque, i server sono usualmente chiamati Xdisplaytype dove displaytype è il tipo di display grafico che è supportato da questo server. L'aministratore del sito dovrebbe, perciò, fare un link all'appropriato tipo di server sulla macchina, o creare uno script di shell che esegua xinit con il server appropriato.
Notare, quando si usa uno script .xserverrc assicurarsi di ``eseguire'' il vero server X. Sbagliando nel far questo si può rendere X lento nell'avvio e farlo chiudere subito. Per esempio:
exec Xdisplaytype
Un punto importante è che i programmi che sono eseguiti da .xinitrc dovrebbero essere eseguiti in background per non farli terminare subito, così che essi non prevengano l'apertura di altri programi. Comunque, l'ultimo programma a lunga-vita avviato (usualmente un window manager o un emulatore di terminale) dovrebbe essere lasciato in foreground così che lo script non termini (ciò indicherebbe che l'utente ha finito e che xinit dovrebbe terminare).
Un client e/o un server alternativo può essere specificato sulla riga di comando. Il programma client desiderato e i suoi argomenti dovrebbero essere passati come argomenti a xinit sulla prima riga di comando. Per specificare un particulare servere dalla riga di comando, aggiungere un doppio trattino (--) alla linea di comando di xinit (dopo eventuali client e argomenti) seguiti dal comando del server desiderato.
Entrambi i nomi dei programmi client e server devono iniziare con una barra (/) o un punto (.). Diversamente, sono trattati come argomenti da essere aggiunti alle rispettive righe di avvio. Questo rende possibile aggiungere argomenti (per esempio, colori foreground e background) senza dover ridigitare l'intera riga di comando.
Se un nome server esplicito non viene dato e il primo argomento dopo le doppie lineette (--) sono i duepunti seguiti da un numero, xinit utilizzerà quel numero come numero di display al posto di zero. Tutti i rimanenti argomenti sono aggiunti alla line di comando del server.
Di seguito è un esempio di .xinitrc che avvia un orologio, divesi terminali, e lascia in esecuzione un window manager per ``ultima'' applicazione. Presupposto che il window manager sia stato configurato propriamente, l'utente poi sceglierà la voce ``Exit'' del menu per chiudere 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
In siti dove si vuole avere un ambiente di avvio comune potrebbero semplicemente creare un default .xinitrc che faccia riferimento un file di avvio d'ambiente-allargato:
#!/bin/sh . /usr/local/lib/site.xinitrc
Un'altro approccio è di scrivere uno script che avvii xinit con uno specifico script di shell. Tali script sono usualmente denominati x11, xstart, o startx e sono un modo conveniente per provvedere una semplice interfaccia per gli utenti novizi:
#!/bin/sh xinit /usr/local/lib/site.xinitrc -- /usr/X11R6/bin/X bc