Das benutzerdefinierte Tastaturlayout wird nach dem Standby oder Neustart auf die Standardeinstellungen zurückgesetzt

11

Ich habe ein Tastaturlayout für mich selbst entworfen. Nachdem ich xmodmapes ausgeführt habe, funktioniert es einwandfrei. Nach dem Standby oder Neustart kehrt das Layout jedoch zu qwerty zurück.

Wie kann ich es als Standard festlegen? Mein Betriebssystem ist Debian Wheezy mit XFCE4.

Vincent Zhang
quelle
Ich habe das gleiche Problem, Debian Jessie mit xfce4.
John Lawrence Aspden

Antworten:

6

Schauen Sie sich diesen Archlinux- Forenthread an . Xmodmap Reset nach Suspend to RAM . Der Thread enthält mehrere Beispiele, die Ihnen den Einstieg erleichtern und Ihnen zeigen, wie Sie einen Hook einrichten, der über das Energieverwaltungssubsystem ausgelöst wird, das Ihr xmodmapSetup jedes Mal ausführt, wenn Sie aus dem Suspend herauskommen.

So etwas wie das folgende Skript, gespeichert als /etc/pm/sleep.d/11suspend(ändern Sie den Eingang mein /bin/su - meIhren tatsächlichen Benutzernamen):

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

Vorbemerkung: Sie sollten nicht den veralteten xmodmapBefehl verwenden, sondern XKB ( xkbcomp).

Dann können Sie die Einstellungen in Ihrem ~/.xsessionSkript ändern . Persönlich habe ich:

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

in meiner ~/.xsessionDatei, und meine XKB-Einstellungen werden in ~/.xkb/symbols/localund ~/.xkb/types/localDateien eingegeben . Dadurch werden die Einstellungen nach jeder X-Anmeldung geändert.

Leider gehen diese Einstellungen nach dem Anhalten / Fortsetzen verloren . Es gibt eine Problemumgehung: Speichern Sie sie und stellen Sie sie über pm-utils mit einem Skript im /etc/pm/sleep.dVerzeichnis wieder her. du benötigst vielleicht

xhost +si:localuser:root

in Ihrem ~/.xsessionSkript, da root nicht über Ihre xauth-Informationen verfügt. Ich habe ein Beispiel (für XKB) gegeben: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633849#92

vinc17
quelle
~/.xsessionwird hier nach dem Lebenslauf nicht aufgerufen. weißt du, warum?
Brauliobo
@brauliobo ~/.xsessionwird nach dem Fortsetzen nie ausgeführt, nur wenn die X-Sitzung beginnt. Sie müssen dies xhost +si:localuser:rootnur zu diesem Zeitpunkt tun .
vinc17
Vielen Dank für diese Information. Ich hatte keine Ahnung, dass es eine neuere Methode gibt, als xmodmapbenutzerdefinierte Keymaps zu laden. Es scheint auch viel besser zu funktionieren. In meinem Fall (XUbuntu 18.04) scheint es auch Suspend / Resume zu überleben.
Tobia