Baseado na investigação do (e aqui ), aqui é apresentado um caminho para a solução completa.
1. Execute as seguintes linhas como comando único (copie-as e cole em um terminal). Isso criará um script chamado kbdbacklight
, que será colocado em /usr/local/bin
para ser acessível como todo o sistema de comando shell.
cat << EOF | sudo tee /usr/local/bin/kbdbacklight && sudo chmod +x /usr/local/bin/kbdbacklight
#!/bin/sh
KBD_BACKLIGHT="/sys/devices/platform/sony-laptop/kbd_backlight"
read VALUE < "$KBD_BACKLIGHT"
if [ "${VALUE}" -eq '0' ]; then echo '-1' > "$KBD_BACKLIGHT"
elif [ "${VALUE}" -eq '-1' ]; then echo '0' > "$KBD_BACKLIGHT"
else echo "Something went wrong."; notify-send "Something went wrong."
fi
EOF
Explicação:
-
O comando cat << EOF
produzirá as próximas linhas até a próxima string EOF
. Essas linhas serão canalizadas em |
para o comando tee
que as gravará no arquivo /usr/local/bin/kbdbacklight
. Se essa operação for bem-sucedida, use &&
e, em seguida, conceda permissões executáveis chmod +x
ao arquivo. As barras invertidas \
irão escapar do significado especial de $
sign dentro do comando cat
.
-
Nas duas primeiras linhas, o script lerá o valor do arquivo /sys/devices/platform/sony-laptop/kbd_backlight
. Então, se o valor for 0
, ele será alterado para -1
e vice-versa.
Agora, o script deve estar acessível como um comando shell. Digite sudo kbdbacklight
end hit Digite . Você será perguntado por uma senha para executar o comando como root por sudo
.
2. Conceda permissões a todos os usuários para executar o comando (nosso script) sem senha via sudo
. Não importa se os usuários pertencem ao grupo sudoers ou não.
Observação: Sempre use o comando visudo
para editar o arquivo sudoers
para garantir que você não se bloqueie fora do sistema - apenas em
caso você acidentalmente escreva algo incorreto no arquivo sudoers
.
visudo
salvará seu arquivo modificado em um local temporário e
somente sobrescreve o arquivo real sudoers
se o arquivo modificado puder ser analisado sem erros ... fonte .
Para isso, vamos criar o arquivo /etc/sudoers.d/kbdbacklight
. Execute o comando:
sudo visudo -f /etc/sudoers.d/kbdbacklight
Coloque a seguinte linha como conteúdo do arquivo. Em seguida, salve e feche o arquivo.
ALL ALL=NOPASSWD: /usr/local/bin/kbdbacklight
Agora, todos os usuários podem executar o comando sudo kbdbacklight
sem senha.
3. Crie atalho de teclado personalizado e vincule script para uma chave desejada (ou combinação de teclas).
-
Vá para Configurações do sistema → Teclado → Atalhos (guia) → Atalhos personalizados (seção ) → Adicionar novo + .
-
No tipo de janela Atalho personalizado : [<> Nome : kbdbacklight
], [ Comando : sudo kbdbacklight
]. Clique em Aplicar .
-
Clique no rótulo Disabled e defina a combinação ou a tecla de atalho do teclado.
Deverão estar disponíveis outras soluções possíveis com base nos dados e funcionalidades dos comandos como lsusb
, xinput
, evtest
, acpi_listen
( apcid
), etc. Aqui estão algumas referências que podem fornecer ideias úteis: