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?