Mantenha o NumLock sempre no Linux Mint [duplicado]

3

Eu tenho um objetivo simples: manter sempre o NumLock

SO e DE : Linux Mint 17.3 / 18 Canela

Eu encontrei isto:

Mantenha sempre o NumLock

Então, criei este pequeno script

-rwxr--r-- 1 root      root      47 Apr 15 07:50 keep-numlock-on.sh

com conteúdo

#!/bin/bash
xmodmap -e 'keycode 77 = NoSymbol'

e adicionei-o a sudo crontab -e como este

@reboot /home/vlastimil/Development/bash/keep-numlock-on.sh

Para minha surpresa, ele não funciona na reinicialização e não tenho a menor idéia do motivo.

Funciona se eu chamar manualmente o script.

Qualquer ajuda appretiated.

Outras tentativas:

Eu criei este arquivo em ~/.config/autostart

-rw-r--r-- 1 vlastimil vlastimil 308 Apr 15 10:00 NumLock.desktop

com conteúdo

[Desktop Entry]
Encoding=UTF-8
Name=Keep NumLock always on
GenericName=Keep NumLock always on
Comment=Keep NumLock always on
Exec=/home/vlastimil/Development/bash/keep-numlock-always-on.sh
Icon=
Terminal=true
Type=Application
Categories=
X-GNOME-Autostart-enabled=true
Hidden=false
X-GNOME-Autostart-Delay=0

enquanto renomeia o script e altera os direitos para

-rwxrwxrwx 1 vlastimil vlastimil 47 Apr 15 09:56 keep-numlock-always-on.sh

para descartar problemas de permissão.

Bem, eu não sei o que fiz de errado, mas ainda não funciona: (

EDIT1:

Quanto aos comentários, alterei o conteúdo do script para:

#!/bin/bash
/usr/bin/numlockx on
DISPLAY=":0" xmodmap -e 'keycode 77 = NoSymbol'

Mas sem sorte. Isso é muito chato para mim. Por favor ajude e se você resolver, você será recompensado com 50 pontos. Obrigado.

EDIT2:

sudo nano /etc/X11/xinit/xinitrc

e colocou o caminho para o arquivo, ainda sem sorte.

. /etc/X11/Xsession
/home/vlastimil/Development/bash/keep-numlock-always-on.sh  

EDIT3:

xmodmap bagunça meus mapeamentos de teclado, tornando-o inutilizável para esse propósito.

    
por Vlastimil 15.04.2016 / 08:31

1 resposta

0

Eu tive um problema semelhante com o Xfce: eu queria que a emulação do mouse não expirasse.

O que funcionou:

  • inicie o script via autostart (como você)
  • coloque sleep 5s no início do script (aumente "5s" se necessário)

Fundamentação:

Se o seu script funcionar quando iniciado manualmente, não é culpado. Portanto, o Ambiente de Área de Trabalho deve estar substituindo suas configurações, normalmente, ele aplicará seu mapa de teclado configurado. Portanto, o lançamento do seu script em crontab ou .xinitrc não funcionará. Usar o recurso Autostart é mais confiável, mas há uma pergunta: o Desktop Environment aplicará suas configurações antes ou depois de iniciar o script? É por isso que sleep é necessário.

    
por 19.04.2016 / 17:25