web-dev-qa-db-ja.com

LinuxでのSysRqの再マッピング

私の新しいキーボードの設計者は、いくつかの理由で、PrintScreenキーを間に置く必要があると判断しました。 AltGr そして RCtrl

だから今私はこの問題を抱えています:それは時々役に立つので、私は魔法のSysRqキーを利用できるのが好きです。しかし今、私は、例えば、 AltGr+k にマッピング downarrow そして少し前にこれを使いたかったとき downarrow 組み合わせ、誤って押してしまいました AltGr+PrintScreen+k そして、すべてのプログラムが殺されました。これは非常に迷惑です。

Sysrqを別の場所に再マップする方法はありますか?お気に入り AltGr+delete か何か。

6
nonpop

新しいラップトップでこの問題が発生しました。私の解決策は、カーネルにdrivers/tty/sysrq.cをパッチして追加することでした

#undef KEY_SYSRQ
#define KEY_SYSRQ KEY_VOLUMEDOWN

すべての#includesの直後。ボリュームダウンが適切なキーでない場合は、include/uapi/linux/input-event-codes.hで他のキーコードを見つけることができます。

カーネルを変更せずにこの再マッピングを行う方法がわかりません。それがオプションでない場合は、少なくとも カーネルのsysrqドキュメント で説明されているように/proc/sys/kernel/sysrqを使用して、より危険な要求を無効にすることができます。

echo 0x1A >/proc/sys/kernel/sysrq

これにより、ログレベル、プロセスダンプ、および同期の制御のみが可能になります。他のカテゴリのほとんどは、偶発的なトリガーの後でおそらく作業を中断します。

1
wrtlprnft