[ Skin ] Personnaliser Debian avant l'arret

Bonjour à tous, je poste ici aujourd’hui parce que je pense avoir trouver quelque chose de bien :stuck_out_tongue:
L’astuce que je poste vous permettra d’obtenir quelque chose comme ça lors de l’arret de votre Debian :

Bon, pour ce qui ne connaissent pas, voila comment on fait :

D’abord, il faut récupérer les fichiers nécessaires ( un script python programmé par un certain Veka,
donc pas de moi, et les images qui vont avec, le tout dans un zip ) ici :

http://veka-server.dyndns.org/test/images/Script-quitter.zip

cd /home/$USER && wget http://veka-server.dyndns.org/test/images/Script-quitter.zip

A partir de maintenant je pars du principe que le fichier que vous venez de télécharger ( Script-quitter.zip )
se trouve dans /Home/$USER.

------------------------------ MANIP ----------------------------------

Tout d’abord, on créer un dossier caché pour faire “propre” :

mkdir ~/.shutdown

Puis on place l’archive à l’intérieur :

mv ~/Script-quitter.zip ~/.shutdown

On dézip le fichier :

cd ~/.shutdown && unzip Script-quitter.zip

Et on supprime l’archive :

rm ~/.shutdown/Script-quitter.zip

On se place maintenant à l’intérieur du dossier extrait :

cd ~/.shutdown/Script-quitter

On copie le tout au bon endroit et on supprime ainsi le dossier vide :

cp * ~/.shutdown && rm -rf ~/.shutdown/Script-quitter

Maintenant il faut éditer le script principal :

nano ~/.shutdown/ob_logout

Et on modifie tout ça :

[code]#!/usr/bin/python

import gtk, os

####################################################

PARTIE A MODIFIER

####################################################

Lien vers le fond d’ecran

IMG_FILE = ‘/home/veka/.FOND/bg.jpg’

Commande pour se deconnecter

CMD_LOGOUT = ‘openbox --exit’

Commande pour reboot

CMD_REBOOT = ‘sudo shutdown -r now’

Commande pour etteindre l’ordinateur

CMD_SHUTDOWN = ‘sudo shutdown -h now’[/code]

Par quelque chose comme ça :

[code]#!/usr/bin/python

import gtk
import os

####################################################

PARTIE A MODIFIER

####################################################

Lien vers le fond d’ecran

IMG_FILE = ‘/home/$USER/Images/SLIM.jpg’

Commande pour se deconnecter

CMD_LOGOUT = ‘logout’

Commande pour reboot

CMD_REBOOT = ‘dbus-send --system --print-reply --dest=“org.freedesktop.Hal” /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Reboot’

Commande pour etteindre l’ordinateur

CMD_SHUTDOWN = ‘dbus-send --system --print-reply --dest=“org.freedesktop.Hal” /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown’[/code]

Histoire de pouvoir éteindre ou redémarrer sans permission

( Si il vous faut les permissions quand même, rajouter cette ligne à la fin
du fichier /etc/sudoers :

%users  ALL=NOPASSWD: /sbin/shutdown

)

De même, si les commandes pour le reboot ou pour éteindre ne marchent pas, vous pouvez les remplaçer à votre guise :

REDEMARRER :

reboot
shutdown -r now

ETEINDRE :

halt
shutdown -h now

Pour finir, vous pouvez créer un lançeur pointant vers le script ob_logout (/home/$USER/.shutdown/ob_logout) :stuck_out_tongue:

Le script est initialement conçu pour OpenBox, mais il est adaptable à Gnome ou KDE

Enjoy :stuck_out_tongue:

[ EDIT ] J’ai modifier ce post plusieurs fois pour corriger certaines erreurs,
si quelque chose ne marche pas, dites le :033

pas encore testé mais bravo pour le script et le partage :023

Ho, je l’ai dit mais le script original n’est pas de moi, c’est de la retouche que je fais :laughing:
En tout cas merci :mrgreen:

J’avais personnalisé le même script pour openbox et fluxbox, il est possible de changer l’apparence des boutons pour coller avec ton thème d’icônes !

Faudra me dire comment, je ne connais pas python ! :stuck_out_tongue:

Sinon, j’ai fait un clone de ce script python en Perl, qui lui s’occupe de la mise en veille normale et de
l’hibernation.

un screen :

Il a besoin de Feh et du module perl TK pour fonctionner :

Pour Feh :

Pour Tk :

cd /tmp wget http://search.cpan.org/CPAN/authors/id/S/SR/SREZIC/Tk-804.029.tar.gz tar xvf Tk-804.029.tar.gz cd Tk* Perl Makefile.PL make su: MDP make install

J’ai heberger le script avec les images dans un tar.gz sur megaupload, ici :

http://www.megaupload.com/?d=BXFDX3ZO

J’avoue qu’il n’est pas du niveau du script python ci dessus, mais il s’aquitte plutôt bien de sa tâche :stuck_out_tongue:

Bon, là pareil, il faut laisser les images dans le dossier du script, et éditer ce même script pour changer
le background :

[code]#! /usr/bin/perl -w

Clone d’Ob_logout, ne supportant que la veille ( normale et prolongée )

#_____________________________________________________________________________________#

use strict;
use warnings;
use Tk;
use Tk::Photo;
use Tk::PNG;

#---- CHOISIR LE BACKGROUND -----#

my $background = system “feh -F /home/VOUS/Images/SLIM.jpg&”;

#---- NE PAS EDITER ----#

#---------------------

Centre la fenêtre

#---------------------

sleep(1);

sub CentrerWidget {

unless ( scalar(@) == 1 ) {
die(‘Usage : CentrerWidget( $MainWidget );’);
}
my ( $mycent ) = @
;

my $LargeurEcran = $mycent->screenwidth();
my $HauteurEcran = $mycent->screenheight();

$mycent->update;
my $LargeurWidget = $mycent->width;
my $HauteurWidget = $mycent->height;

my $NouvelleLargeur = int( ( $LargeurEcran - $LargeurWidget ) / 2 );
my $NouvelleHauteur = int( ( $HauteurEcran - $HauteurWidget ) / 2 );
$mycent->geometry($LargeurWidget . “x” . $HauteurWidget
. “+$NouvelleLargeur+$NouvelleHauteur”);

$mycent->update;

return;

}

my $mycent = new MainWindow(
-title => “Veille”,
-background => “black”,
);

$mycent->overrideredirect(1); # Aucune décoration

my $MainWindowIcon = $mycent->Photo( -format => “png”, -file => “./vnormale.png” );
$mycent->iconimage($MainWindowIcon);

$mycent->geometry(“400x150+70+70”);
$mycent->resizable(0,0);

my $button1 = $mycent->Photo( -format => “png”, -file => “./vnormale.png” );

my $buttonvn = $mycent -> Button (
-image => $button1,
-command => sub { killall feh&; /etc/acpi/sleep.sh; exit; },
)->pack(-side => ‘right’);

my $button2 = $mycent->Photo( -format => “png”, -file => “./vprolonge.png” );

my $buttonvp = $mycent -> Button (
-image => $button2,
-command => sub { killall feh&; s2disk --force; exit; },
)->pack(-side => ‘right’);

my $button3 = $mycent->Photo( -format => “png”, -file => “./return.png” );

my $buttonr = $mycent -> Button (
-image => $button3,
-command => sub { killall feh; exit; },
)->pack(-side => ‘right’);

CentrerWidget($mycent);

MainLoop;[/code]

le background se regle ici :

ATTENTION: Ne pas enlever le ‘&’ qui permet de lançer Feh en arrière plan sans entraver l’execution
du script !

Avec ça ça devrait aller je pense ( Eteindre / Redemarrer / Se deconnecter / Mettre en veille / Hiberner ) on a rien oublier ? :stuck_out_tongue: :stuck_out_tongue:

Bon, toutes les remarques sont bonnes à prendre
( faut dire je ne m’y suis pas vraiment pencher plus que ça donc …)

Et je rajoute même, toutes les idées d’amélioration esthétiques et / ou “programmiques” sont bonnes à prendre !

@ +

PS: Pour créer un éventuel lançeur la commande est de la forme :

Il suffit de remplacer les images des boutons par les images que tu veux, au même format (png) et aux mêmes dimensions.
J’utilisais les icônes du thème que je voulais, je les modifiais sous gimp pour que ça soit au bon format et dimensions, puis je renommais les anciennes icônes à remplacer et je copiais et renommais les nouvelles icônes dans le dossier du script.

Ha okay, je croyais que tu parlais de changer directement la forme des boutons dans le script :stuck_out_tongue: