Como fazer um script que interage com o bloqueio / desbloqueio de tela

2

Eu preciso de um script para quando pressiono Ctrl + Alt + L (tela de bloqueio) Eu bloqueei ou desliguei todos os USBs e encerrei todas as minhas interfaces de rede como eth0 .

Quando eu Desbloquear, tudo deve voltar ao normal. Eu tentei

echo suspend> / sys / bus / usb / devices / usb1 / power / level 

.. mas eu não pude ..

E também

dbus-monitor --session "type = 'signal', interface = 'org.gnome.ScreenSaver' 

para interagir com a tela, mas não conseguiu.

Existe algum método melhor? Ou algo que eu possa estudar para criar este roteiro?

    
por nullXOR 29.11.2016 / 01:01

1 resposta

2

Como executar scripts ou comandos em alterações no estado de bloqueio

De acordo com esta resposta em U & amp; L, você tentou usar um comando dbus desatualizado. Para 14.04 e acima, você pode usar:

dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'" | \
(
  while read X; do
    if [[ "$X" =~ desktop-lock ]]; then
      SCREEN_LOCKED;
    elif [[ "$X" =~ desktop-unlock ]]; then
      SCREEN_UNLOCKED;
    fi
  done
)

que funciona bem no meu sistema (16.04).
(Obrigado por melhorias por @Serg e @muru)

É claro que você precisa substituir SCREEN_LOCKED e SCREEN_UNLOCKED pelos comandos ou scripts que deseja executar nas alterações no estado de bloqueio, mas testou e funciona bem.

    
por Jacob Vlijm 29.11.2016 / 07:41