Como eu crio um script bash do daemon de loop simples? [fechadas]

1

Eu quero criar um script simples daemon bash que executará um comando se meu computador ficar inativo por mais de 10 minutos. Eu criei um alias para executar um script python no terminal e planejo usar o xprintidle para retornar o número de milissegundos que o usuário esteve ocioso. No entanto, não tenho conhecimento de nenhum tipo de C, por isso não sei como fazer um script de loop do daemon. Eu gostaria, dentro do meu loop, para:

  1. Verifique se o xprintidle retorna mais de 600.000 milissegundos
  2. Em caso afirmativo, crie uma janela de terminal e torne-a tela inteira, não maximizada, mas em tela inteira (como F11)
  3. Em seguida, execute o comando matrix .

Eu não quero que o script suspenda ou finalize nada, apenas quero que ele inicie um protetor de tela de terminal.

Se houver alguma chance eu poderia usar xscreensaver para monitorar a inatividade para mim e executar um script bash (que não teria que ser executado automaticamente na inicialização e provavelmente seria mais curto), isso seria ótimo, mas eu ainda precisa do script bash.

    
por Paul Kreymborg 26.12.2015 / 06:48

1 resposta

1

Lá vai você, é bem simples

#!/bin/bash

while [ 1 ]; 
do
  VALUE=$(xprintidle)
  if [ $VALUE -ge 600000  ];
  then
      gnome-terminal --full-screen -e 'matrix'
  fi
  sleep 0.25
done

Pegue o script acima, salve-o na sua pasta pessoal $HOME/bin , como gnome-terminal-screensaver.sh . Certifique-se de que é executável com chmod +x $HOME/bin/gnome-terminal-screensaver.sh . Se você não tiver um, crie um. Sugerimos que você abra $HOME/.profile e certifique-se de que 3 linhas abaixo não sejam comentadas:

# set PATH so it includes user's private bin if it exists
#if [ -d "$HOME/bin" ] ; then
#    PATH="$HOME/bin:$PATH"
#fi

Em seguida, crie o arquivo $HOME/.config/autostart/gnome-terminal-screensaver.desktop com o seguinte conteúdo

[Desktop Entry]
Type=Application
Exec=/home/username/bin/gnome-terminal-screensaver.sh
Terminal=false

Lembre-se de alterar / home / username para real / home / username

    
por Sergiy Kolodyazhnyy 26.12.2015 / 13:46