C'est vraiment ennuyeux car je dois débrancher la souris après une suspension pour m'assurer qu'un choc occasionnel ne réveille pas le système. Je n'ai rien trouvé dans les paramètres du système qui pourrait désactiver cela, pas plus qu'en cherchant sur Google.
Réponses
Trop de publicités?Je n'ai pas encore vérifié le BIOS, mais j'ai trouvé une solution !
En bref : En /proc/acpi/wakeup
Vous pouvez voir quels sont les appareils qui sont actuellement autorisés à reprendre depuis la suspension. Cette liste indique les noms (abrégés) de ce que l'on appelle les "périphériques". Par exemple, "PWRB" signifie "bouton d'alimentation".
Si vous écrivez des noms de périphériques dans ce fichier, vous les activerez/désactiverez.
J'ai écrit un petit HowTo pour désactiver le réveil par la souris Le site web de la Commission européenne a été mis à jour, sur la base d'un blog où j'ai trouvé cette information.
Merci à tous les postulants car le réveil de la souris est un inconvénient majeur et j'ai trouvé mes réponses ici. Je souhaite ajouter mon grain de sel aux solutions, car cela pourrait aider dans d'autres cas. J'ai dû désactiver 3 éléments différents dans /proc/acpi/wakeup
. Mes appareils : EHC1, EHC2, XHCI
. Les deux premières sont des entrées usb2 et la troisiè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 soit branché sur un port usb3, l'ordinateur se réveillera lors des mouvements de la souris jusqu'à ce qu'il se mette en marche. tous les 3 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
Tester les éléments qui doivent être désactivés - comme indiqué aquí - pour chacun des éléments qui ont été affichés en tant que enabled
sous cat /proc/acpi/wakeup | sort
en exécutant dans le terminal chacune des commandes ci-dessous, puis en testant si la souris réveille le système (sans qu'il soit nécessaire de le redémarrer) :
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 a suffi, même après avoir testé d'autres ports USB).
Si le /etc/rc.local
le fichier n'existe pas
Selon le 今 post, run :
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
Reboot.
Si cela ne fonctionne toujours pas, il se peut que le fichier /etc/systemd/system/rc-local.service
est manquante ou mal configurée.
Test avec
sudo /etc/init.d/rc.local start
y
sudo systemctl status rc-local
Suivant Comment activer /etc/rc.local avec Systemd :
Créer le fichier :
sudo nano /etc/systemd/system/rc-local.service
Ajoutez-y 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 sur Enter pour confirmer. Pour quitter le fichier, appuyez sur Ctrl+X.
Vérifier que tout va bien et qu'il n'y a pas d'erreur :
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
Redémarrez pour voir les changements.
Mon système est Ubuntu 15.10
J'ai essayé d'utiliser lsusb
pour savoir quel est le périphérique de la souris. C'est très simple, vous tapez lsusb
puis débrancher la souris (dans mon cas, il s'agit d'un récepteur Bluetooth) et taper lsusb
à nouveau. L'appareil se présente comme suit :
Bus 007 Device 008: ID 24ae:2000
Trouvez-le maintenant dans /sys/bus/usb/devices/
en procédant de la même manière (débrancher/rebrancher). Dans mon cas, j'ai constaté qu'ils se trouvaient quelque part dans des dossiers commençant par 7-2*
.
Essayez maintenant de lire l'idProduct et l'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 /lib/systemd/system-sleep
et donnez-lui le nom que vous voulez.
#!/bin/bash
# From lsusb: Bus 007 Device 008: ID 24ae:2000
idVendor=24ae
idProduct=2000
# Get sys device path by vendorId and productId
function find_device()
{
local vendor=$1
local product=$2
vendor_files=( $(egrep --files-with-matches "$vendor" /sys/bus/usb/devices/*/idVendor) )
for file in "${vendor_files[@]}"; do
local dir=$(dirname "$file")
if grep -q -P "$product" "$dir/idProduct"; then
printf "%s\n" "$dir"
return
fi
done
}
sysdev=$(find_device $idVendor $idProduct)
if [ ! -r "$sysdev/power/wakeup" ]; then
echo $idVendor:$idProduct not found 1>&2
exit 1
fi
case "$1" in
enabled|disabled)
echo $1 > "$sysdev/power/wakeup"
;;
*)
echo "$0 enabled -- to enable the wakeup for this device"
echo "$0 disabled -- to disable the wakeup for this device"
;;
esac
grep --color=auto -H ".*" "$sysdev/power/wakeup"
exit 0
Tout est fait.
Voici mon "tutoriel" étape par étape pour que cela fonctionne pour vous :
- Utiliser la commande
cat /proc/acpi/wakeup
pour afficher la liste des dispositifs de réveil - Utiliser la commande
sudo sh -c "echo XXXX >/proc/acpi/wakeup"
(remplacez "XXXX" par le code de votre appareil) pour basculer l'état de l'appareil (activé/désactivé). Allez-y un périphérique à la fois et essayez de suspendre votre machine et de la réveiller en utilisant le périphérique que vous voulez désactiver jusqu'à ce que le périphérique mérité ne soit plus en mesure de réveiller la machine. N'oubliez pas de toujours réactiver les périphériques que vous ne voulez pas voir désactivés. - Lorsque vous avez trouvé le bon appareil, 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) - Déplacer ou copier le fichier dans un 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 réel) - Rendre le fichier exécutable :
sudo chmod 755 /etc/init.d/acpi_wakeup
- Utilisez ensuite 'update-rc.d' pour créer automatiquement les liens symboliques nécessaires dans les autres répertoires :
sudo update-rc.d acpi_wakeup defaults
(il montreWARNING: ...missing LSB tags and overrides
mais c'est bon. Vous n'avez pas à vous en préoccuper.) - Redémarrez votre ordinateur.
Sources et lectures complémentaires :
http://www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=7&t=1985 http://ubuntuforums.org/showthread.php?t=814939&page=3
Dans Kubuntu 19.10, l'option /etc/rc.local
a cessé de fonctionner pour moi. J'ai remarqué cela pour la première fois sur un KDE Manjaro, et j'ai trouvé cette solution qui y travaillait. Il fonctionne également dans Kubuntu 19.10, ce qui peut signifier qu'il y a des changements dans les systèmes plus récents (que ce soit lié au noyau ou à la version de Plasma, je ne sais pas).
Ainsi :
sort /proc/acpi/wakeup
et recherchez les éléments marqués "activés". Notez leur nom (par exemple EHC1, EHC2, NXUC). Ensuite, testez les commandes qui, comme ci-dessous, empêchent la souris de réveiller le PC :
sudo sh -c "echo EHC1 > /proc/acpi/wakeup"
sudo sh -c "echo EHC2 > /proc/acpi/wakeup"
sudo sh -c "echo NXUC > /proc/acpi/wakeup"
Créer un dossier ~/.bin
mkdir ~/.bin
(Si vous préférez un autre emplacement, remplacez-le en conséquence dans les fichiers suivants).
Créer un service systemd. Dans le terminal :
nano /etc/systemd/system/wakeup-events.service
Avec ce contenu :
[Unit]
Description=Disable wakeup events on startup
[Service]
Type=oneshot
ExecStart=/bin/bash ~/.bin/wakeup-events.sh
[Install]
WantedBy=multi-user.target
Enregistrer et saisir le mot de passe.
En terminal :
nano ~/.bin/wakeup-events.sh
avec le contenu suivant :
#!/bin/bash
# Disable wakeup events
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo NXUC > /proc/acpi/wakeup
(Remplacer en conséquence : par exemple EHC1, EHC2, NXUC).
N'oubliez pas :
sudo systemctl enable wakeup-events
Et reboot
.
- Réponses précédentes
- Plus de réponses