Instale o acpi
pacote. Agora coloque isso return0whencharging.sh
e torne-o executável:
#!/bin/sh
acpi -V
if cat /proc/acpi/battery/BAT1/state | grep "charging state" | grep -vE ":[\t ]*charging$"; then
exit 1
else
exit 0
fi
Se echo -e "\a"
emitir um som, inicie-o quando quiser assistir ao status da bateria:
watch --beep return0whencharging.sh
Se não faz qualquer som ou você quer uma notificação e uma melhor alarme do que qualquer coisa relógio pode fornecer, instalar libnotify-bin
e mpv
e usar este em vez disso:
while return0whencharging.sh; do sleep 1; done; notify-send "Finished charging" && mpv -loop /usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga
Explicação :
Se você olhar a página de manual do grep, poderá ver que -v
inverte a correspondência e, portanto, o código de retorno / status. -E
significa que é uma expressão regular. o [\t ]
no regex (expressão regular) significa "tab ou espaço". A estrela a seguir significa "tabulação ou espaço 0 ou mais vezes". O "$" à direita significa que deve corresponder ao final da linha. A final grep
significa que as linhas NÃO terminam em ":", qualquer número de guias ou espaços e, em seguida, "cobrando" e o final da linha devem grep
sair com o código de status 0. Isso significa que grep
retornará 1 enquanto o computador estiver carregamento. O if
executará sua primeira ramificação quando o código de status for 0,grep
exit 1
quando grep sai 0 e exit 0
quando grep existe diferente de zero.
return0whencharging.sh
arquivo? Ou, se eu criá-lo, há um local específico para salvá-lo?Eu escrevi um pequeno script que fará isso:
Roteiro:
Instalação:
Corre:
Copie o script para a
~/bin
pasta ( por que a pasta ~ / bin? ):Ou copie-o para
/usr/local/bin
se desejar que esteja disponível para todos os usuários no seu computador:Em seguida, adicione o
batteryfull.sh
script como um aplicativo de inicialização:Clique Adde preencha da seguinte forma:
fonte