こんにちは。最近なぜかFedora17が動かなくなった(えっ)ので、Fedora18にアップデートしました。
私は~/.Xmodmapにこんな内容を置いて、キーボードのCtrlとShiftを入れ替えたりZenkaku_HankakuをEscapeにしたりしているのですが、
keysym Zenkaku_Hankaku = Escape remove Lock = Caps_Lock keysym Caps_Lock = Control_L add Control = Control_L
Fedora18にアップデートしたところ、うまく動かなくなってしまいました。それを今回対策したので、メモっておきます。
原因は?
どうやら大本の原因は、どうやらgnome3.6になってから文字入力を担ってるあたりがgnomeに統合されたのが問題の原因(?)らしいです 参考
直接的な原因はxmodmap ~/.Xmodmapが自動で実行され無くなったことで、何もせずともコンソールで自分で
% xmodmap ~/.Xmodmap
って入力して実行すると今までどおりちゃんと設定が反映されるようになってるはずです。というわけで、これを自動で実行するようにしましょう。
gnome-session-propertiesを起動する
コンソールからgnome-session-propertiesを実行します。
% gnome-session-properties
そうすると、自動的に実行されるプログラムの一覧が表示されるので…
Addを押して、新しいエントリを追加し、
/usr/bin/xmodmap ${YOUR_HOME}/.Xmodmap
と入力してSaveして、再ログインすれば反映されるはずです。
ここで重要なのが、xmodmapを絶対パスで指定しておくことです。どうやらPATH変数がうまく設定されてないのか、xmodmapとだけ書いても動きません。
余談:SSH key agentはここで実行されている
他のエントリを見てみると中々面白いです。ssh key agentとかどこで実行されてるのか割と不思議だったのですが、この中だったのですね。
Linux版Dropboxのクライアントなどもここで実行されています。
.bash_profileとかはターミナルを起動した瞬間でないと自動実行されない(たしか)ので、Xからログインしてすぐに発動させたいコマンドはここを使うと良さそうです