Archive for the ‘Client’ Category

Immagine avatar su GDM

Nel caso in cui si voglia aggiungere la propria faccia all’utente durante il login di GDM, basta lasciare un file jpg di 96×96 pixel nella propria home, avendo solo l’accortezza di rinominarlo come

.face

Manager per connessioni ssh

Un semplice script per gestire le connessioni ssh di vari computer potrebbe essere il seguente:

#!/bin/bash
string=$(zenity --text "SSH Client:" --list --radiolist --hide-header --print-column ALL --hide-column 3 --width 0 --height 200 --column "check" --column "name" --column "command" \
FALSE Server1 "ssh root@192.168.1.1" \
FALSE Server2 "ssh root@192.168.1.2" \
FALSE Server3 "ssh root@192.168.1.3")
xfce4-terminal -T "SSH "$(echo $string | gawk -F"|" '{print $1}') -x $(echo $string | gawk -F"|" '{print $2}')

Ovviamente questo è solo un esempio perché il principio è applicabile a qualsiasi altro comando, basta sostituire “ssh root@192.168.1.1” con un altro comando.

Notifica mail con Zenity

Prendendo come base questo articolo è possibile creare la stessa cosa utilizzando Zenity invece che Gxmessage.
Al contrario di Gxmessage, Zenity è un programma che si presta molto di più all’uso di input/output tramite popup a video, fermo restando il fatto che come nel caso precedente, andremo ad usare lo script accoppiato al mailwatcher di xfce, per notificare l’arrivo di una mail ed in caso aprire Thunderbird.

L’utilizzo è abbastanza semplice, basta creare uno script come il seguente ed associarlo alla notifica del mailwatcher. Quando arriva un messaggio lo script si esegue e apre una popup, nella quale chiede se aprire il programma di posta o ignorare il messaggio.

#!/bin/bash
if [ ! $(ps ax | awk '/[z]enity/{print $1}') ]
	then
#	aplay /usr/share/sounds/purple/send.wav
	ledcontrol set c5n5 blink 10 1000
	zenity --question --title Message --ok-label Open --cancel-label Cancel --text "\nYou have new mail"
	if [ $? -eq 0 ]
		then
		if [ ! $(ps ax | awk '/[t]hunderbird/{print $1}') ]
			ledcontrol set c5n5 normal
			then
			sleep 0.1
			/usr/bin/thunderbird
			else
			wmctrl -R thunderbird
		fi
	fi
fi

Nello specifico questo script controlla che Zenity non sia già avviato, questo per evitare che apra una popup sopra ad un altra già presente. Una volta fatto questo controllo, nel caso venga aperta la popup, Zenity attende una risposta. Se si preme “cancel” la popup si chiude, mentre se si preme “open” lo script tenta di avviare Thunderbird. Nel caso in cui Thunderbird sia già aperto, semplicemente sposta il focus su di esso.

L’aggiunta del comando ledcontrol permette di far lampeggiare i LED della tastiera alla notifica di una nuova mail, per l’utilizzo di tale programma vedere l’articolo presente in questo blog.

Notifica mail con Gxmessage

Come prima cosa installare il pacchetto gxmessage, che permette di visualizzare messaggi in una finestra di X.
Lo script da usare è il seguente, e va impostato nella notifica di Mail Watcher in Xfce

#!/bin/bash
if [ ! $(ps ax | gawk '/[g]xmessage/{print $1}') ]
then
	gxmessage -buttons "Open Mail:1,GTK_STOCK_CANCEL:0" -name "Message" -geometry 10x10 -font "14" -bg "#EFEBE7" "You have new mail "
	if [ $? -eq 1 ]
		then
		if [ ! $(ps ax | gawk '/ [e]volution/{print $1}') ]
			then
			evolution
			else
			wmctrl -R evolution
		fi
	fi
fi

Mail Watcher, quando arriva una mail, esegue questo script.
Il primo if serve a vedere se gxmessage non è già in esecuzione (per una notifica precedente tipo). E’ da notare che usando [g]xmessage anziché gxmessage in

gawk, ps ax

non riconosce se stesso come processo, e quindi restituisce il pid se effettivamente gxmessage è in esecuzione.
Il secondo if imposta il comando da eseguire in caso la variabile “?” (riferita al bottone OK) ritorni il valore 1
Quindi esegue un controllo se evolution è già in esecuzione, se non lo è lo esegue, se è già aperto lo mette in primo piano con il comando:

wmctrl

che bisogna installare se non lo è già.

Di seguito la versione per Thunderbird:

#!/bin/bash
if [ ! $(ps ax | awk '/[g]xmessage/{print $1}') ]
        then
        aplay /usr/share/sounds/KDE_Beep_Beep.wav
        gxmessage -buttons "Open Mail:1,GTK_STOCK_CANCEL:0" -name "Message" -center -geometry 10x10 -font "14" -bg "#EFEBE7" "You have new mail"
        if [ $? -eq 1 ]
                then
                if [ ! $(ps ax | gawk '/[m]ozilla-thunderbird/{print $1}') ]
                        then
                        sleep 0.1
                        mozilla-thunderbird
                        else
                        wmctrl -R thunderbird
                fi
        fi
fi

Configurazione globale hotkey xfce

Nel caso in cui un hotkey sia riconosciuto, ma la funzione eseguita non corrisponda alle aspettative, è possibile modificare i settaggi di default nell’ambiente Xfce tramite il comando:

xfce4-settings-editor

Una volta aperta la finestra impostare le modifiche in xfce4-keyboard-shortcuts oppure nelle restanti voci se necessario.