Como faço para desligar a luz de fundo do meu teclado? (2011 laptop sony vaio PCG-41217N)

1

Esta questão existe para alguns outros modelos de laptop sony vaio (sem resposta); Ainda não vi uma resposta para o portátil sony vaio PCG-41217N.

A sugestão de executar xset led off não desativa a luz de fundo. Como esse laptop é para o trabalho, não quero arriscar a instalação de software de terceiros .

Analisando o trabalho do sony vaio de um apresentador anterior , meu sudo dmidecode -s system-product-nameVPCSB1AHJ . Eu faço tenho /sys/devices/platform/sony-laptop/kbd_backlight e kbd_backlight_timeout arquivos. Ambos são 4,1 kB com apenas o texto '-1' quando aberto no gedit.

    
por DBinJP 19.12.2017 / 12:07

3 respostas

1

Consegui desligar minha luz de fundo do teclado alterando o valor do arquivo de texto somente leitura "kbd_backlight" para 0 ( originalmente -1 ) depois de abri-lo no gedit com acesso root via sudo gedit /sys/devices/platform/sony-laptop/kbd_backlight no Terminal.

Informamos que usar sudo para abrir gedit é problemático, com várias recomendações neste site para usar gksudo para gerenciar adequadamente a propriedade de arquivos entre usuário e raiz. Quando executei sudo gedit , recebi vários avisos no Terminal .

    
por DBinJP 20.12.2017 / 10:53
1

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:

por pa4080 20.12.2017 / 13:29
1

Tudo funciona, obrigado!

Adotei o script da outra resposta para minhas necessidades. Agora meu touchpad funciona. Com pequenas mudanças, esse script funciona para a luz de fundo do teclado e para o touchpad. Basta substituir KBDBACKLIGHT por TOUCHPAD - veja o script original acima.

Estou usando o Ubuntu 17.10 com o Gnome.

#!/bin/sh
TOUCHPAD="/sys/devices/platform/sony-laptop/touchpad"
read VALUE < "$TOUCHPAD"  
if   [ "${VALUE}" -eq '0' ]; then echo '1' > "$TOUCHPAD"; notify-send "Touchpad ON" 
elif [ "${VALUE}" -eq '1' ]; then echo '0' > "$TOUCHPAD"; notify-send "Touchpad OFF"
else echo "Something went wrong."; notify-send "Something went wrong."
fi

Agora, no meu Sony Vaio, o atalho personalizado ctrl + ganha + * funciona como em / desligue o interruptor da retroiluminação do teclado e ctrl + ganha + F1 desactive e active o touchpad. Preste atenção no VALUE s - os valores on / off do meu laptop são 1 e 0 não estão no script original 0 e -1 . (edite esses números se não funcionar no seu laptop).

Felicidades:)

    
por Zuzia 05.02.2018 / 17:43