REVISÃO
Uma atualização no início de 2018 quebrou a persistência - recarregamento automático do mapa de teclas após a suspensão ou hibernação. Como os métodos que usam scripts /etc/pm/sleep.d pararam de funcionar (descontinuados?), Isso deixou apenas o caminho mais recente, usando / lib / systemd / system-sleep e scripts ligeiramente diferentes (que começaram a trabalhar nos mapas de teclas!).
Portanto, esta postagem é atualizada para o método mais recente de persistência e para incluir o carregamento inicial normal do mapa de teclas, que também começou a funcionar. A rotina para converter um arquivo .Xmodmap em .xkbmap permanece inalterada.
Observe que esta é uma solução por usuário. Para obter uma resposta por dispositivo, veja como aplicar um mapa de teclas a um único dispositivo . Este método pode ser adaptado para uso aqui.
Primeiro modifique o arquivo .Xmodmap conforme desejado. É mais fácil editar diretamente do que arquivos .xkbmap. Quando está carregado:
xmodmap .Xmodmap
depois converta para um arquivo .xkb:
xkbcomp $ DISPLAY $ HOME / .xkbmap
Para carregar automaticamente na inicialização, abra Aplicativos de Inicialização, clique em Adicionar e, na linha de Comando, digite:
xkbcomp /home/user/.xkbmap ": 0"
("usuário" é substituído pelo nome de usuário real.) Para Nome, talvez insira Carregar mapa do teclado. Adicione um comentário, se desejar, e clique em Salvar.
O mapa de teclas agora será carregado toda vez que o sistema inicializar, mas não sobreviverá a uma suspensão ou hibernação. Para isso, crie um novo arquivo em / lib / systemd / system-sleep, talvez chamado 60_xkbmap, que contenha:
#!/bin/sh
case $1/$2 in
pre/*)
# Place pre-suspend commands here
exit 0
;;
post/*)
# Place post-suspend commands here
export DISPLAY=":0"
export XAUTHORITY="/home/user/.Xauthority"
su user -c "xkbcomp /home/user/.xkb/xkb-map $DISPLAY 2>/dev/null"
;;
esac
( Ref. ) Como acima, substitua "usuário" pelo nome de usuário real.
O mapa de teclas agora deve carregar automaticamente e permanecer persistente. Nota:
- Aplica-se à versão atual do LTS, 16.04, e provavelmente mais tarde também.
- Retirado do post 14 do tópico de bug vinculado acima.
- Comentários anteriores aplicados à postagem original.