起動/ログイン時にxmodmapコマンドが実行されないのはなぜですか?


10

ログインするたびに(または、機能しない場合は起動するたびに)このコマンドを実行したいと思います。 xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'

私は多くのことを試しました。コマンドをに入れましたSystem > Preferences > Startup Applications。私はそれを.shファイルに入れ、マークchmod +xを付け、そのファイルをに入れましたSystem > Preferences > Startup Applications。スクリプトをに入れました/etc/init.d。コマンドをに入れました~/.profile。何も動作しないようです。

最後に、これを私の中に入れました~/.profile

touch test1
xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'
touch test2

test1とtest2の両方が作成されますが、キーはまだ再マッピングされていません。コマンドをコピーして貼り付けて手動で実行すると、問題なく動作します。ただし、ログイン時には実行されません。何か案は?

回答:


11

~/.profileログインシーケンスの早い段階で実行されます。デスクトップ環境がキーボードレイアウトを構成している場合は、ロードした設定を上書きする可能性があります。

次のファイルに設定を保存します~/.Xmodmap

keysym Delete = Menu
keysym Menu = Delete

Ubuntu 10.04のデフォルトのGnome環境では、次にログインするときに、をロードするかどうかを尋ねるプロンプトが表示されます~/.Xmodmap。それをロードして、「もう聞かないで」にチェックを入れてください。次に.Xmodmap、デフォルト設定の後に適用されます。


ありがとう、これは完全に機能しました。好奇心から、将来もう一度確認したい場合に備えて、「もう聞かないで」とチェックしたダイアログに戻るにはどうすればよいですか。
Matthew

1
@Matthew:未テスト:を起動しgconf-editor、参照して/desktop/gnome/peripherals/keyboard/generalknown_file_list削除するエントリを編集し.Xmodmapます。
Gilles「SO-邪悪なことをやめよ」

これは、最初にこの質問に回答したときのUbuntu 10.10ベータ版でうまくいきました。昨日Ubuntu 10.10の新規インストールを行い、同じ.Xmodmapファイルをホームフォルダーに配置しました。再度ログインすると、ダイアログが表示され、.Xmodmapが読み込まれ、以前と同じようにボックスがチェックされました。しかし、それはキーを再マッピングしているようには見えません。私はgconfをチェックインしました。.Xmodmapは確実にknown_file_listにあります。何か案は?
Matthew

これは、Gnome 3.10.1 / Archlinuxでも動作しません。Gnomeがキーボードレイアウトをロードする順序で何かが調整されていないのでしょうか。
Caleb

Gnome 3.10で〜/ .xmodmapが読み込まれなくなったため、bbs.archlinux.org / viewtopic.php ?pid = 1194968#p1194968:Gnomeのキーボードプラグインを無効にすることで機能する解決策を見つけました。$ gsettings set org.gnome.settings-daemon.plugins.keyboard active false
plnx 2015

2

上記のGconf-Editorの場所で、修正されたキーボードレイアウトの名前が「known_file_list」の下と「update_handlers」の下に2回表示されるはずです。Ubuntuが後者のエントリを入力する場合と入力しない場合がある理由については、まあ、それはあなたをつまらないようにしますね。

ちなみに、私は多くの調査の後、上記の微調整を使用して、左ウィンドウキーを再割り当てしました。私は自分のキーボードレイアウトに次のステートメントを入れて、左矢印キーを複製しました:-

キーコード133 = 0xFF51

(xevに移動して、最初に1つのキーを押し、次にもう1つのキーを押して、これらが正しいコードであることを確認してください。)

それはほんの少しのポイントですが、私がインターネットにいる間、それは私に便利な「戻る」キーを与えます-左手でAlt + Win。見なくてもできる。


1
Alanは次のように書いています。「上記のGconf-Editorの場所に、修正したキーボードレイアウトの名前が2度表示されるはずです。1つは「known_file_list」の下、もう1つは「update_handlers」の下です。」アランが正しいことが確認できました。Ubuntu 10.10では、〜/ .Xmodmapファイルを有効にするには、gconfの/ desktop / gnome / peripherals / keyboard / generalの下の「known_file_list」リストと「update_handlers」リストの両方に「.Xmodmap」が表示されている必要があります-編集者。ありがとう、アラン。

1

システムによっては、という名前のファイルを探し、~/.Xmodmapそこで見つかったコマンドを実行します。そのファイルにこれらの行を入れてみてください:

keysym Delete = Menu
keysym Menu = Delete
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.