Bach #1: eliminiamo il desktop manager
Inizia una nuova rubrica su Marco’s Box, chiamata BACH.
Acronimo di Broken Arch Configuration Hacking, è il tentativo di creare una rubrica arch centrica per insegnare alcuni trucchi o, perchè no, redarre vere e proprie guide per migliorare l’esperienza dell’utente in Arch Linux, mantenendo comunque un approccio KISS tipico della distribuzione.
Ovviamente non si tratterà necessariamente di cose che funzionano esclusivamente su questa distro, ma potrebbero essere adattabili: è il caso di questo primo appuntamento.
In questo primo episodio vedremo come avviare direttamente la nostra Archbox nel nostro ambiente preferito, evitando i desktop manager.
D’altronde, se usiamo un solo DE, abbiamo un solo utente e non necessitiamo di feature particolari (es: sui desktop il lockscreen difficilmente serve) possiamo evitare un servizio in più all’avvio. Per quanto possa prendere poco tempo, prende tempo, e abbiamo più codice in esecuzione.
Per assolvere questo compito dovremo mettere mano a tre file.
Partiamo dal file principale, il non plus ultra della configurazione, la nostra distribuzione come init system fornisce systemd, e sfrutteremo una delle sue possibilità: i drop in files. Altro non sono che dei file di configurazione che vanno ad aggiungere o a modificare funzioni di una unit di systemd.
Per fare ciò, dobbiamo creare la cartella che conterrà il nostro file di configurazione:
# mkdir /etc/systemd/system/getty@tty1.service.d
Adesso andremo a creare il file di configurazione che ci interessa, e ad inserire il testo necessario:
# nano /etc/systemd/system/getty@tty1.service.d/autologin.conf
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty –autologin nomeutente –noclear %I 38400 linux
Ovviamente al posto di nomeutente inserite il nome dell’utente. Ciò ci permetterà di fare il login automatico al nostro utente, senza inserire password.
Adesso dovremmo andare a modificare due file dell’utente, che quindi si troveranno nella nostra home, uno servirà per dare delle direttive a bash (appena ci logghiamo viene lanciata come shell di default) e al server grafico X.
Qundi andiamo a modificare il file ~/.bash_profile inserendo in fondo:
$ nano ~/.bash_profile
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
Se non avete il file vi basterà dare:
$ cp /etc/skel/bash_profile ~
Abbiamo l’autologin e l’avvio automativo di X. Cosa ci manca?
Ci manca solo dire ad X quale sessione deve avviare.
Per farlo metteremo mano al nostro ultimo file, cioè ~/.xinitrc.
In molti casi non aggiungeremo nulla, ma andremo a scommentare la lina corrispondente alla sessione del nostro desktop, se manca andremo ad aggiungerla. Poco sotto lascio un esempio di alcune sessioni:
exec gnome-session # per avviare Gnome
exec startxfce4 # per avviare XFCE
exec startkde # per avviare KDE
exec openbox-session # per avviare Openbox
exec icewm # per avviare IceWM
In questa guida non ho affrontato alcune cose come il login in una console virtuale differente da tty1 o l’avvio in una console seriale. Ad esempio.
È una cosa voluta, vorrei andare a coprire solo lo scenario d’uso più comune.
PS: ogni suggerimento per un nome figherrimo è ben accetto. Questo è da considerarsi pseudo temporaneo.