# \[ Skin \] Personnaliser Debian avant l'arret

**URL:** <https://www.debian-fr.org/t/skin-personnaliser-debian-avant-larret/27907>\
**Category:** Trucs et Astuces\
**Created:** [Février 20, 2016, 11:03 UTC](https://www.debian-fr.org/t/skin-personnaliser-debian-avant-larret/27907 "2016-02-20T23:03:35Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Teral42](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/65b543/32.png) [@Teral42](https://www.debian-fr.org/u/Teral42)\
**Post date:** [Février 20, 2016, 11:03 UTC](https://www.debian-fr.org/t/skin-personnaliser-debian-avant-larret/27907/1 "2016-02-20T23:03:35Z")

</div>

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

[![](http://img811.imageshack.us/img811/1841/captureal.png)](http://img811.imageshack.us/i/captureal.png/)

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](http://veka-server.dyndns.org/test/images/Script-quitter.zip)

```auto
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” :

```auto
mkdir ~/.shutdown
```

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

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

On dézip le fichier :

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

Et on supprime l’archive :

```auto
rm ~/.shutdown/Script-quitter.zip
```

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

```auto
cd ~/.shutdown/Script-quitter
```

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

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

Maintenant il faut éditer le script principal :

```auto
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 :

```auto
%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 :

```auto
reboot
```

```auto
shutdown -r now
```

ETEINDRE :

```auto
halt
```

```auto
shutdown -h now
```

Pour finir, vous pouvez créer un lançeur pointant vers le script ob\_logout (/home/$USER/.shutdown/ob\_logout) 😛

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

Enjoy 😛

[EDIT] J’ai modifier ce post plusieurs fois pour corriger certaines erreurs,  
si quelque chose ne marche pas, dites le ![:033](https://www.debian-fr.org/uploads/default/original/1X/42cd8bd0447ecac24cdff1e26fa990a5c8442791.gif "petard")

---

<div class="post-metadata">

**Author:** ![artex](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/bb73d2/32.png) [@artex](https://www.debian-fr.org/u/artex)\
**Post date:** [Février 20, 2016, 11:03 UTC](https://www.debian-fr.org/t/skin-personnaliser-debian-avant-larret/27907/2 "2016-02-20T23:03:40Z")

</div>

pas encore testé mais bravo pour le script et le partage ![:023](https://www.debian-fr.org/uploads/default/original/1X/3c587556c0cc11389317c03a60788d77ceebd307.gif "OK")

---

<div class="post-metadata">

**Author:** ![Teral42](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/65b543/32.png) [@Teral42](https://www.debian-fr.org/u/Teral42)\
**Post date:** [Février 20, 2016, 11:03 UTC](https://www.debian-fr.org/t/skin-personnaliser-debian-avant-larret/27907/3 "2016-02-20T23:03:42Z")

</div>

Ho, je l’ai dit mais le script original n’est pas de moi, c’est de la retouche que je fais 😆  
En tout cas merci ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green")

---

<div class="post-metadata">

**Author:** ![The\_Koala\_Avenger](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/d2c977/32.png) [@The\_Koala\_Avenger](https://www.debian-fr.org/u/The_Koala_Avenger)\
**Post date:** [Février 20, 2016, 11:04 UTC](https://www.debian-fr.org/t/skin-personnaliser-debian-avant-larret/27907/4 "2016-02-20T23:04:56Z")

</div>

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 !

---

<div class="post-metadata">

**Author:** ![Teral42](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/65b543/32.png) [@Teral42](https://www.debian-fr.org/u/Teral42)\
**Post date:** [Février 20, 2016, 11:04 UTC](https://www.debian-fr.org/t/skin-personnaliser-debian-avant-larret/27907/5 "2016-02-20T23:04:58Z")

</div>

> [@](#):
>
> […] 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 ! 😛

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 :

[![](http://img5.imageshack.us/img5/2331/capturejw.png)](http://img5.imageshack.us/i/capturejw.png/)

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

Pour Feh :

```auto

```

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](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 😛

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 :

```auto

```

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 ? 😛 😛

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 :

```auto

```

---

<div class="post-metadata">

**Author:** ![The\_Koala\_Avenger](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/d2c977/32.png) [@The\_Koala\_Avenger](https://www.debian-fr.org/u/The_Koala_Avenger)\
**Post date:** [Février 20, 2016, 11:05 UTC](https://www.debian-fr.org/t/skin-personnaliser-debian-avant-larret/27907/6 "2016-02-20T23:05:56Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Teral42](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/65b543/32.png) [@Teral42](https://www.debian-fr.org/u/Teral42)\
**Post date:** [Février 20, 2016, 11:06 UTC](https://www.debian-fr.org/t/skin-personnaliser-debian-avant-larret/27907/7 "2016-02-20T23:06:05Z")

</div>

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