web-dev-qa-db-ja.com

「gnome-screensaver」がキーボードをデフォルトのレイアウトにリセットしないようにするにはどうすればよいですか?

セッションの起動中にキーボードレイアウトを変更するには、xmodmapを使用します。ただし、GNOMEスクリーンセーバー/ロック画面がアクティブになるたびに、キーボードがデフォルトのレイアウトにリセットされ、キーバインドを元に戻すためにxmodmapを再度実行する必要があります。

パスワードプロンプトを表示する前に、キーボードレイアウトをリセットするのが正しいことを理解していますが、GNOMEスクリーンセーバーの実行を停止する方法はありますか?または、GNOMEに常にカスタムキーボードレイアウトを使用するように指示する方法はありますか?

8
Riccardo Murri

ログイン時に、.Xmodmap(ユーザーまたはグローバルに設定)が適切に読み取られます。ただし、モニターがスリープ状態になり、再度ログインすると、リセットされ、.Xmodmapがロードされる前と同じようにキーが機能します。キーボードがモニターに接続され、モニターがスリープ状態になったときや電源が切れたときにすべての座りが失われることに気づくまで、設定は回避されませんでした。助けとなったのは、キーボードを直接コンピュータータワーに接続することでした。これで、ログイン直後の.Xmodmapの最初の読み取りは、モニターのオン/オフに関係なく維持されます。

2
user11243

gconf-toolで検索すると、/desktop/gnome/peripherals/keyboard/general/update_handlersという設定が見つかりました。これは明らかに、キーボードステータスがリセットされるたびに(再)ロードされるXmodmapファイルのリストです。

これを.Xmodmapに設定すると、(ログアウトして再度ログインした後に)うまくいきました。

9
Riccardo Murri

[システム]-> [設定]-> [キーボード]でGNOMEキーボードレイアウトオプションを変更できます。

[システム]-> [設定]-> [キーボードショートカット]でキーバインドを編集できます。

これらはxmodmapと同じ柔軟性を持たないかもしれませんが、スクリーンセーバー/ロック画面の後でも適切に動作するはずです。

2
dv3500ea

xkb ファイルに保存されたカスタムキーバインディングがあり、 xkbcomp で読み込むことができます。この設定をリセットするスクリーンセーバーで問題が発生したことはありません。

その後、xが開始するたびにxkbcompコマンドを.xinitrcファイルに入れて、キーマップをロードできます。

1
DLH