Iniciando o Xmodmap no login (12.10)

3

Estou um pouco confuso sobre a inicialização automática do Xmodmap. Web disse que eu só tenho que criar

  • um arquivo .Xmodmap na minha pasta pessoal ou
  • um script .xinitrc ou .xsession em casa ou
  • um aplicativo / comando de inicialização que inicia o xmodmap

mas nenhum destes trabalhou oob.

Depois de algumas bagunças, descobri que adicionar uma instrução sleep ao meu script xmodmap iniciado por meio de aplicativos de inicialização obteve o efeito desejado.

Como não encontrei menção de sleep durante a pesquisa: isso é realmente necessário / pretendido?
Se alguma das outras maneiras (arquivo .Xmodmap simples ou script .xinitrc / .xsession) funcionar no QQ?
Além disso, como recentemente descoberto, o Xmodmap é redefinido depois de acordar do modo de espera, qualquer sugestão sobre o que fazer sobre isso?

Muito obrigado por qualquer ajuda ou esclarecimento.

.Xmodmap (working as intended when called manually):

keycode  29 = z Z y Y leftarrow yen k K exclam Greek_kappa exclamdown NoSymbol multiply
keycode  52 = y Y z Z guillemotright U203A udiaeresis Udiaeresis numbersign NoSymbol Escape Escape union
    
por pong 16.02.2013 / 20:45

2 respostas

1

Eu não tenho uma resposta, mas talvez eu possa nos ajudar a resolver esse mistério. Estou rodando o Xfce em cima do Debian (desculpe os fãs do Ubuntu) e estou tendo problemas semelhantes. Eu tenho um arquivo .desktop em ~ / .config / autostart para invocar xmodmap e isso funciona, mas o efeito dura apenas cerca de 23 segundos (cronometrado) após o qual os mapeamentos de teclas personalizadas são perdidos. Eu suspeitava que isso fosse um problema com o Xfce sobrepondo os mapeamentos de teclas e estou curioso se você estiver usando o xubuntu. Mesmo se eu digitar o comando xmodmap em um terminal logo após o login, ele será esquecido após cerca de 20 segundos. No entanto, se eu esperar um pouco e, em seguida, digite o comando que é permanente (principalmente, veja notas sobre suspender abaixo). Adicionar um sono à minha invocação de início automático tem o mesmo efeito. Meu arquivo ~ / .config / autostart / xmodmap.desktop atualmente se parece com isto:

[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=xmodmap
Comment=custom key mappings
Exec=bash -c "sleep 30;xmodmap ~/.Xmodmap"
StartupNotify=false
Terminal=true
Hidden=false

Eu configurei o terminal para mostrar para que eu possa ver o que está acontecendo. Essa é uma solução terrível, já que tenho que esperar 30 segundos antes do meu mapa de chaves entrar em vigor e, quando isso acontecer, o computador basicamente congela por cerca de 6 segundos, enquanto o xmodmap processa o arquivo de entrada. Isso é aceitável (suponho) na inicialização, mas não quando já estou no meio das coisas.

Eu também posso confirmar o comportamento de suspensão. Usando o arquivo .desktop acima, recebo meus mapeamentos de teclas, mas ao acordar da suspensão eles são esquecidos. Que chatice, mas eu não uso suspender frequentemente de qualquer maneira, então esta é uma limitação que eu poderia aceitar.

    
por ecellingsworth 01.03.2013 / 17:41
0

Eu tenho o mesmo problema com o Ubuntu 12.10.

Acabei de encontrar uma solução para mim, a bruxa é usar o nome de arquivo completo .Xmodmap:

xmodmap /home/USER/.Xmodmap
and not :
xmodmap ~/.Xmodmap

Eu coloquei o comando nos aplicativos de inicialização. Talvez isso funcione também em .xinitrc. Eu não testo.

    
por marcimat 20.02.2013 / 10:43