O que você precisa fazer
- Instale
xprintidle
, para acompanhar o tempo ocioso atual (definido pela falta de eventos de teclado e mouse). - Crie um pequeno script de plano de fundo (mais abaixo); Copie o script em um arquivo vazio e salve-o como
dim_keyboard.sh
. Torne o script executável e copie-o para um local onde usuários não autorizados não possam alterar o script (por exemplo,/usr/local/bin
). -
Adicione o script ao arquivo
sudoers
, já que você executa o comando comsudo
: Adicione a linha:<username> ALL= NOPASSWD: /path/to/your/script
(onde
<username>
é o seu nome de usuário) para o arquivo, como explicado aqui .
N.B. No arquivo sudoers
, por motivos de segurança, sempre use o caminho completo para o script, também se estiver em $PATH
. A razão é que, caso contrário, seria fácil colocar um script com nome semelhante em ~/bin
, que poderia ser executado com sudo
privileges, possivelmente com código malicioso.
-
Teste- execute o script com o tempo ocioso (em segundos) como um argumento:
sudo /path/to/script.sh 60
Para diminuir a luz de fundo após um minuto
-
Se tudo funcionar bem, adicione-o aos aplicativos de inicialização: Dash > Aplicativos de inicialização > Adicionar. adicione o comando:
sudo /path/to/script.sh 60
O script:
#!/bin/bash
let "div = 1000"
let "limit = $1"
dimmed=false
cmd=/sys/class/leds/asus::kbd_backlight/brightness
while true
do
sleep 2
let "idle = $(xprintidle)"
if [ $(($idle / $div)) -gt $limit ] && [ $dimmed == false ]; then
echo 0 | tee $cmd
dimmed=true
elif [ $(($idle / $div)) -le $limit ] && [ $dimmed == true ]; then
echo 3 | tee $cmd
dimmed=false
fi
done