Réveiller son Ubuntu à partir d’un périphérique USB

J’ai maintenant l’habitude de mettre le PC en veille plutôt que de l’éteindre, et de le “réveiller” d’un simple appui sur une touche du clavier. C’est d’abord beaucoup plus rapide qu’un redémarrage, et l’on retrouve tout son environnement tel qu’il était au moment de la mise en veille.

Sauf que… cela fait deux fois que suite à des mises à jour d’Ubuntu, je perds cette fonctionnalité : l’appui d’une touche clavier ne réveille plus le PC, il faut que je me baisse pour appuyer sur le bouton ON/OFF. Rien de pire que la perte d’un truc très pratique !

Après quelques recherches sur internet, je suis d’abord tombé sur cette page d’AskUbuntu : Wake up from suspend using wireless usb keyboard or mouse (for any linux distro). J’ai effectué les deux manips, et cela a fonctionné jusqu’à il y a quelques jours : retour au bouton ON/OFF !

Nouvelle recherche, et cette fois je suis tombé sur une manipulation plus complète, et qui a fonctionné : Ubuntu – Resume your computer from any USB device (keyboard, mouse, remote, …). La page étant en anglais, je vais résumer sans entrer dans les détails les actions qu’il faut faire.

Côté système, j’utilise Ubuntu 16.04. Je n’ai pas eu besoin d’installer le paquet “zenity”, mais au cas où il n’est pas installé, taper la commande suivante :

sudo apt-get install zenity

Il faut aussi mettre à jour la liste des vendeurs de périphériques USB et PCI :

sudo update-usbids

On va se connecter à www.linux-usb.org et récupérer la dernière liste disponible :

Puis deux scripts seront utilisés : le premier va vous lister vos périphériques USB et vous laisser choisir le ou lesquels vous désirez utiliser, puis créer la règle système (udev rule) ; il appelle ensuite le second script qui va configurer la chaîne de connexion du périphérique USB pour le “réveil”.

Je les ai mis à disposition ici : select-resume-devices et enable-wakeup. Il suffit de les enregistrer sur votre système, idéalement dans /usr/local/sbin, puis de leur donner le droit d’exécution :

sudo chmod +x /usr/local/sbin/select-resume-devices
sudo chmod +x /usr/local/sbin/enable-wakeup

Voilà, tout est prêt : il suffit de lancer le premier script, et la fenêtre suivante s’affiche, permettant de sélectionner le (ou les) périphérique de votre choix (pour moi, ce sera le clavier Logitech “Illuminated Keyboard”) :

script select-resume-devices

Enfin, pour rendre la règle opérationnelle, il faut soit redémarrer le PC, soit débrancher/rebrancher le (ou les) périphérique sélectionnés.

Et si la fonctionnalité disparaît à nouveau suite à une mise à jour, il faudra simplement relancer le script.

8 réflexions au sujet de « Réveiller son Ubuntu à partir d’un périphérique USB »

  1. Bonjour,

    Chez moi la boite de dialogue s’affiche correctement, mais ne semble pas sauvegarder la case cochée. Du coup le réveil via le clavier ou la souris usb ne fonctionne toujours pas. Je suis sous mint 18, cela peut il provenir de là?

    merci d’avance

  2. Tu veux dire que la case ne se coche pas ? Qu’est-ce qui te fait dire qu’elle n’est pas sauvegardée ?
    Est-ce que lances le script en mode “sudo” ?
    Que donne le fichier “/etc/udev/rules.d/90-hid-wakeup-enable.rules” une fois le script exécuté ?
    Chez moi, on voit bien le clavier sélectionné :

    > more /etc/udev/rules.d/90-hid-wakeup-enable.rules
    # udev rule for USB wake-up of selected devices
    #
    # Logitech, Inc. Illuminated Keyboard
    SUBSYSTEM==”usb”, ATTRS{idVendor}==”046d”, ATTRS{idProduct}==”c318″ RUN+=”/usr/local/sbin/enable-wakeup $env{DEVPATH}”

    N’oublie pas de redémarrer de suite le PC, c’est indispensable d’après ce que j’ai vu.

    1. Ce qui me fais dire qu’elle n’est pas sauvegardé c’est que lorsque je relance le script suite au redémarrage, la case n’est plus cochée .
      Je lance le script en sudo. (enfin tout du moins je pense le faire: dans un terminal, je fais sudo -s, puis ensuite je glisse le script dans le terminal et je valide, j’ai bon?)
      Le fichier « /etc/udev/rules.d/90-hid-wakeup-enable.rules » n’existe pas chez moi.

      1. C’est normal que la case ne soit pas cochée. Sinon, un simple ‘sudo’ suffit, mais ce ne doit pas être le problème. PAr contre, si le fichier n’est pas créé, ce n’est pas normal.
        Normalement, tu dois voir une notification s’afficher après, qui te dit :
        “Your USB devices are resume enabled.To finalize configuration you have to do one of these actions :
        – replug USB devices
        – reboot the computer”
        Est-ce que tu la vois ? Sinon, y-a-t-il un message d’erreur dans le terminal ?
        Tu peux aussi taper la commande “dmesg” dans le terminal après pour voir les derniers messages système.

  3. J’ai la notif, mais lorsque je redémarre: rien

    dans le terminal en mode user avec le script sur le bureau :
    herve@herve-System-Product-Name ~ $ ‘/home/herve/Bureau/select-resume-devices’
    Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
    /home/herve/Bureau/select-resume-devices: ligne 36: /etc/udev/rules.d/90-hid-wakeup-enable.rules: Permission non accordée
    /home/herve/Bureau/select-resume-devices: ligne 37: /etc/udev/rules.d/90-hid-wakeup-enable.rules: Permission non accordée
    /home/herve/Bureau/select-resume-devices: ligne 51: /etc/udev/rules.d/90-hid-wakeup-enable.rules: Permission non accordée
    /home/herve/Bureau/select-resume-devices: ligne 52: /etc/udev/rules.d/90-hid-wakeup-enable.rules: Permission non accordée
    herve@herve-System-Product-Name ~ $

    dans le terminal en mode sudo avec le fichier au bon endroit:
    Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

  4. hophop!
    Aucune explication logique, mais j’ai lancé le script via le terminal en sudo 2 fois de suite et le fichier c’est crée à l’emplacement etc/udev/rules.d/90-hid-wakeup-enable.rules
    du coup le réveil via le clavier fonctionne!
    Merci beaucoup pour ta disponibilité
    @ bientot

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *