Nel caso in cui volessimo creare un desktop environment personalizzato, dedicato solamente ad uno o più programmi, senza aver il peso delle restanti funzioni presenti in Xfce o Gnome, si deve creare un file .desktop che permette una scelta aggiuntiva all’interno del login manager (Gdm di solito). Per farlo, innanzitutto creare il suddetto file di avvio con:
sudo nano /usr/share/xsessions/my_xsession.desktop
e all’interno inserire quanto segue:
[Desktop Entry]
Name=My XSession
Comment=My personal XSession
Exec=/opt/xsession.sh
X-Ubuntu-Gettext-Domain=gdm
ovviamente “name” e “comment” sono personalizzabili, come lo script di avvio “exec” può essere posto in qualsivoglia punto del disco. Editare lo script exec, dove va inserito tutto quello che la sessione dovrà eseguire in automatico. Il contenuto potrebbe essere simile a questo:
#!/bin/bash
flwm -x &
WindowManager=$!
xclock -digital -strftime "%H:%M" -fg green -bg black -geometry -0+0 &
start-pulseaudio-x11 &
xbindkeys &
vlc &
wait $WindowManager
Nel file si fa riferimento a Flwm, ovvero fast light windows manager, serve ad avere un minimo di gestione delle finestre, evitando così le sovrapposizioni tra i vari programmi. Nonché permette di avere un semplice menu con cui in caso poter aprire applicazioni non inserite nell’avvio automatico. L’implementazione del menu Flwm è alquanto semplice, bisogna creare una cartella col comando:
mkdir ~/.wmx
e all’interno di questa inserire dei link simbolici facenti capo ai vari programmi. Il risultato si ottiene usando una serie di comandi tipo:
ln -s /usr/bin/xfce4-terminal ~/.wmx/1_Terminal
ln -s /usr/bin/pavucontrol ~/.wmx/2_Pavucontrol
ln -s /usr/bin/firefox ~/.wmx/3_Firefox
ln -s /usr/bin/thunderbird ~/.wmx/4_Thunderbird
Ultima nota è data all’impostazione dei tasti multimediali, in quanto questi non sempre vengono riconosciuti al di fuori dei DE più strutturati. Un modo semplice è associare i tasti a degli script con xbindkeys, in modo che alla pressione del tasto lo script venga eseguito. Si procede creando il file di configurazione con:
touch .xbindkeysrc
una volta fatto questo, bisogna trovare i codici dei tasti multimediali interessati. Per farlo bisogna uscire dal DE ed entrare in una console con control-alt-f1, qui eseguire il comando:
xbindkeys -k
se il tasto è riconosciuto, la risposta dovrebbe essere simile alla seguente:
"(Scheme function)"
m:0x0 + c:121
XF86AudioMute
ora basta inserire questo codice all’interno del file .xbindkeysrc, ovviamente cambiando la riga “(Scheme function)” con il comando relativo da lanciare. Infine quindi all’interno del file .xbindkeysrc avremo la corrispondenza di tutti i tasti, in un formato molto simile a questo:
"pavol !"
m:0x0 + c:121
XF86AudioMute
"pavol -"
m:0x0 + c:122
XF86AudioLowerVolume
"pavol +"
m:0x0 + c:123
XF86AudioRaiseVolume