Mentre la maggior parte dei moderni sistemi Linux utilizza un display manager per accedere agli utenti e avviare un ambiente desktop, è possibile avviare X11 e il tuo gestore di finestre/ambiente desktop preferito senza uno. Puoi avviare X da una console virtuale e persino configurarlo per l'avvio automatico all'accesso. Ecco come.
Passaggio 1: disabilitazione del display manager
I display manager sono stati originariamente progettati per connettere utenti remoti a un server centrale per eseguire applicazioni X. Gli utenti userebbero "terminali X", da non confondere con xterm, che erano terminali grafici progettati per l'uso con X11. Poiché la maggior parte dei PC moderni esegue sia il server X che le applicazioni sulla stessa macchina, è possibile disabilitarli.
Se hai un sistema che esegue systemd, come fanno la maggior parte delle distribuzioni Linux moderne, puoi farlo disabilita il tuo display manager all'avvio.
Per fare ciò, per prima cosa, scopri quale display manager stai utilizzando. Un indizio sarà quale ambiente desktop è stato installato per impostazione predefinita. Se usi GNOME, GDM sarà probabilmente il display manager. Se sei un utente KDE, molto probabilmente è KDM. Altrimenti, potrebbe essere XDM o LightDM.
Se non sei sicuro, un buon indizio è controllare i processi in esecuzione usando ps, top o htop. Cerca qualcosa nell'elenco che includa "-dm".
Quando sai quale display manager stai utilizzando, è facile disabilitarlo usando systemd. Basta usare il systemctl comando. Ecco un esempio per LightDM:
sudosystemctldisattivarelightdm.servizio
Riavvia e ti ritroverai in un file basato su testo consolle virtuale. Inserisci il tuo nome utente e password quando richiesto e puoi eseguire i comandi Linux nella tua shell come se avessi aperto una finestra di terminale. Lo utilizzerai per avviare il tuo desktop, ma prima dovrai configurare il tuo .xinitrc file.
Passaggio 2: configura il tuo file .xinitrc
Per avviare il tuo window manager o desktop, devi prima impostare il tuo file .xinitrc nella tua home directory. È facile farlo. Basta aprirlo con il tuo editor di testo preferito.
Ora che lo hai aperto, dovrai aggiungere almeno la riga che inizia il tuo ambiente preferito. Ecco un esempio per avviare XFCE:
esec startxfce4
È importante usare "exec" perché questo farà sì che il sistema ti disconnetta quando esci da XFCE.
Puoi anche avere tutti i programmi che vuoi eseguire quando avvii X nel tuo .xinitrc. Per esempio:
firefox &
xterm &
xcalc &
esec startxfce4
È importante aggiungere la "&" alla fine di tutti gli altri programmi che vengono eseguiti prima del gestore desktop/finestre. Questo li fa funzionare in background. Se non lo fai, il programma verrà eseguito e quindi non accadrà nulla a meno che non lo chiudi. Questo non avvierà nemmeno il tuo gestore di finestre. Il .xinitrc è in realtà solo uno script di shell e obbedisce alla sintassi della shell.
Passaggio 3: utilizzo di startx dalla riga di comando
Avviare il tuo gestore di finestre o ambiente desktop preferito è abbastanza semplice. Basta digitare "startx" nella riga di comando e, se hai configurato il tuo file .xinitrc, dovresti trovarlo in esecuzione proprio come se avessi effettuato l'accesso con un gestore di finestre.
Se vuoi avviare un gestore di finestre diverso da quello che hai impostato nel tuo .xinitrc, puoi semplicemente usare il percorso assoluto del gestore come argomento:
startx /percorso/a/finestra/manager
Passaggio 4: avvio automatico di X all'accesso
Puoi anche avviare X all'accesso senza un gestore di finestre. Puoi modificare i file di avvio della shell che vengono eseguiti solo quando utilizzi una shell di login. Su Bash, questo è .bash_login, e su Zsh, lo è .zprofile.
Basta aggiungere questa sequenza al file:
Se [-z "${VISUALIZZA}" ] && [ "$XDG_VNTR" eq 1]; Poi
esec startx
fi
Questo bit di codice shell controlla che la variabile d'ambiente $DISPLAY sia vuota (cosa che avverrà se X non è in esecuzione) e che tu abbia effettuato l'accesso alla console virtuale 1. Ciò significa che se X è già in esecuzione, un'altra copia di X non verrà generata. Inoltre, non si avvierà quando si avvia una shell in un emulatore di terminale, poiché eseguirà invece i file .bashrc o .zshrc.
Non hai bisogno di un display manager al login
Come per molte cose relative alle GUI su Linux, l'esecuzione di un display manager è strettamente facoltativa. Puoi avviare X dalla riga di comando e anche quando accedi automaticamente. Puoi eseguire Linux senza una GUI completamente se lo desideri.