Como ligar / desligar leds por terminal?

11

Gostaria de ligar / desligar alguns dos meus leds executando um comando no linux.

Eu uso o Ubuntu 12.04 LTS.

eu tentei

xset led named "Scroll Lock"
xset led named "Num Lock"
xset led 2             (this is the number of Scroll Lock as `xset q` says)
xset led 1

mas nada funciona.

Tentou

setleds +num
setleds +scroll

mas recebi uma mensagem de erro dizendo Error reading the current settings of flags. Maybe you're not on the console?(eu estava em um terminal).

Então, como posso fazer isso?

GarouDan
fonte

Respostas:

9

chave xdotool Num_Lock

É a resposta (a mais fácil que você provavelmente encontrará); invertendo o estado, ele também fornece um caminho para pesquisar (xinput e modificação de um estado do teclado escravo) se você realmente deseja apenas definir um status de led.

Eu também deparei com o LED do teclado Num Lock e o estado X11 que diferem recentemente (acontece com áreas de trabalho remotas, jogos, etc.)

Esta referência explica o que está acontecendo e quase tem a solução completa (mas possui um erro de digitação de caso, você precisa de Num_Lock e não Num_lock).

http://blog.ssokolow.com/archives/2013/04/18/how-to-invert-your-x11-numlock-led/

Michael J. Evans
fonte
Essa deve ser a resposta aceita. Melhor solução que eu já vi. Obrigado! As luzes são tão irritantes!
jocap
Observe que xdotool key Num_Locknão é tão inocente quanto ligar ou desligar um LED; É o equivalente a realmente pressionar a tecla!
Serge Stroobandt
5

Para ativar o led Scroll Lock na execução:

xset -led 2 led on

Para desativá-lo, execute:

xset -led 2 led off
Aleksey Alekseev
fonte
1

Pressione Ctrl+ Alt+ F1, faça login e tente setleds.

VenkatH
fonte
Interessante. setleds(não xset) funcionou para mim agora também. Parece que precisamos definir um display. Eu tentei várias coisas, mas nada funcionou. Mas, parece que estamos quase.
GarouDan
2
Esta não é a resposta final para mim, porque eu preciso disso trabalhando na tela da GUI, não na tela do console.
23412 GarouDan
0

Instale o xf86-input-keyboard se você não o tiver.

Conjunto kbd_mode -u

Verifique se você não possui várias instâncias do KB (verifique o que XINPUT: relatórios).

Overmind
fonte
0

Conforme observado nesta resposta , se sua tela estiver em TTY1, mas você tentar controlar os LEDs de outro lugar (como uma sessão SSH), poderá usar setledsda seguinte maneira:

setleds -L +num +caps +scroll < /dev/tty1
cdauth
fonte
-1

Basta usar o comando:

numlockx on 

ou

numlockx off

para mudar o estado.

minux
fonte
4
Isso é bastante breve: mais alguns detalhes seriam úteis. Por exemplo, em que circunstâncias esse comando funciona?
David Richerby
Faz exatamente o que parece.
31415 Jon