O script
Como mencionado nos comentários, uma versão ligeiramente melhorada é postada aqui (com a ajuda de @Serg e @muru):
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
)
Onde armazená-lo?
Você pode armazená-lo em qualquer lugar que desejar no diretório $HOME
, se for apenas para seu usuário ou em / usr / local / bin se você quiser que ele esteja disponível para outros usuários.
Quando correr?
O dbus-monitor é executado localmente. Por isso, basta adicionar o script a Startup Applications: Dash > Aplicativos de inicialização > Adicionar. Adicione o comando para executar o script, torne-o mais executável e, em seguida, simplesmente adicione o comando:
/path/to/script
Possivelmente , uma vez que o script envolve a GUI, você precisa esperar até que a interface do usuário seja totalmente carregada. Nesse caso, use:
/bin/bash -c "sleep 10 && /path/to/script"
Nota
Tudo o que o script faz é esperar que o estado mude, ouvindo a comunicação entre processos em seu sistema. Não adiciona nenhum qualquer carga visível ao seu sistema.