Eu ainda não fiz este trabalho, mas eu queria adicionar o que tentei e como ele falhou até agora, caso isso faça alguém ver o que estou fazendo de errado.
tudo é baseado no comentário de c0rp , via este link (obrigado)
Eu criei dois arquivos de script bash como este:
1) /sbin/my_loginscript.sh
(usado para "fazer login" e abrir dois computadores)
#!/bin/bash
#
# Script to loging to my other computers when I login, save some time
#
echo "UNLocking laptop and desktop"
ssh -X [email protected] "export DISPLAY=:0; gnome-screensaver; gnome-screensaver-command -d;"
ssh -X [email protected] "export DISPLAY=:0; gnome-screensaver; gnome-screensaver-command -d;"
echo "Now get some back to work"
2) /sbin/my_logoutscript.sh
(usado para "sair" e fechar dois computadores)
#!/bin/bash
#
# Script to loging to my other computers when I login, save some time
#
echo "Locking laptop and desktop"
ssh -X [email protected] "export DISPLAY=:0; gnome-screensaver; gnome-screensaver-command -l;"
ssh -X [email protected] "export DISPLAY=:0; gnome-screensaver; gnome-screensaver-command -l;"
echo "Now get some rest"
Esses dois scripts funcionam bastante bem, e quando os executo diretamente, os dois computadores desktop adicionais "abrem e fecham" e eu posso usar synergy
para controlá-los, isso por si só é muito mais rápido do que fazer login manualmente nos dois computadores extras.
Agora eu tento automatizar isso, e é aí que eu tenho problemas.
quando eu faço login no computador (tenho que sair para que isso funcione)
Eu criei um novo arquivo '/etc/xdg/autostart/my_script.desktop'
parece com isso:
[Desktop Entry]
Type=Application
Name=global login
Exec=sudo /sbin/my_loginscript.sh
Icon=system-run
X-GNOME-Autostart-enabled=true
e isso realmente funciona ... quando eu faço login, as outras duas telas são desbloqueadas como eu quero.
Todo: como fechá-lo quando eu sair?
mas também, eu quase nunca saio do meu PC, eu só LOCK
e UNLOCK
, então é isso que eu realmente quero consertar, e é assim que eu tentei.
Eu criei um novo arquivo chamado '/etc/pm/sleep.d/99_resume.sh'
e é assim:
#!/bin/bash
case "" in
thaw|resume)
/sbin/my_loginscript.sh 2> /var/log/wakeup.log
;;
suspend|hibernate)
/sbin/my_logoutscript.sh 2> /var/log/wakeup.log
;;
esac
mas isso não parece funcionar, e eu tenho dificuldade em solucionar o problema. se alguém tiver alguma sugestão ou dicas aqui, isso seria muito bom.
edit: Baseado no comentário do C0rp abaixo, eu editei o seu script, e ele pode ser encontrado (editado) aqui :
basicamente depois de clonar ou criar o arquivo event_catcher.sh
, primeiro copie meus dois arquivos my_logoutscript.sh and
my_logoutscript.sh as described earlier, to the
/ sbin folder. Then start the daemon by running this
. / event_catcher.sh start '.
da próxima vez que você acessar Ctrl Alt L
, seu computador será bloqueado e seus outros PCs também serão bloqueados.
PS: Eu assumi que você usa ssh-copy-id
para habilitar o login nesses computadores sem a senha.
então, eu considero a questão resolvida agora, mas vou esperar um pouco para c0rp para ver se ele quer criar uma resposta muito rápida (ao invés de apenas comentários), e se ele fizer isso Eu lhe darei o crédito. Obrigado novamente c0rp!