web-dev-qa-db-fra.com

Comment empêcher le mouvement de la souris de réveiller un ordinateur suspendu?

C'est vraiment énervant car je dois débrancher la souris après une suspension pour éviter qu'un choc occasionnel ne réveille le système. Je n'ai rien trouvé dans les paramètres du système qui pourrait le désactiver ni en googler.

29
user129498

Je n'ai pas encore vérifié le BIOS, mais j'ai trouvé une solution!

Résumé succinct: Dans /proc/acpi/wakeup, vous pouvez voir quels périphériques sont actuellement activés pour reprendre la suspension. Cette liste affiche les noms (abrégés) de ce qu'on appelle "Appareils". Exemple "PWRB" signifie "bouton d'alimentation".

Si vous écrivez des noms de périphérique dans ce fichier, vous les basculez entre activé et désactivé.

J'ai écrit n petit HowTo pour désactiver wakeup-by-mouse , basé sur un blog où j'ai trouvé cette information.

23
Rooker

Merci à toutes les affiches car le réveil de la souris est un inconvénient majeur et j’ai eu mes réponses ici. Je souhaite ajouter ma touche aux solutions car cela peut aider dans plus de cas. J'ai dû désactiver 3 éléments différents dans /proc/acpi/wakeup. Mes appareils: EHC1, EHC2, XHCI. Les 2 premiers sont usb2 et le 3ème une entrée usb3. Veuillez noter que bien que l’émetteur-récepteur USB de ma souris soit branché sur un port USB2 et que rien ne se trouve dans un port USB3, l’ordinateur se réactivera jusqu’à ce que la souris se déplace tous les 3 les articles sont désactivés.

$ cat /proc/acpi/wakeup | sort 
Device  S-state   Status   Sysfs node
EHC1      S3    *disabled  pci:0000:00:1d.0
EHC2      S3    *disabled  pci:0000:00:1a.0
GLAN      S4    *enabled   pci:0000:08:00.0
.. ,, ..
USB7      S3    *disabled
WLAN      S3    *disabled  pci:0000:03:00.0
XHCI      S3    *disabled  pci:0000:07:00.0

Pour que les éléments de réveil soient désactivés à chaque démarrage, vous pouvez ajouter quelque chose comme ceci à /etc/rc.local ..

echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHCI > /proc/acpi/wakeup

éditer par cipricus:

J'édite ceci parce que je devais ajouter plus de détails afin de pouvoir clôturer une question séparée comme duplicata de ce qui précède sur la base de cette réponse; Je pense que c'est plus utile que de poster une réponse séparée.

*** Tester quels éléments doivent être désactivés - comme indiqué ici - pour chacun des éléments qui ont été publiés sous le nom enabled sous cat /proc/acpi/wakeup | sort en exécutant dans le terminal chacune des commandes ci-dessous, puis en testant si la souris se réveille le système (sans nécessité de redémarrage):

Sudo sh -c "echo EHC1 > /proc/acpi/wakeup"
Sudo sh -c "echo EHC2 > /proc/acpi/wakeup"
Sudo sh -c "echo XHCI > /proc/acpi/wakeup"

(dans mon cas, le premier était suffisant même après des tests avec d'autres ports USB)

*** Si le fichier /etc/rc.local n'existe pas - d'après this post:

printf '%s\n' '#!/bin/bash' 'exit 0' | Sudo tee -a /etc/rc.local
Sudo chmod +x /etc/rc.local

Le fichier devrait ressembler à quelque chose comme:

#!/bin/bash
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHCI > /proc/acpi/wakeup

exit 0

Redémarrer.


Si cela ne fonctionne toujours pas, il se peut que le fichier /etc/systemd/system/rc-local.service soit manquant ou mal configuré.

Test avec

Sudo /etc/init.d/rc.local start

et

Sudo systemctl status rc-local

Après Comment activer /etc/rc.local avec Systemd :

Créez le fichier:

Sudo nano /etc/systemd/system/rc-local.service

Ajoutez ensuite le contenu suivant.

[Unit]
 Description=/etc/rc.local Compatibility
 ConditionPathExists=/etc/rc.local

[Service]
 Type=forking
 ExecStart=/etc/rc.local start
 TimeoutSec=0
 StandardOutput=tty
 RemainAfterExit=yes
 SysVStartPriority=99

[Install]
 WantedBy=multi-user.target

Enregistrez et fermez le fichier. Pour enregistrer un fichier dans l'éditeur de texte Nano, appuyez sur Ctrl + O, puis appuyez sur Entrée pour confirmer. Pour quitter le fichier, appuyez sur Ctrl + X.

Vérifiez que tout va bien, sans erreur avec:

Sudo systemctl start rc-local.service
Sudo systemctl status rc-local.service

Redémarrez pour voir les changements.

14
Randy Skretka

Mon système est Ubuntu 15.10

J'ai essayé d'utiliser la commande lsusb pour trouver le périphérique de la souris. C'est très simple, vous tapez lsusb, puis débranchez la souris (dans mon cas, il s'agit d'un récepteur Bluetooth) et vous saisissez à nouveau lsusb. L'appareil ressemble à ceci:

Bus 007 Device 008: ID 24ae:2000

Maintenant, trouvez-le dans le dossier /sys/bus/usb/devices/ en procédant de la même manière (débrancher/brancher). Dans mon cas, j’ai trouvé qu’ils sont quelque part dans les dossiers qui commencent par 7-2*.

Maintenant, essayez de lire idProduct et idVendor. Par exemple: cat /sys/bus/usb/devices/7-2.3/idProduct => 2000, cat /sys/bus/usb/devices/7-2.3/idVendor => 24ae. C'est tout.

Enfin, je crée un script dans le répertoire /lib/systemd/system-sleep, nommez-le comme vous voulez.

#! /bin/sh

if [ ! -r /sys/bus/usb/devices/7-2.3/power/wakeup ]; then
    exit 0
fi
case "$1" in
    pre )
    echo disabled > /sys/bus/usb/devices/7-2.3/power/wakeup
;;
esac

Terminé.

6
Minh Nguyen

ce script a résolu mon problème. Vérifiez-le.

    #!/bin/bash

# allow only one instance
r=$(pidof -x -o $$ ssmonoff.sh)
set -- $r
if [ "${#@}" -ge 1 ]; then
    echo "Script already running. Exit..."
    exit
fi

dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | ( while read line; do
    if echo $line | grep "boolean true" &> /dev/null; then
            xinput --set-prop "Dell Premium USB Optical Mouse" "Device Enabled" "0"
            xset dpms force off
    else
            xinput --set-prop "Dell Premium USB Optical Mouse" "Device Enabled" "1"
    fi
done )

Tout ce que vous avez à faire est tout d’abord d’exécuter Sudo xinput list, de rechercher le nom donné de votre souris USB et de le placer dans le script. Enregistrez ensuite le fichier sous le nom "ssmonoff.sh", rendez-le exécutable et configurez-le pour qu'il s'exécute au démarrage.

1
yurividal

Grande explication. J'ai simplement ajouté à rc.local la commande suivante

for d in `cat wakeup |grep enabled|grep -v PS2K|cut -b -4`; do echo $d >/proc/acpi/wakeup ; done

désactiver tous les appareils que PS2K (PS2 clavier) dès le réveil. Simple et fonctionnel!

1
MeS Fet

Il peut y avoir un moyen spécifique à votre matériel, auquel cas l'option peut être disponible via les paramètres BIOS de votre système.

Accéder au menu du BIOS pour modifier les paramètres est également spécifique au système. Habituellement, vous appuyez sur une touche juste après le redémarrage, et la touche à appuyer est souvent affichée à l'écran.

Cependant, la réponse de user138339 semble être un moyen plus général de réaliser ce dont vous avez besoin, et vous pouvez le faire à partir du système en cours d'exécution.

0
Robie Basak

Ceci est mon "tutoriel" étape par étape pour le faire fonctionner pour vous:

  1. Utilisez la commande cat /proc/acpi/wakeup pour afficher la liste des périphériques de réveil.
  2. Utilisez la commande Sudo sh -c "echo XXXX >/proc/acpi/wakeup" (remplacez "XXXX" par le code de votre appareil) pour changer l'état de l'appareil (activé/désactivé). Utilisez un périphérique à la fois et essayez de suspendre votre ordinateur et de le réactiver à l'aide du périphérique que vous souhaitez désactiver jusqu'à ce que le périphérique souhaité ne soit plus en mesure de le réactiver. N'oubliez pas de toujours activer les périphériques que vous ne souhaitez pas désactiver.
  3. Lorsque vous trouvez le bon périphérique, créez sur votre bureau le fichier "acpi_wakeup" contenant le code suivant: #!/bin/sh printf "XXXX" > /proc/acpi/wakeup (n'oubliez pas de remplacer "XXXX" par le code de votre appareil)
  4. Déplacez ou copiez le fichier dans le dossier /etc/init.d/. Pour copier le fichier, utilisez la commande suivante: Sudo cp /home/USERNAME/Desktop/acpi_wakeup /etc/init.d/acpi_wakeup (remplacez "USERNAME" par votre nom d'utilisateur actuel)
  5. Rendre le fichier exécutable: Sudo chmod 755 /etc/init.d/acpi_wakeup
  6. Ensuite, utilisez 'update-rc.d' pour créer automatiquement les liens symboliques requis dans d'autres répertoires: Sudo update-rc.d acpi_wakeup defaults (il affiche WARNING: ...missing LSB tags and overrides mais c'est OK. Vous n'avez pas à vous en préoccuper).
  7. Redémarrez votre ordinateur.

Sources et lectures complémentaires:

http://www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=7&t=1985http: // ubuntuforums .org/showthread.php? t = 814939 & page =

0
Juraj.Lorinc