remapeamento chave de turno e problema de inicialização do script bash

0

Meu teclado não funciona com a chave shift, meu sistema operacional é Ubuntu 13.04. Por isso estou usando uma das teclas de controle como tecla shift. Eu fiz isso usando a ferramenta xkeycaps , e isso está funcionando bem e eu preciso fazer este comando do terminal toda vez que eu fizer o login. xkeycaps cria automaticamente um script xmod.sh de remapear teclas do teclado. Eu faço este comando após a inicialização:

xmodmap ~/.xmodmap-'uname -n'

Então, eu escrevo um comando bash em init.d e também configura permissão para iniciar no login. Embora não esteja funcionando. Eu tive que inserir manualmente o comando no terminal o tempo todo.

Meu script bash está lá:

sudo cat /etc/init.d/xmod.sh

Permissão para inicialização:

sudo chmod +x /etc/init.d/xmod.sh

Atualizando init.d :

sudo update-rc.d xmod.sh defaults

e xmod.sh contém:

#!bin/bash
xmodmap ~/.xmodmap-'uname -n'

Por favor, os especialistas me dizem o que estou perdendo.

    
por rawhidetn 23.10.2013 / 14:52

1 resposta

1

Eu não acho que seja correto usar esse script em init.d . Assim o script será executado no momento da inicialização, antes do seu login. Naquela época, ~ não está definido.

Acho que a melhor maneira de executar o comando xmodmap ~/.xmodmap-'uname -n' após o seu login é criar um arquivo chamado .xinitrc em seu diretório pessoal ( ~ ), contendo a seguinte linha :

xmodmap .xmodmap-'uname -n'

Um relogin provavelmente será necessário.

    
por Radu Rădeanu 23.10.2013 / 15:27