La première chose à faire, c'est de sauvegarder ce script dans un fichier texte quelque part sur son disque.
Code : Tout sélectionner
echo -n "Que voulez-vous faire ? Appuyez sur la touche correspondante\n"
echo -n "e : Éteindre\n"
echo -n "r : Redémarrer\n"
echo -n "v : Mettre en veille\n"
echo -n "h : Hiberner\n"
echo -n "Appuyez sur une autre touche pour annuler.\n"
stty -echo raw
c=$(dd bs=1 count=1 2>/dev/null )
stty echo -raw
if [ $c = e ]
then
echo "Extinction..."
dbus-send --system --print-reply --system --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
elif [ $c = r ]
then
echo "Redémarrage..."
dbus-send --system --print-reply --system --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart
elif [ $c = v ]
then
echo "Veille..."
dbus-send --system --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
elif [ $c = h ]
then
echo "Hibernation..."
dbus-send --system --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Hibernate
fi
echo
Ensuite, on va créer un lanceur dans le tableau de bord de MATE. Faites un clic droit dans le panneau à l'endroit où vous voulez placer le lanceur et cliquez sur "Ajouter au tableau de bord". Sélectionnez "Créer un lanceur d'application personnalisé". Dans la fenêtre qui s'ouvre, renseignez les champs comme ceci :
Type : Application dans un terminal
Nom : Extinction
Commande : /home/user/scripts_perso/lanceur_eteindre
Commentaire : Éteindre l'ordinateur
Vous pouvez choisir une icône qui vous convient pour ce lanceur. Une fois ceci fait, essayez votre lanceur. Cliquez dessus... Crotte de bique, ça ne marche pas... Un message d'erreur vous informe que xterm n'est pas installé. Qu'à cela ne tienne, on va l'installer. Installez-le via le gestionnaire de logiciels ou via la commande
Code : Tout sélectionner
sudo apt-get install xterm
Pistes d'améliorations :
- xterm : Ce n'est pas très propre d'installer xterm alors qu'on dispose déjà d'un émulateur de terminal (mate-terminal sur Linux Mint MATE). Je suppose qu'il doit y avoir une solution pour que l'option "lancer dans un terminal" du tableau de bord MATE appelle mate-terminal et non pas xterm ? Une variable d'environnement à changer peut-être ?
- option déconnexion : J'aurais voulu pouvoir ajouter les options "déconnexion" et peut-être "changer d'utilisateur" dans ce script. On m'a conseillé la commande suivante pour déconnecter:
Code : Tout sélectionner
dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.Logout uint32:1
Code : Tout sélectionner
dbus-send --session --type=method_call --print-reply --dest=org.mate.SessionManager /org/mate/SessionManager org.mate.SessionManager.Logout uint32:1
Testé dans Linux Mint MATE 17.1 32 bits.
--
Kazlu