SyRqを使用するこのキーシーケンスが機能しないのはなぜですか?

SyRqを使用するこのキーシーケンスが機能しないのはなぜですか?

zshellとMateデスクトップを含むFedora 20があります。私はこれを見ました。SysRq キーの使用に関するドキュメントしかし、彼らはそこに示された結果を提供していません。 Altとその上に「Print Scr」を持つ「Home」というラベルの付いたキーをSysRqキーの組み合わせとして使用します。

黄色の「FN」キーも押してみましたが、何の違いもありません。

「システムが完全に破損しても再起動」の順序は非常に便利なようですが、私が間違っているかどうか疑問に思います。

答え1

SysRq チーム構成を無効にした可能性があります。これが機能するためには、次のことが満たされなければなりません。

  • CONFIG_MAGIC_SYSRQカーネル構成でこれを有効にする必要があります。
  • kernel.sysrqSysRqの組み合わせを解釈できる値にsysctlを設定する必要があります。

kernel.sysrq機能を有効/無効にするビットマスクです。

  • 0 - 完全に無効
  • 1 - 完全に有効
  • 2 - コンソールロギングレベル制御を許可する
  • 4 - キーボード制御を許可
  • 8 - 制御プロセスダンプを許可する
  • 16 - 制御sync()呼び出しを許可する
  • 32 - 読み取り専用の再インストールを許可する
  • 64 - プロセス信号を許可
  • 128 - システムの電源状態の変更を許可する(再起動/電源オフなど)
  • 256 - サイズ変更操作をリアルタイムで実行できるようにする

すべてのSysRq機能を有効にしたい場合は、このsysctlツールを使用して一時的に値を設定できます。

sysctl -w kernel.sysrq=1

これを永久に実行するには、次の行を追加してください/etc/sysctl.conf

kernel.sysrq = 1

/etc/sysctl.confその後、を実行してシステムに設定を再ロードさせることができますsysctl -p

答え2

通常、ボタンを押すとキーボードがキーコードを生成します。オペレーティングシステムはキーコードを受け取り、いくつかのキーマッピングを適用し、基本ハードウェアとは無関係にキーの組み合わせを処理しようとします。

SysRq メカニズムは若干異なります。キーボードはボタンを1回押すかのように組み合わせをキャプチャし、特殊なキーコードをオペレーティングシステムに送信します。 Linuxカーネルは、Xサーバーなどの高レベルのアプリケーションに入力を渡すことなく、特殊なキーコードをキャプチャして内部で処理します。これは2つの結果を意味します。

  1. キーの組み合わせは実際にはキーボードによって異なります。キーボードはそれ自体ですべてのキープッシュをキャプチャする必要があり、キーボードだけが実際のSysRqキーの位置と特別なキーコード転送をトリガーする組み合わせを「知っています」。だから:

    • SysRqは必ずしも「Home」または「Print Screen」と同じボタンにある必要はありません。検索してみてください。通常、「SysRq」というラベルがはっきりと表示されています。
    • 別の組み合わせを試すCtrl+Alt+SysRq+bCtrl+Alt+Fn+SysRq+b待ってください(警告、成功するとシステムが再起動されます)。そのキーを持つキーボードでは、Fn通常、実際のキーを取得するにはそのキーを押す必要があるため、組み合わせSysRqにそのFnキーが含まれる可能性が高くなります。
  2. 正しい組み合わせがいつであるかを実際に知ることができます。xev端末で実行してxevウィンドウに焦点を合わせ、キーボードの一部のボタンをクリックすると、端末にイ​​ベントが表示されることがわかります。正しい組み合わせを取得すると、イベントはカーネルによってキャプチャされ、Xサーバーに転送されないため、イベントを受け取ってはいけません。

また、次の記事を参照してください。https://www.kernel.org/doc/Documentation/sysrq.txt

関連情報