Start X at boot (Italiano)
From ArchWiki
Q: Come faccio ad avviare automaticamente X al boot?
A: Puoi modificare il file /etc/inittab
.
La prima linea non commentata dovrebbe essere una cosa simile a questa:
id:3:initdefault:
Cambiala in:
id:5:initdefault:
Potresti anche voler cambiare l'ultima linea del file /etc/inittab
per avviare kdm o gdm invece che xdm.
Un secondo metodo per ottenere lo stesso risultato consiste nell'aggiungere un display manager (kdm
, gdm
, o xdm
) nella riga DAEMONS del tuo /etc/rc.conf
Un'ulteriore alternativa è aggiungere queste righe alla fine del tuo ~/.bash_profile
(se non esistesse un ~/.bash_profile lo puoi creare tu):
if [[ -z "$DISPLAY" ]] && [[ $(tty) = /dev/vc/1 ]]; then startx logout fi
o
if [[ -z "$DISPLAY" ]] && [[ $(tty) = /dev/vc/1 ]]; then xinit logout fi
In questo modo X verrà avviato automaticamente quando effettuerai il log in dalla prima console. Se poi terminerai X premendo ctrl+alt+backspace il tuo utente effettuerà il log out. Inoltre, quando eseguirai nuovamente l'accesso, X verrà riavviato automaticamente e, se hai seguito le istruzioni per mingetty (Automatically_login_some_user_to_a_virtual_console_on_startup), potrai avere X automaticamente ripristinato con il tuo ambiente di default pronto a ricevere comandi.
Q: E se volessi avviare X con un utente preferito senza dover effettuare manualmente il log in?
A: Un metodo per evitare i display managers ed effettuare il boot avviando direttamente il proprio window manager o desktop environment è il seguente.
In /etc/inittab
modifica:
id:3:initdefault: [...] x:5:respawn:/usr/X11R6/bin/xdm -nodaemon
perché diventi:
id:5:initdefault: [...] x:5:once:/bin/su PREFERED_USER -l -c "/bin/bash --login -c startx >/dev/null 2>&1"
dove PREFERED_USER è l'utente di tua scelta.
Invece che startx
, ovviamente, puoi sostituire un qualsiasi programma o script che vuoi eseguire.
Ora puoi scegliere quale window manager avviare editando ~/.xinitrc
.
Un'altra possibilità è inserire startxfce4
in /etc/rc.local
, oppure inserire xinit
in /etc/rc.local
mettendo in /.xinitrc
icewm
e copiando ~/.icewm
in /.icewm
(icwm è preso per esempio). C'è però da sottolineare che così sia X che xfce (o il WM/DE che hai scelto) saranno avviati come amministratore, cosa che generalmente non è raccomandata. Naturalmente potresti usare lo stesso procedimento di cui sopra ed avviare il tuo desktop con un /bin/su
.