O layout do teclado personalizado é redefinido para o padrão após o modo de espera ou reinicialização

11

Eu projetei um layout de teclado para mim, depois de executá- xmodmaplo, funciona bem, mas após o modo de espera ou reinicialização, o layout volta ao qwerty.

Como posso defini-lo como padrão? Meu sistema operacional é o Debian Wheezy com XFCE4.

Vincent Zhang
fonte
Eu tenho o mesmo problema, debian jessie com xfce4.
John Lawrence Aspden

Respostas:

6

Confira este tópico do fórum do archlinux Xmodmap Reset após Suspend to RAM . Existem vários exemplos no encadeamento que o ajudarão a começar e mostrarão como configurar um gancho que será acionado por meio do subsistema de gerenciamento de energia que executará sua xmodmapconfiguração sempre que você sair da suspensão.

Algo como o seguinte script, salvo como /etc/pm/sleep.d/11suspend(mudar o meem /bin/su - meque seu nome de usuário real):

#!/bin/bash
case $1 in
    hibernate)
        echo "Hey guy, we are going to suspend to disk!"
        ;;
    suspend)
        echo "Oh, this time we're doing a suspend to RAM. Cool!"
        ;;
    thaw|resume)
        echo "oh, suspend is over, we are in $1 phase..."
            # Set Display #
    DISPLAY=:0.0 ; export DISPLAY
    /bin/su - me -c "sleep 3; /usr/bin/xmodmap /home/me/.xmodmaprc" &
        ;;
    *)  echo "somebody is calling me totally wrong."
        ;;
esac
slm
fonte
3

Nota preliminar: você não deve usar o xmodmapcomando obsoleto , mas XKB ( xkbcomp).

Depois, você pode alterar as configurações do seu ~/.xsessionscript. Pessoalmente, tenho:

setxkbmap -types local -print | \
  sed -e '/xkb_symbols/s/"[[:space:]]/+local&/' > $HOME/.xkb/keymap/custom
xkbcomp -w0 -I$HOME/.xkb -R$HOME/.xkb keymap/custom $DISPLAY

no meu ~/.xsessionarquivo e minhas configurações de XKB são inseridas ~/.xkb/symbols/locale ~/.xkb/types/localarquivos. Isso mudará as configurações após cada login no X.

Infelizmente, essas configurações são perdidas após a suspensão / retomada . Existe uma solução alternativa: salve-os e restaure-os via pm-utils com um script no /etc/pm/sleep.ddiretório; você pode precisar

xhost +si:localuser:root

no seu ~/.xsessionscript, pois o root não possui suas informações xauth. Dei um exemplo (para XKB): https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633849#92

vinc17
fonte
~/.xsessionnão está sendo chamado após o resumo aqui. Você sabe por quê?
brauliobo
O @brauliobo ~/.xsessionnunca é executado após o resumo, apenas quando a sessão X é iniciada. Você precisa fazer xhost +si:localuser:rootapenas neste momento.
precisa saber é
Muito obrigado por esta informação. Eu não fazia ideia de que havia um método mais novo do xmodmapque carregar mapas de teclas personalizados. Parece funcionar muito melhor também. No meu caso (XUbuntu 18.04), parece sobreviver também a suspensão / retomada.
Tobia