web-dev-qa-db-ja.com

Linuxでデフォルトとしてnum-lockを有効にする

同様の質問がありました -しかし、私見より簡単な解決策が必要です。 BIOSでnum-lockがオンになっている場合-Linuxの起動時やKDE/Gnome /起動時にオフになっているのはなぜですか?

11
Nils

Linuxは、ほとんどの周辺機器を初期化して、それらが既知の状態になるようにします。これにはキーボードが含まれます。Linuxのキーボードに関する内部データはLEDと一致しているため、LinuxはLEDをオフにします(私が覚えている限り、CPUはPCキーボードのLEDの状態を読み取ることができません)。すべての* Lockをオフに宣言します。

デフォルトでNumLockをオンにしたい。 Linuxテキストコンソールの場合、私が使用していたのは実行することです。

for t in /dev/tty[0-9]*; do setleds -D +num <$t; done

ブートスクリプトから(/etc/rc.localまたは/etc/init.d/50_local_setleds、またはディストリビューションがそれらを配置したい場所)。

最近では、少なくともDebianなどの一部のディストリビューションでは、LEDS=+num/etc/console-tools/config(または使用しているディストリビューションに応じて/etc/kbd/config)に追加できます。

Xウィンドウシステムには独自のキーボード処理があるため、個別に処理する必要があります。 Caps Lockを永続的にオフに切り替え(レイアウトにCaps Lockキーがない)、Num Lockを永続的にオンに切り替えます(レイアウトにNum Lockキーがないため、キーパッドキーがKP_1を送信します等々)。修飾子を保持したいが、Num Lockをデフォルトでオンにしたい場合は、 小さなプログラム を記述してXKbLockModifiersを呼び出し、修飾子を設定できます。 XとXChangeKeyboardControlの内側にあり、物理的なLEDを設定します。

¹ しばらくの間、テキストコンソールに悩まされていなかったので、慣れました。