3 aprile 2014

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.

Nessun commento:

Posta un commento

Licenza
Licenza Creative Commons

Quest' opera è distribuita con licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate 3.0 Unported. Questo blog non rappresenta una testata giornalistica, in quanto viene aggiornato senza alcuna periodicità. Non può, pertanto, considerarsi un prodotto editoriale, ai sensi della legge n. 62 del 7/03/2001

Disclaimer immagini

Le immagini utilizzate in questo blog appartengono ai loro rispettivi autori e sono utilizzati per scopi educativi, personali e senza scopo di lucro. Ogni eventuale violazione del copyright non è intenzionale, ma se si riconosce un'immagine protetta da copyright, fatemelo sapere qui, e sarò lieto di aggiungere i credits o modificarla o rimuoverla.

Disclaimer images

Images used on this blog belong to their respective authors and are used for educational, personal and no profit purposes. Any eventual copyright infringement is not intentional, but if you recognize a copyrighted image, please let me know here, and I'll happily provide to add the right credits or modify or remove it.