マジックSysRqキー(Magic SysRq key)の有効化と永続化

近頃、公式から許可をもらいスタンドアロン化したS.T.A.L.K.E.R. AnomalyというStalkerのModで遊んでいるが
このゲームをやっていると急に止まることがある
ゲームが落ちたりフリーズするだけではなく、PC自体がフリーズしてしまうのだ
Alt+F4やAlt+Tabも効かないので、ゲームを閉じることもウィンドウを切り替えることも出来ない
ゲームが悪いのか、Wineが悪いのか、中古のグラボが悪いのかはわからないが、突然なんの操作もできなくなるのは困る

経験則からファイルの保存を先延ばしにしたりしないし
最近のブラウザは異常終了後にタブの復元を行ってくれるのでこれらは問題ない

しかし何より怖いのはSSDやHDDやUSBメモリの破損である
果たしてSSDが強制終了に強いのか弱いのかは知らないが、良い影響を及ぼさないのは確実だろう
実際に強制終了後の起動時にはfsckのログが多数流れるので心臓にもよろしくない

そこで出来るだけ安全に再起動させるのが、このマジックSysRqキーである
これはカーネルレベルでコマンドを実行させることで
ウィンドウマネージャやX11がフリーズしても特定の操作ができるようになっている・・・・らしい

この時使うキーがSysRqなのでマジックSysRqキーと呼ぶようだ
実行方法は以下のキーを一定時間を開け、上から順番に押していく
 基本的にSysRqキーはAltとPrintScreenの組み合わせなので書いているが違う場合もあるらしい
キー 意味 説明
 Alt + PrintScreen + R   unRaw  キーボードの制御を取り戻す オマジナイ?
 Alt + PrintScreen + E   tErminate  すべてのプロセスに正常終了命令を送る
 Alt + PrintScreen + I   kIll  すべてのプロセスに強制終了命令を送る
 Alt + PrintScreen + S   Sync  書き込み予定のキャッシュをすべて書き込む
 Alt + PrintScreen + U   Unmount  すべてのファイルシステムを読み込み専用で再マウント
 Alt + PrintScreen + B  reBoot  再起動

上記の組み合わせで出来るだけ安全にPCを再起動することが出来る
処理には時間がかかる場合があるので、10秒ほど開けて次のキーを押したほうがいいだろう

フリーズした際には非常にありがたい機能だが、間違って押される事を防ぐためにディストリによっては無効化されている
これを確認するには /proc/sys/kernel/sysrq の内容を確認して「1」であれば有効化されている
manjaroで確認したところ「16」だったが、これはSyncのみ可能とのことで再起動は出来ない

そこでやっと本題の有効化だが、管理者権限の端末で
echo 1 > /proc/sys/kernel/sysrq を行えば有効化はされる・・・・が、再起動すると元の数値に戻ってしまう
これを永続化するには /etc/sysctl.d/99-sysctl.conf を作成し kernel.sysrq = 1 と書き込むことで起動時に書き換えてくれる

あとは上のキーを付箋にでも書いて見える所に貼っておけば、いつフリーズしても大丈夫だ
でもフリーズしないのが一番良いね

コメント

このブログの人気の投稿

Firefoxで改造アドオンのインストール失敗

base64で文字列化された画像のリサイズ用ツール

PlayOnLinuxでインストールリストが表示されない場合の対処法