Como meu layout de teclado não combina comigo, eu corro xmodmap
no login. O script é nomeado .profile
e funciona OK, mas quebra a interface do Unity.
Quero saber onde colocar a xmodmap
linha para que ela seja executada no meu login e não quebre nada.
Eu já tentei colocá-lo nos arquivos .bash_login
e .bash_profile
, sem sucesso ( xmodmap
não define o teclado).
Quais são as minhas opções?
xmodmap
key-binding
Thiago Moraes
fonte
fonte
Respostas:
O local correto a ser colocado
xmodmap ~/.Xmodmap
(para que suas alterações sejam lidas na inicialização) está~/.xinitrc
(consulte a explicação abaixo), embora você possa alternativamente colocar oxmodmap
comando como um item de inicialização (/usr/bin/xmodmap /home/user/.Xmodmap
). Posso dizer que, para 12.04 (e presumivelmente 12.10), essas duas alternativas definitivamente funcionam, pois de qualquer forma elas são lidas após o loginlightdm
. (Alterei Return to Shift Right , e a alteração só entrou em vigor depois de inserir minha senha e fazer login).Nota: se você estiver no Xfce, é indicado nas Perguntas frequentes oficiais do Xfce que talvez você precise criar um item de inicialização em vez de usá-lo
~/.xinitrc
, e que talvez seja necessário atrasar a execução para que asxmodmap
alterações não sejam sobrescritassetxkbmap
. Você pode usar um atraso para conseguir isso em sua entrada de inicialização:(Para a entrada de inicialização, é necessário especificar caminhos absolutos)
Cada vez que
setxkbmap
é executado para alterar o layout do teclado, você precisará executarxmodmap ~/.Xmodmap
novamente no terminal.Criando
~/.xinitrc
Crie um arquivo na sua pasta pessoal chamado
.xinitrc
come coloque nele:
Seu
Xmodmap
arquivo não deve ter entradas noxmodmap -e " "
estilo, pois é usado no terminal para definir temporariamente os valores. Ele deve ter entradas neste formato:Muitas vezes, é confuso qual dos vários
X
arquivos (como.xprofile
,.xinitrc
etc) são lidos na inicialização, mas.xinitrc
ainda parece ser lido sob 12.04, enquanto.Xmodmap
ou.xinputrc
não são lidos por eles mesmos.fonte
xmodmap -e '...
, poderá recuperar o formato correto paraxmodmap .Xmodmap
withxmodmap -pke
, que imprime o mapeamento atual - embora você queira filtrá-lo apenas para as linhas que se aplicam à alteração feita.Estou usando o ElementaryOS (com seu gerenciador de janelas baseado no GNOME) e encontrei uma solução usando
xdg
scripts de inicialização automática. Muitos gerenciadores de janelas estão usando o xdg, portanto, assumo que essa abordagem também funcionará em outros ambientes. Pelo menos, deve funcionar com o GNOME.O xdg executa scripts no
~/.config/autostart
logon em uma sessão X. Para carregar a configuração do xmodmap no login, adicione o seguinte script em~/.config/autostart/xmodmap.desktop
:Em seguida, efetue logout e logon novamente, e sua configuração do Xmodmap deveria ter sido carregada.
Se não estiver funcionando, tente executar o xmodmap no terminal para ver se é o xmodmap que reclama:
Se você não receber nenhum erro, execute o seguinte comando para depurar:
fonte
~/.xinitrc
falha no uso de um arquivo. Como o hxpax apontou, os usuários do Mint (provavelmente a maioria / todos os Linux derivados do Debian) podem usar uma caixa de diálogo da GUI para adicionar entradas de início automático por meio deMain Menu --> Preferences --> Startup Applications
.Agora não tenho a interface de unidade à minha frente, mas tente clicar no botão Aplicativos no iniciador e digite startup. Deve haver um aplicativo chamado Aplicativos de Inicialização (ou alguns). Clique nele e adicione seu comando xmodmap (por exemplo
xmodmap /home/thiago/.Xmodmap
).fonte
xmodmap .Xmodmap
No Mint 17/18, posso conseguir que meus scripts sejam inseridos no Aplicativo de Inicialização, com 1 segundo de atraso.
Como o Mint 18 é derivado do Ubuntu 1604, acho que você pode fazer o mesmo ou instalar o painel de gerenciamento do Aplicativo de Inicialização primeiro, se não estiver lá.
Espero que ajude.
fonte
Eu não estava tendo muita alegria com nenhuma das sugestões acima (a opção .bashrc não era realmente viável, pois roda o xmodmap em todos os novos terminais)
Toquei em um script chamado
xmodstartup.sh
na minha pasta pessoalcom ele salvo, eu fiz
sudo chmod +x xmodstartup.sh
simplesmente adicionei o arquivo executável à janela "preferências do aplicativo de inicialização" do gnome. bish bosh, layout em inglês e espanhol em
altgr
:)fonte
Colocar o xmodmap muda
~/.bashrc
ou/etc/bash.bashrc
não quebra nada.A única desvantagem é que é necessário abrir um terminal após cada inicialização para ativá-lo.
fonte