Vous n'êtes pas identifié(e).

#1 2011-08-17 15:03:03

Aruhuno
codeur fou
Lieu : Claye-Souilly (77)
Inscription : 2010-10-26
Messages : 199
Site Web

[OpenBox] La mise en veille

Introduction

Que Crunchbang soit une très bonne distribution, personne n'en doute, mais il y a pas mal de chose à faire pour la rendre à son gout... Alors voilà ce qui me manquait, un moyen d'éteindre mon ordinateur et retrouver tout ce que j'avais de laisser ouvert quand je le rallume...

Deux méthodes sont possible : la mise en hibernation ou la mise en suspension. L'hibernation stock la session sur le disque et que lorsqu'on rallume la machine, c'est un démarrage classique qui se fait. La suspension elle, stock en RAM la sessions et le démarrage se fait très rapidement (1s ?). Le problème, c'est que la RAM doit resté alimenté, ce qui veut dire que l'alimentation de votre ordinateur continue à tourner, pas terrible pour un ordinateur portable...


Autoriser la suspension ou l'hibernation

Dans un premier temps, on va s'occuper de donner les droits à un utilisateur USER (à remplacer par le votre) d'utiliser les scripts permettant de suspendre ou d'hiberner.

sudo VISUAL=/usr/bin/gedit visudo

- Suspendre
En fin de fichier qui vient de s'ouvrir devant vous, vous devez ajouter ceci (pensez à changer USER par le votre!) :

USER ALL=NOPASSWD:/usr/sbin/pm-suspend

- Hiberner
C'est pareil mais avec la ligne (vous pouvez mettre les deux ligne...) :

USER ALL=NOPASSWD:/usr/sbin/pm-hibernate

- Les deux
En fait il suffit d'ajouter les deux lignes l'une en dessous de l'autre...

USER ALL=NOPASSWD:/usr/sbin/pm-suspend
USER ALL=NOPASSWD:/usr/sbin/pm-hibernate
Ajouter la suspension à la fenêtre de déconnexion de Crunchbang

- Suspendre

wget http://etutos.free.fr/crunchbang/%5bOpenBox%5d.La.mise.en.veille/suspendre
sudo mv /usr/bin/openbox-logout /usr/bin/openbox-logout.bak
sudo mv suspendre /usr/bin/openbox-logout

- Hiberner

wget http://etutos.free.fr/crunchbang/%5bOpenBox%5d.La.mise.en.veille/hiberner
sudo mv /usr/bin/openbox-logout /usr/bin/openbox-logout.bak
sudo mv hiberner /usr/bin/openbox-logout

- Les deux

wget http://etutos.free.fr/crunchbang/%5bOpenBox%5d.La.mise.en.veille/les_deux
sudo mv /usr/bin/openbox-logout /usr/bin/openbox-logout.bak
sudo mv les_deux /usr/bin/openbox-logout
Conclusion

Maintenant lorsque vous cliquez droit sur votre bureau et choisissez déconnexion, vous avez des boutons de suspension et/ou d'hibernation selon votre choix au dessus.

Voilà ce que ça donne dans mon cas :
suspendre.png

Personnellement je n'utilise plus openbox-logout qui me sert à rien, donc j'ai directement mis la commande dans le menu :
- Suspendre

sudo /usr/sbin/pm-suspend

- Hiberner

sudo /usr/sbin/pm-hibernate

Voilà, si y'a des problèmes, n'hésitez pas !

Dernière modification par Aruhuno (2011-10-05 09:21:55)


"Parce que la connaissance appartient à tout le monde...", Inios

Hors ligne

#2 2011-11-04 17:03:08

Hermine
#!eur
Lieu : Libre
Inscription : 2011-11-03
Messages : 228

Re : [OpenBox] La mise en veille

Salut, depuis que j'ai suivis le tuto, je ne peux plus quitter #! ...
Comment je fais pour remettre par défault ?


- Mr@Hermine:~$ sudo remaketheworld
  remaketheworld : what the facke ? -
Tous pour l'Union Libre : La Philiation
La nouvelle série littéraire en live qui déchire : Smile of Darkness

Hors ligne

#3 2011-11-04 17:41:58

znk
Stratège en frite
Inscription : 2010-12-27
Messages : 1 126

Re : [OpenBox] La mise en veille

Heureusement qu'Aruhuno avait anticipé !

Tu lances cette commande, ça va t'ouvrir un fichier avec gedit:

sudo VISUAL=/usr/bin/gedit visudo

Tu enlèves tout ça du fichier:

USER ALL=NOPASSWD:/usr/sbin/pm-suspend
USER ALL=NOPASSWD:/usr/sbin/pm-hibernate

Et tu copies à partir de la sauvegarde (fichier renommé .bak).

sudo cp /usr/bin/openbox-logout.bak /usr/bin/openbox-logout

Dernière modification par znk (2011-11-04 17:45:09)

Hors ligne

#4 2011-11-04 18:00:09

Hermine
#!eur
Lieu : Libre
Inscription : 2011-11-03
Messages : 228

Re : [OpenBox] La mise en veille

Merci pour la tentative mais nada, ca ne fonctionne toujours pas, impossible de quitter depuis le menu openbox (je suis obliger de taper poweroff dans un terminal)
Voici ce que j'ai dans le fichier après ta manip' :

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults    env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL) ALL

# Allow members of group sudo to execute any command
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL
#
#includedir /etc/sudoers.d

Pour info, mon fichier /usr/bin/openbox-logout.bak est le même que /usr/bin/openbox-logout : ils comprennent tous les deux les fonctions senpend et hibernate dans le script ... Où est le script initial ?

>

#!/usr/bin/env python

import pygtk
pygtk.require('2.0')
import gtk
import os

class DoTheLogOut:

    # Cancel/exit
    def delete_event(self, widget, event, data=None):
        gtk.main_quit()
        return False

    # Logout
    def logout(self, widget):
        os.system("openbox --exit")

    # Reboot
    def reboot(self, widget):
        os.system("gdm-control --reboot && openbox --exit")
        
    # Suspend
    def suspend(self, widget):
        os.system("killall python && sudo /usr/sbin/pm-suspend")
        
    # Hibernate
    def hibernate(self, widget):
        os.system("killall python && sudo /usr/sbin/pm-hibernate")

    # Shutdown
    def shutdown(self, widget):
        os.system("gdm-control --shutdown && openbox --exit")

    def __init__(self):
        # Create a new window
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_title("Quitter? Choisir une option:")
        self.window.set_resizable(False)
        self.window.set_position(1)
        self.window.connect("delete_event", self.delete_event)
        self.window.set_border_width(20)

        # Create a box to pack widgets into
        self.box1 = gtk.HBox(False, 0)
        self.window.add(self.box1)

        # Create cancel button
        self.button1 = gtk.Button("_Annuler")
        self.button1.set_border_width(10)
        self.button1.connect("clicked", self.delete_event, "En fait non... :)")
        self.box1.pack_start(self.button1, True, True, 0)
        self.button1.show()

        # Create logout button
        self.button2 = gtk.Button("_Deconnexion")
        self.button2.set_border_width(10)
        self.button2.connect("clicked", self.logout)
        self.box1.pack_start(self.button2, True, True, 0)
        self.button2.show()

        # Create reboot button
        self.button3 = gtk.Button("_Redemarrer")
        self.button3.set_border_width(10)
        self.button3.connect("clicked", self.reboot)
        self.box1.pack_start(self.button3, True, True, 0)
        self.button3.show()
        
        # Create suspend button
        self.button4 = gtk.Button("_Suspendre")
        self.button4.set_border_width(10)
        self.button4.connect("clicked", self.suspend)
        self.box1.pack_start(self.button4, True, True, 0)
        self.button4.show()
        
        # Create hibernate button
        self.button5 = gtk.Button("_Hiberner")
        self.button5.set_border_width(10)
        self.button5.connect("clicked", self.hibernate)
        self.box1.pack_start(self.button5, True, True, 0)
        self.button5.show()

        # Create shutdown button
        self.button6 = gtk.Button("_Eteindre")
        self.button6.set_border_width(10)
        self.button6.connect("clicked", self.shutdown)
        self.box1.pack_start(self.button6, True, True, 0)
        self.button6.show()

        self.box1.show()
        self.window.show()

def main():
    gtk.main()

if __name__ == "__main__":
    gogogo = DoTheLogOut()
    main()

Dernière modification par Hermine (2011-11-04 18:22:26)


- Mr@Hermine:~$ sudo remaketheworld
  remaketheworld : what the facke ? -
Tous pour l'Union Libre : La Philiation
La nouvelle série littéraire en live qui déchire : Smile of Darkness

Hors ligne

#5 2011-11-04 18:43:40

IceF0x
#! gourou Linux
Lieu : /dev/null
Inscription : 2011-03-08
Messages : 651

Re : [OpenBox] La mise en veille

Le second fichier marche nickel chez moi, à mon avis le souci est ailleurs

À mon avis c'est dans le menu d'application qu'il y a un souci.

Hors ligne

#6 2011-11-04 18:49:23

znk
Stratège en frite
Inscription : 2010-12-27
Messages : 1 126

Re : [OpenBox] La mise en veille

Ou les droits ?

Hors ligne

#7 2011-11-05 14:48:11

Hermine
#!eur
Lieu : Libre
Inscription : 2011-11-03
Messages : 228

Re : [OpenBox] La mise en veille

Ouaip, merci pour l'indice j'ai été voir les permissions d'openbox-logout et la case "executer comme un programme" était décochée d'où le problème !
Maintenant tout est bon ! smile


- Mr@Hermine:~$ sudo remaketheworld
  remaketheworld : what the facke ? -
Tous pour l'Union Libre : La Philiation
La nouvelle série littéraire en live qui déchire : Smile of Darkness

Hors ligne

Pied de page des forums