Alt+SysRq+B は常にトリガーされませんが、REISU は常にトリガーするのはなぜですか。

Alt+SysRq+B は常にトリガーされませんが、REISU は常にトリガーするのはなぜですか。

複数の異なるコンピュータで動作が停止した場合、大きなダメージなしでAlt再起動するために++を使用することがよくあります。ただし、+を押して+を放さずに入力しても、コマンドが機能することがよくあります。最後のコマンドは非常に「怠惰な」ようです。このコマンドを何度も繰り返す必要がありますが、実際にはそうではありません。より多くの反復を行うまで実行しないでください。 「+を押してBを入力して+を放します」回数(常に同じ回数ではありません)。SysRqREISUBREISUAltSysRqAltSysRqBAltSysRqAltSysRq

この問題が最初に発生したときは、カーネルがあまりにもしっかりとロックされていて、私のコマンドを「見るB」ことができないからだと思いました。一般的な現象。機能するシステム(Debian、Ubuntu、LFSなど)でも簡単に再現できます。実際にカーネルをロードinit=/bin/bashし、このbashプロンプトでそれを再現することもできます。

シリアルコンソール出力を見ると、カーネルが最終的に再起動されたことを確認した場合、REISU印刷された複数のコマンドに対するフィードバックを1つだけ減算してすべて表示されます。B

なぜこれですか?偶発的なリセットを防ぐ一種のカーネル機能がありますか、それともバグですか(非常に奇妙です)?

マルチメディアキーのない通常のキーボードを使用しているため、Fnこの質問は重複しません。これ

ベストアンサー1

問題はソフトウェアではなくハードウェアです。キーボードキーは独立していません。約100個のキーがありますが、キーボードの内部コントローラに接続される電線は約26本だけです。

ここに画像の説明を入力してください。

(画像ソース:dreamtime.com)

つまり、同時に押してもすべてのキーが検出されるわけではありません。それよりも近いので、RAlt常に片手を自由にして文字を入力するのに使います。しかし、ほとんどの(すべて?)PCキーボード++ではスキャンコードを送信しないようです!*SysRqLAltRAltSysRqBB

なぜ再起動になったのですか?簡単です。この半分だけ動作するコマンドでコンピュータを再起動することができないので、本当に迷惑なときに特に注意を払わずにキーの組み合わせを数回押し、時にはキーを押してから離すことを混ぜることもあります。これはまったくそうではないようです。SysRqA Linuxの一般修飾子は次のとおりです。 Magic-SysRqモードは、Altリリース後もアクティブSysRqのままですAlt。これで動作するように見える順序は次のとおりです。

  • ~によるとRAlt
  • ~によるとSysRq
  • 解放するSysRq
  • ~によるとB
  • 再起動を見る

状況がより単純に見えるため、LAltキーボードは+を押し続けているBことを検出できるため、問題はありません。しかし、私はいつも使用しているので、以前はこれに気づいたことはありません。LAltSysRqRAlt

興味深いことに、この問題は古くから知られていたようで、その解決策も私が経験的に見つけたようです。カーネルソースツリーでは、ドキュメント/sysrq.txt(強調):

x86で - 「ALT-SysRq-<コマンドキー>」キーの組み合わせを押します。注 – 一部のキーボードには「SysRq」というラベルの付いたキーがない場合があります。 「SysRq」キーは「Print Screen」キーとも呼ばれます。また、一部のキーボードは同時に押しすぎる操作を処理できないため、「Alt」、「SysRqを押す」、「SysRqを解除」、「<コマンドキー>を押す」、すべてのキー解除を使用する方が良いかもしれません。

したがって、このヒントは正式に推奨されており、実装の信頼できない副作用ではないようです。

*実際にスキャンされたすべてのコードを報告する単純なDOSプログラムを使用してこれを確認しました。i8042各IRQ1に提供

おすすめ記事