スタンバイまたは再起動後、カスタムキーボードレイアウトはデフォルト値にリセットされます。

スタンバイまたは再起動後、カスタムキーボードレイアウトはデフォルト値にリセットされます。

キーボードのレイアウトを直接設計しましたが、xmodmap実行後はうまく機能しますが、スタンバイまたは再起動後にレイアウトがクォーティに戻ります。

どのようにデフォルトに設定できますか?私のオペレーティングシステムは、XFCE4がインストールされたDebian Wheezyです。

答え1

このArchlinuxフォーラムのスレッドをチェックしてください。中断後にXmodmapがRAMにリセットされる。このスレッドには、起動に役立ついくつかの例があり、一時停止を終了するたびに設定をxmodmap実行する電源管理サブシステムによってトリガーされるフックを設定する方法を示します。

次のスクリプトと同様に、別の名前で保存します(実際のユーザー名に /etc/pm/sleep.d/11suspend変更)。me/bin/su - me

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

答え2

予備注:廃止予定のコマンドを使用せず、xmodmap代わりにXKB(xkbcomp)を使用してください。

その後、スクリプト内で設定を変更できます~/.xsession。私は個人的に以下を持っています:

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

私のファイルでは、~/.xsession私のXKB設定はファイルに配置されます。これにより、Xログインごとに設定が変更されます。~/.xkb/symbols/local~/.xkb/types/local

残念ながら、これらの設定は一時停止/再開後の損失。回避策があります。/etc/pm/sleep.d必要なディレクトリのスクリプトを使用して、pm-utilsを介して保存して復元します。

xhost +si:localuser:root

~/.xsessionルートにxauth情報がないため、スクリプトにあります。私は(XKBについて)例を挙げました:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633849#92

関連情報