技術ノート Linux および macOS ターミナル Linux で Magic SysRq キーを使用して、フリーズした X サーバーを修復し、正常に再起動し、他の低レベル コマンドを実行する

Linux で Magic SysRq キーを使用して、フリーズした X サーバーを修復し、正常に再起動し、他の低レベル コマンドを実行する

Linux で Magic SysRq キーを使用して、フリーズした X サーバーを修復し、正常に再起動し、他の低レベル コマンドを実行する

Linux では、マジック SysRq キーを使用してコマンドを Linux カーネルに直接送信できます。これを使用すると、何も応答していないように見える場合でも、フリーズから回復したり、システムを正常に再起動したりできます。

Linux で Magic SysRq キーを使用して、フリーズした X サーバーを修復し、正常に再起動し、他の低レベル コマンドを実行する

マジック SysRq キーは Linux のキーボード ドライバーの一部として実装されており、Linux カーネルが実行されている限り機能します。このキーの組み合わせを無効にする必要があるのは、カーネル パニックの場合のみです。

Linux で Magic SysRq キーを使用して、フリーズした X サーバーを修復し、正常に再起動し、他の低レベル コマンドを実行する

画像クレジット: Flickr の solylunafamilia

マジック SysRq キーの使用

SysRq キーはキーボードの Scroll Lock キーの近くにあります。Sys Rq キーは通常、Print Screen キーと同じです。 「魔法の」 SysRq の組み合わせは Alt+SysRq です。

このキーの組み合わせを使用するには、Linux カーネルが CONFIG_MAGIC_SYSRQ コンパイル オプションを使用してコンパイルされている必要があります。ほとんどの Linux ディストリビューションでは、これがデフォルトで有効になっています。カーネルにコンパイルされていると仮定すると、/proc/sys/kernel/sysrq の値を変更することで、実行中のシステム上で有効または無効にすることができます。有効になっているかどうかを確認するには、次のコマンドを実行します。

猫 /proc/sys/カーネル/sysrq

「1」が表示される場合、マジック SysRq キーのすべての機能が有効になります。数値が大きいほど、特定の機能のみが有効であることを示します。詳細については 、公式の Linux カーネル ヘルプ を参照してください。

「0」が表示された場合は、次のコマンドを実行して、すべてのマジック SysRq オプションを自分で有効にすることができます。

sudo echo “1” > /proc/sys/kernel/sysrq

Ubuntu では、マジック SysRq オプションは、/etc/sysctl.d/10-magic-sysrq.conf ファイルの内容に従って起動時に設定されます。このファイルを編集して、必要な値を選択します。

Linux で Magic SysRq キーを使用して、フリーズした X サーバーを修復し、正常に再起動し、他の低レベル コマンドを実行する

凍結した X サーバーへの対処

X サーバー (グラフィカル デスクトップを実行するプログラム) がフリーズすると、システムが使用できなくなる可能性があります。役に立つ魔法の SysRq コマンドがいくつかあります。

  • Alt + SysRq + r – キーボードを raw モードから解除し、X サーバーから制御を奪います。この組み合わせを実行すると、Ctrl + Alt + F1 (およびその他の F キー) キーボード ショートカットを使用して、別のコンソールに切り替えて X を再起動できるようになります。
  • Alt + SysRq + k – X を含む現在の仮想コンソール上のすべてのプログラムを強制終了します。Ubuntu のキーボード設定で Ctrl+Alt+Backspace キーボード ショートカットを有効にして X サーバーを再起動することもできます。ただし、このショートカットは X サーバーによって実装されます。常に機能するとは限りません。
Linux で Magic SysRq キーを使用してフリーズした X サーバーを修復し、正常に再起動し、他の低レベル コマンドを実行する

システムをクリーンに再起動する

これらのアクションの一部を順番に使用すると、プロセスを正常に終了し、データをディスクにフラッシュし、すべてのファイル システムをアンマウントし、コンピュータを再起動することができます。このプロセスを実行するには、Alt + SysRq キーの組み合わせを押したままにし、Alt キーと SysRq キーを押したまま、次のキーを順番に入力し、各キーの間に数秒間停止します。

レイサブ

Raising Elephants Is S o U tterly B oring」というニーモニックは、このシーケンスを覚えるためによく使用されます。各キーの機能は次のとおりです。

  • r – キーボードを raw モードにし、X サーバーからキーボードの制御を奪います。
  • e – すべてのプロセスに終了信号を送信し、正常に終了するように要求します。
  • i – すべてのプロセスに kill シグナルを送信し、プロセスを即時に強制終了します。
  • s – データをキャッシュからディスクにフラッシュします。
  • u – すべてのファイル システムを読み取り専用で再マウントします。
  • b – コンピュータを再起動します。
Linux で Magic SysRq キーを使用して、フリーズした X サーバーを修復し、正常に再起動し、他の低レベル コマンドを実行する

その他のコマンド

マジック SysRq キーを使用して実行できるその他のアクションをいくつか示します。アクションを実行するには、Alt + SysRq キーを押したまま文字を入力します。

  • n – すべての高優先プロセスおよびリアルタイム優先プロセスの Nice レベル (優先度) をリセットします。
  • f – oom_kill を呼び出します。これにより、メモリを大量に消費するプロセスが強制終了されます。
  • o – コンピューターの電源を切ります。

他にもアクションはありますが、開発者にとっては平均的な Linux マニアよりも役立つ可能性があります。マジック SysRq キーの詳細、および実行できるアクションの完全なリストについては、Linux カーネルの 公式マジック SysRq ドキュメント を参照してください。

「 Linux で Magic SysRq キーを使用して、フリーズした X サーバーを修復し、正常に再起動し、他の低レベル コマンドを実行する」に関するベスト動画選定!

キーボード上の魔法の SysRQ キー
【Xubuntu】Linuxを別のSSDにクローンする方法【ddコマンド】