Eu acho que esta questão é praticamente o mesmo que Como configurar o dbus para permitir que o ssh-user suspenda o servidor? ; exceto que queria formular melhor.
Suponha que eu tenha um servidor Ubuntu rodando sem parar, vamos chamá-lo de MyServer . Vamos dizer então, eu tenho outro PC na mesma rede local como MyServer , vamos chamá-lo MyLocalPC .
MyLocalPC é então mantido em suspensão, a menos que seja ativado por wakeonlan por MyServer . Essa parte do processo funciona perfeitamente para mim: posso fazer login via ssh to MyServer e, no prompt MyServer ssh, posso emitir wakeonlan e MyLocalPC acorda - ótimo.
Então, no entanto, assim que eu terminar de trabalhar com MyLocalPC , gostaria de colocá-lo novamente em suspensão. O problema é o seguinte - eu posso colocar a máquina em suspender fácil, se eu ssh em MyLocalPC primeiro via ssh :
[MyServer]$ ssh MyLocalPC
[MyLocalPC]$ dbus-send --session --dest=org.freedesktop.PowerManagement --type=method_call --print-reply --reply-timeout=2000 /org/freedesktop/PowerManagement org.freedesktop.PowerManagement.Suspend
Isso suspenderá MyLocalPC , mas também bloqueará a ssh saindo corretamente e, por fim, a ssh to MyServer será congelada. Eu tento ficar complicado e emitir algo assim:
[MyServer]$ ssh MyLocalPC "dbus-send --session --dest=org.freedesktop.PowerManagement --type=method_call --print-reply --reply-timeout=2000 /org/freedesktop/PowerManagement org.freedesktop.PowerManagement.Suspend"
Failed to open connection to "session" message bus: /bin/dbus-launch terminated abnormally with the following error: Autolaunch error: X11 initialization failed.
Então eu li em algum lugar DISPLAY variável deve ser definida - mas isso também falha:
[MyServer]$ ssh MyLocalPC "DISPLAY=:0 dbus-send --session --dest=org.freedesktop.PowerManagement --type=method_call --print-reply --reply-timeout=2000 /org/freedesktop/PowerManagement org.freedesktop.PowerManagement.Suspend"
Error org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.PowerManagement was not provided by any .service files
Alguém sabe como posso emitir uma suspensão para MyLocalPC , sem a ssh de conexão para MyServer de congelamento?