La disposition du clavier personnalisé est réinitialisée par défaut après la mise en veille ou le redémarrage

11

J'ai conçu une disposition de clavier pour moi, après l'avoir exécutée, xmodmapcela fonctionne bien, mais après une mise en veille ou un redémarrage, la disposition revient à qwerty.

Comment puis-je le définir par défaut? Mon système d'exploitation est Debian Wheezy avec XFCE4.

Vincent Zhang
la source
J'ai le même problème, Debian Jessie avec xfce4.
John Lawrence Aspden, du

Réponses:

6

Découvrez ce thread de forum archlinux Xmodmap Reset après la suspension sur RAM . Il y a plusieurs exemples dans le fil qui vous aideront à démarrer et vous montreront comment configurer un hook qui sera déclenché via le sous-système de gestion de l'alimentation qui exécutera votre xmodmapconfiguration chaque fois que vous sortez de la suspension.

Quelque chose comme le script suivant, enregistré sous /etc/pm/sleep.d/11suspend(changez le meen /bin/su - mevotre nom d'utilisateur réel):

#!/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
la source
3

Note prémilinaire: vous ne devez pas utiliser la xmodmapcommande obsolète , mais XKB ( xkbcomp).

Ensuite, vous pouvez modifier les paramètres de votre ~/.xsessionscript. Personnellement, j'ai:

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

dans mon ~/.xsessionfichier, et mes paramètres XKB sont mis ~/.xkb/symbols/localet les ~/.xkb/types/localfichiers. Cela modifiera les paramètres après chaque connexion X.

Malheureusement, ces paramètres sont perdus après une suspension / reprise . Il existe une solution: enregistrez-les et restaurez-les via pm-utils avec un script dans le /etc/pm/sleep.drépertoire; Tu pourrais avoir besoin de

xhost +si:localuser:root

dans votre ~/.xsessionscript car root n'a pas vos informations xauth. J'ai donné un exemple (pour XKB): https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633849#92

vinc17
la source
~/.xsessionn'est pas appelé après la reprise ici. est-ce que tu sais pourquoi?
brauliobo
@brauliobo ~/.xsessionn'est jamais exécuté après la reprise, juste au début de la session X. Vous devez faire xhost +si:localuser:rootseulement à ce moment.
vinc17
Merci beaucoup pour cette information. Je ne savais pas qu'il existait une méthode plus récente que xmodmapde charger des keymaps personnalisés. Cela semble fonctionner beaucoup mieux aussi. Dans mon cas (XUbuntu 18.04), il semble également survivre à la suspension / reprise.
Tobia