キーボードのレイアウトを直接設計しましたが、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