自分でキーボードレイアウトを設計しました。xmodmap
を実行すると問題なく動作しますが、スタンバイまたは再起動すると、レイアウトはqwertyに戻ります。
どうすればデフォルトとして設定できますか?私のOSはXFCE4を搭載したDebianWheezyです。
このarchlinuxフォーラムスレッドをチェックしてください RAMへのサスペンド後のXmodmapリセット 。スレッドにはいくつかの例があり、サスペンドから抜け出すたびにxmodmap
セットアップを実行する電源管理サブシステムを介してトリガーされるフックをセットアップする方法を示しています。
/etc/pm/sleep.d/11suspend
として保存された次のスクリプトのようなもの(/bin/su - me
の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
予備的な注意:廃止された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設定は~/.xkb/symbols/local
ファイルと~/.xkb/types/local
ファイルにあります。これにより、Xログインごとに設定が変更されます。
残念ながら、これらの設定は 一時停止/再開後に失われます です。回避策があります。それらを保存し、/etc/pm/sleep.d
ディレクトリにスクリプトを使用してpm-utilsを介して復元します。あなたが必要があるかもしれません
xhost +si:localuser:root
rootにはxauth情報がないため、~/.xsession
スクリプトで。私は例を挙げました(XKBの場合): https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633849#92