Je sais que vous pouvez désactiver le mode veille lorsque vous fermez le couvercle de votre ordinateur portable , mais est-il possible de ne pas le faire passer en mode veille si Ethernet est branché?
Donc, fondamentalement, que ce soit sur batterie ou pas, j'en ai besoin pour fonctionner comme ceci:
If laptop Shell closed
If ethernet not plugged in
Go to standby
Else
Don't go to standby, ever
Y a-t-il un moyen d'y parvenir?
Ok, avec quelques informations d'autres réponses, vous pouvez essayer cette méthode non testée:
De événements de fermeture et d'ouverture du couvercle de la capture
Le script que vous voulez appeler lorsque le couvercle s'ouvre ou se ferme doit être stocké
dans /etc/acpi/lid.sh
.
Ensuite, il faut créer le fichier correct /etc/acpi/events/lm_lid
avec le contenu suivant:
event=button/lid.*
action=/etc/acpi/lid.sh
Redémarrez votre système pour que cela prenne effet. Ou peut-être suffit-il de redémarrer votre ACPI en utilisant
Sudo /etc/init.d/acpid restart
De https://unix.stackexchange.com/questions/252002/help-testing-special-file-in-sys-class-net et comment puis-je suspendre/hibernate de la commande line? le script /etc/acpi/lid.sh
ressemblera à ceci (changez votre nom de carte réseau pour votre nom de votre carte réseau. Utilisez ifconfig
pour le trouver). Vous pouvez choisir entre suspendre ou hiberner.
#!/bin/bash
if [ "$(head -c1 /sys/class/net/yournetworkcardname/carrier)" -eq 0 ]; then
systemctl suspend
fi
Testez le script avec bash -x /etc/acpi/lid.sh
et assurez-vous qu'il fonctionne. Vous devrez peut-être ajouter les éléments suivants pour exécuter le script en tant que Sudo sans être invité à entrer un mot de passe, à partir de https://unix.stackexchange.com/questions/18830/how-to-run-a-specific-program -as-root-without-a-password-Prompt :
myusername ALL = (root) NOPASSWD: /etc/acpi/lid.sh
Peut-être devrez-vous également appeler le script dans l'action avec Sudo.