Estou tentando economizar energia alternando as áreas de trabalho para o modo de suspensão quando estão inativas. Mas muitos desktops também são acessados via SSH por seus proprietários. Existe uma solução wakeonlan implantada para permitir que os proprietários liguem a máquina, mas o problema é que as máquinas serão suspensas automaticamente novamente em 10 minutos, mesmo com a conexão SSH ativada.
O que estou tentando fazer é incluir as sessões SSH ativas nas definições de "atividade".
A questão é: isso pode ser feito através da definição de uma regra polkit? Isso pode ser feito colocando um script que é executado antes da suspensão real e anula-o se forem encontradas sessões SSH? Eu preciso de uma maneira limpa e legítima de fazer isso. Caso contrário, as formas hacky também são bem-vindas.
Solução hacky ingênua atual: editar /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
Isso serve ao propósito. Mas não sei quando uma atualização substituirá o arquivo /usr/sbin/pm-suspend
. Também não sei como isso funcionará com outras implementações de suspensão, como o tuxonice.
[
se você escrever if who | grep -qv :0; then
(supondo que você tenha um POSIX em conformidade grep
como GNU grep).
grep -cv :0
vez de passarwc
?