web-dev-qa-db-ja.com

USBプラグ/アンプラグ後のUbuntu 12.10 xmodmapのリセット

Ubuntu 12.10では、ワイヤレスキーボード/マウスコンボのプラグを抜くと、.Xmodmap設定が失われます(リセットされます)。この動作を防止またはオーバーライドする方法を知っていますか?

6
user1762968

理解するのに時間がかかりましたが、これには答えがあります。これは実際にチェックしたすべてのUbuntuバージョンで発生し、現在12.04でこの修正を使用しています。

~/.Xmodmapというファイルにすべてのxmodmapマッピングがある場合、これらのマッピングはリセットされないことがわかりました。

私は自分のファイルを.xmodmaprcと呼んでおり、あなたが経験したとおりの振る舞いをしていました。新しいファイル名に変更した後、この迷惑な動作はなくなりました。私の推測では、システムに新しいキーボードが追加されるたびに、Ubuntuはこのファイルからマッピングを読み取ります。

4
user153371

これがバグなのか「機能」なのかはわかりませんが、これがなぜ機能になるのかを説明しますが、ラップトップで私が経験したことは次のとおりです。

  • ワイヤレスキーボードUSBドングルを接続および切断すると、xmodmapがリセットされます。
  • ただし、USBドッグを接続してxmodmapバインディングを適用し、OSを再起動した後、xmodmapバインディングはそのままであり、ドングルを切断してもxmodmapはリセットされません。

では、なぜこれが機能になるのでしょうか? 2つのキーボードは異なるレイアウトを意味するため、ワイヤレスキーボードのレイアウトは、もちろんラップトップのキーボードとは異なります。ワイヤレスのフルサイズキーボードのラップトップのキーボードで使用しているのと同じバインドが必要ないため、キーボードを接続するたびに、xmodmapがデフォルトにリセットされます。

他のキーボードでも同じバインドを使用しますか? xmodmapがリセットされるたびに、ターミナルでxmodmap ~/.Xmodmapを行ってください。

ただし、異なるバインディングを使用する場合は、~/.Xmodmap2などの新しいファイルに他のキーボードのバインディングを保持し、2番目のキーボードを使用するたびに、接続してxmodmapをリセットした後、xmodmap ~/.Xmodmap2

0
Shayan