Archive for the ‘Generico’ Category

Creare un DE con Flwm

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

Controllare i LED tastiera

Per controllare i LED della tastiera bisogna installare il seguente programma:

sudo aptitude install ledcontrol

Quindi editare il file:

sudo nano /usr/share/ledcontrol/startup.sh

e garantire i permessi di scrittura aggiungendo il seguente parametro nella seconda riga:

chgrp users /var/run/ledd-pipe

A questo punto per far lampeggiare i LED basta dare il comando:

ledcontrol set c5n5 blink 10 1000

mentre per tornare alla situazione normale usare:

ledcontrol set c5n5 normal

Altre impostazioni sono visibili con il comando:

man ledd

XSession dedicata ad un programma

Per creare un XSession aggiuntivo da poter scegliere al login di GDM creare un file tipo:

sudo nano /usr/share/xsessions/miox.desktop

al cui interno inserire tutti i datti delle sessione, ad esempio:

[Desktop Entry]
Name=MioX
Comment=Mio XSession
Exec=/home/utente/script.sh
X-Ubuntu-Gettext-Domain=gdm

si può notare che nel file di configurazione viene specificato uno script /home/utente/script.sh il quale contiene la lista di tutti i programmi in avvio automatico.

Alternativa all’uso di Control Alt Fn

Per cambiare la combinazione di tasti che permette il passaggio ad altre console, possiamo usare il comando:

xmodmap -e 'keycode 86 = XF86Switch_VT_1'

questo andrà ad aggiungersi alla combinazione già esistente Control + Alt + F1
Per trovare il codice del tasto si deve usare il comando:

xev

il quale una volta lanciato rimane in attesa, e alla pressione del tasto, ne comunica il codice, ad esempio in questo output:

KeyPress event, serial 34, synthetic NO, window 0x5000001,
    root 0x15a, subw 0x0, time 3625507, (162,-11), root:(713,403),
    state 0x10, keycode 86 (keysym 0xffab, KP_Add), same_screen YES,
    XLookupString gives 1 bytes: (2b) "+"
    XmbLookupString gives 1 bytes: (2b) "+"
    XFilterEvent returns: False

si legge molto bene la scritta “keycode 86”

Display X11 dedicato con xinit

Si potrebbe avere l’esigenza di far partire un programma in un altro display del server X11, per fare questo basta lanciare il seguente comando:

xinit -- :1

questo aprirà un terminale sul quale possiamo lanciare un programma dotato di interfaccia grafica. Per tornare al display X11 precedente, basta premere la combinazione Control + Alt + F7 e di nuovo Control + Alt + F8 per ritornare al display secondario.
Nel caso in cui si volesse lanciare un programma in automatico le vie percorribili sono due, o si lancia il programma direttamente da riga di comando con:

xinit /percorso/programma -- :1

oppure, nel caso di più comandi, è possibile creare un file di avvio come ad esempio display2.xinitrc contenente:

/percorso/programma1
/percorso/programma2

per poi salvarlo e lanciarlo con il comando:

xinit /percorso/display2.xinitrc -- :1