Archive for October, 2010

Impostare tema simile a Mint

Mint è una distribuzione basata su Ubuntu nella quale il tema di default tende prevalentemente al verde. Installare Mint solo per avere un tema verde forse è una soluzione un po’ drastica, ma nulla ci vieta però di impostare Xubuntu con un tema simile.

Come prima cosa scaricare GreenTea Theme for GNOME 2.x dal sito Gnome-Look, perché servirà come base di partenza: Gnome Look

Una volta scaricato editare con Gimp la seguente immagine:

gimp ./A+GreenTea/usr/share/backgrounds/greentea.jpg

e dal menu Immagine > Scala Immagine impostarne la risoluzione a 1365×1024, quindi dal menu Immagine > Dimensione Superficie impostare la risoluzione a 1280×1024, per farlo bisogna spezzare il legame proporzionale (cliccando sulla catena) e centrare il ritaglio con Centra.
Salvare l’immagine dando una compressione di 85, più che sufficiente per un desktop.

Da terminale copiare l’immagine con:

sudo mv ./A+GreenTea/usr/share/backgrounds/greentea.jpg /usr/share/xfce4/backdrops/

ed impostarla come sfondo del desktop.

Per quanto riguarda le icone installare il tema gnome-wise con:

sudo aptitude install gnome-wise-icon-theme

ed impostarlo come tema delle icone.

Infine per dare un tocco di verde ai menu finestra, basta editare il file di Albatross, tema di default di Xubuntu, con:

sudo nano /usr/share/themes/Albatross/gtk-2.0/gtkrc

qui la linea da modificare si trova verso l’inizio, basta impostare di selected_bg_color con il valore 97bd49 (il verde di Mint).
Ecco come deve risultare:

gtk_color_scheme = "fg_color:#202020\nbg_color:#EDEDED\nbase_color:#fff\ntext_color:#444\nselected_bg_color:#97bd49\nselected_fg_color:#333333\ntooltip_bg_color:#D6DCE4\ntooltip_fg_color:#222222"

salvare quindi il file, e reimpostare Albatross come tema per vedere l’effetto.

Con questo il tema di Xubuntu è simile a quello di Mint, ma si possono aggiungere ancora un paio di accortezze, prima di tutto se si usa Compiz-fusion consiglio anche di installare Emerald per gestirne i temi. In questo modo possiamo applicare il seguente tema (guarda caso di nome Albatross): Albatross simple

una volta scaricato, impostarlo è molto semplice, basta usare il menu Emerald presente in Fusion-icon (se non c’è il menu Emerald in Fusion-icon allora bisogna riavviarlo).

Inoltre per impostare lo sfondo del login GDM come quello del desktop, è possibile usare un pacchetto chiamato ubuntu-tweak per impostarlo andare al link: Ubuntu Tweak

Copia ricorsiva

Ad esempio se si vuole copiare in un’unica cartella Immagini tutti file chiamati screen*.jpg sparsi in varie sottocartelle, si può usare il solo comando find come segue:

find . -name screen*.jpg -exec cp '{}' ~/Immagini/ \;

Script on/off programma

Questo script spegne amule nel caso in cui si accenda un computer con un ip che va dal 192.168.1.10 al 192.168.1.20 e riavvia amule quando nessun computer è presente in tale intervallo.

#!/bin/bash

ipmon="192.168.1.10 192.168.1.20"
timer=60

trap bashtrap SIGINT
bashtrap()
{
	clear
	echo ""
	echo " * Kill amule client @" $(date)
	sudo blockcontrol stop
	echo ""
	amulecmd --command=shutdown -q
	sleep 10
	exit
}

clear
echo ""
echo "Mule Control 1.1 (use CTRL+C to kill process)"
echo ""
echo " * Start amule client @" $(date)
sudo blockcontrol start
echo ""
amule > /dev/null &

while sleep $timer
do
        pingalive=$(fping -a -g $ipmon 2> /dev/null)
        pidamule=$(ps aux | grep [a]mule)
        if [[ -n $pingalive && -n $pidamule ]]
        then
		clear
		echo ""
                echo " * Ping warning " $(echo $pingalive) " @" $(date)
                echo ""
                amulecmd --command=shutdown -q
        elif [[ -z $pingalive && -z $pidamule ]]
        then
		clear
		echo ""
                echo " * Ping free @" $(date)
                echo ""
                amule > /dev/null &
        fi
done

In caso manchi, installare il pacchetto di ping multiplo con il solito:

sudo aptitude install fping

Rimuove la richiesata password di sudo

Ci sono programmi che necessitano di essere eseguiti con i privilegi di root. Per lanciarli da utente normale di solito si usa il comando sudo con:

sudo comando

In questo modo sudo esegue il comando come fosse root. Per farlo però richiede la password dell’utente sudoers (l’utente principale) e questa cosa non è possibile passarla all’interno di uno script. Per risolvere la cosa dobbiamo escludere il programma dalla richiesta password di sudo nel seguente modo:
Editare il file /est/sudoers con:

sudo visudo

e aggiungere il programma come riportato in seguito alla fine del file:

%admin ALL=NOPASSWD: /sbin/reboot

In questo modo potremo digitare sudo reboot senza che sudo richieda la password. Perciò possiamo anche inserire il comando in uno script eseguibile da utente normale.

Notificare il cambiamento di una cartella

L’alternativa a fare un aggiorna perenne per vedere se un file cambia all’interno del nostro sistema, è data da un programma semplice di nome dnotify. Questo programma monitora una cartella e nel caso qualcosa cambiasse al suo interno, esegue un comando.
Usarlo è molto semplice, baste scrivere la cartella, il tipo di cambiamenti che vogliamo monitorare, e il comando da eseguire una volta che il cambiamento avviene. In questo caso usando gxmessage per far comparire una finestra di notifica.

dnotify -a ./ -e gxmessage -center "Something change at " $(date +%T)