J'essaie d'économiser de l'énergie en basculant les bureaux en mode suspension lorsqu'ils sont inactifs. Mais de nombreux bureaux sont également accessibles via SSH par leurs propriétaires. Une solution wakeonlan est déployée pour permettre aux propriétaires d'allumer la machine, mais le problème est que les machines se suspendent à nouveau automatiquement dans 10 minutes, même si la connexion SSH est activée.
Ce que j'essaie de faire, c'est d'inclure les sessions SSH actives dans les définitions "d'activité".
La question est de savoir si cela peut être fait en définissant une règle polkit? Cela peut-il être fait en mettant un script qui s'exécute avant la suspension réelle et l'abandonne si des sessions SSH sont trouvées? J'ai besoin d'une manière propre et légitime de le faire. Si ce n'est pas le cas, les méthodes hacky sont également les bienvenues.
Solution de piratage naïf actuelle: modifier /usr/sbin/pm-suspend
:
#check for SSH sessions, and prevent suspending:
if [ "$(who | grep -cv "(:")" -gt 0 ]; then
echo "SSH session(s) are on. Not suspending."
exit 1
fi
Cela sert le but. Mais je ne sais pas quand une mise à jour écrasera le fichier /usr/sbin/pm-suspend
. Je ne sais pas non plus comment cela fonctionnera avec d'autres implémentations suspendues comme tuxonice.
[
si vous écrivez if who | grep -qv :0; then
(en supposant que vous avez un POSIX conforme grep
comme GNU grep).
grep -cv :0
au lieu de passerwc
?