El diseño del teclado personalizado se restablece a los valores predeterminados después del modo de espera o reinicio

11

Diseñé un diseño de teclado para mí, después de ejecutarlo xmodmapfunciona bien, pero después del modo de espera o reinicio, el diseño vuelve a qwerty.

¿Cómo puedo configurarlo como predeterminado? Mi sistema operativo es Debian Wheezy con XFCE4.

Vincent Zhang
fuente
Tengo el mismo problema, Debian Jessie con xfce4.
John Lawrence Aspden

Respuestas:

6

Echa un vistazo a este hilo del foro de archlinux Xmodmap Restablecer después de suspender a RAM . Hay varios ejemplos en el hilo que lo ayudarán a comenzar y le mostrarán cómo configurar un enlace que se activará a través del subsistema de administración de energía que ejecutará su xmodmapconfiguración cada vez que salga de la suspensión.

Algo así como la secuencia de comandos siguiente, salvo que /etc/pm/sleep.d/11suspend(cambiar el meen /bin/su - meque su nombre de usuario 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
fuente
3

Nota preliminar: no debe usar el xmodmapcomando obsoleto , sino XKB ( xkbcomp).

Luego puede cambiar la configuración desde su ~/.xsessionscript. Personalmente tengo:

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

en mi ~/.xsessionarchivo, y mis configuraciones XKB se ponen en ~/.xkb/symbols/localy ~/.xkb/types/localarchivos. Esto cambiará la configuración después de cada inicio de sesión X.

Lamentablemente, estas configuraciones se pierden después de suspender / reanudar . Hay una solución alternativa: guárdelos y restaúrelos a través de pm-utils con un script en el /etc/pm/sleep.ddirectorio; tu puedes necesitar

xhost +si:localuser:root

en su ~/.xsessionscript ya que root no tiene su información xauth. He dado un ejemplo (para XKB): https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633849#92

vinc17
fuente
~/.xsessionno se llama después de reanudar aquí. ¿Sabes por qué?
brauliobo
@brauliobo ~/.xsessionnunca se ejecuta después de reanudar, justo cuando comienza la sesión X. Solo debes hacerlo xhost +si:localuser:rooten este momento.
vinc17
Muchas gracias por esta información. No tenía idea de que había un método más nuevo que xmodmapcargar mapas de teclas personalizados. Parece que funciona mucho mejor también. En mi caso (XUbuntu 18.04) parece sobrevivir a suspender / reanudar también.
Tobia