Linuxで緊急電源を切るキーボードショートカットを設定するには?

Linuxで緊急電源を切るキーボードショートカットを設定するには?

場合によっては、ノートパソコンがスタンバイモードまたは休止状態で目を覚ますと、画面のバックライトが点灯しないため、暗い部屋ではほとんど何も見えず、外にいるときは何も見えません。

唯一の回避策は、コンピュータの電源を切り、バッテリーを取り外し、再び電源を入れて電源を入れることです。電源を切ってから入れ直しても(通常のフルコールドリセットですが、バッテリーを取り外して電源を完全に切るのではありません)、役に立ちません。画面のバックライトはまだ消え、BIOSの起動順序とGRUBメニューも表示されます。暗い画面。これは、問題がドライバの問題ではない可能性があることを示します。

今は電源ボタンを5秒間押してコールドオフをしましたが、言うまでもなく頻繁にそうするのは良くありません。

無条件ですが、ソフトシャットダウンシーケンス(すべてのアプリケーションに通知し、すべてのファイルシステムを正常にシャットダウンし、適切にマウント解除する時間を提供します)シャットダウンシーケンスを実行するキーボードショートカットを設定したいと思います。

これはどのように達成できますか?

私はXubuntu 15.10を使用していますが、これはディストリビューションに拘束されていない低レベルで行われると信じているので、AskUbuntuに尋ねるのではなく、ここに尋ねることにしました.

アップデート:ソリューションのアイデアがあります。好きなだけ便利ではありませんが、まだオプションがあります。デフォルトの選択タイムアウトでGRUBを無効にし、必要に応じて+を押してコンソールCtrlAlt切り替え、+を押して再起動してから電源を押します。 GRUBで再起動する時間を与えてからコンピュータをシャットダウンします。コンピュータを再起動するのではなく、コンピュータをシャットダウンする++のようなショートカットがあったらと思います。F1CtrlAltDeleteCtrlAltDelete

答え1

これマジックSysRqキーこのような状況に適用されます。

[Magic SysRqキー]は押すことができる「魔法の」キーの組み合わせであり、カーネルは完全にロックされていない限り何をしてもそれに反応します。

これが機能するには、サポートをカーネルにコンパイルする必要があります。カーネルが応答し続ける限り、すべてのTTYがハングしても機能するため、これは少し優れた解決策です。

私のラップトップでは、Right Alt++を入力してPrtScr実行できますMagic key

あなたが望む魔法の鍵はおそらくREISUOでしょう。順番に押し、各押しの間に数秒待ちます。

'r' - キーボードの生モードをオフにしてXLATEに設定します。
'e' - init を除くすべてのプロセスに SIGTERM を送信します。
'i' - initを除くすべてのプロセスにSIGKILLを送信します。
's' - マウントされたすべてのファイルシステムの同期を試みます。
'u' - マウントされたすべてのファイルシステムを読み取り専用で再マウントしようとします。
'o' - システムをシャットダウンします(設定およびサポートされている場合)。


Ctrl個人的には、++Altで生成されたクロージャがよりエレガントだと思いますDel。現在の解決策に加えて、GRUBプロンプトが表示されたら、キーを押してcEnterを押してhaltからEnter、キーを押して正常に電源を切ります。

または、実行中のカスタム項目をGRUBに追加し、halt下矢印を数回押してからEnterを押します。


何度か異常に電源が切れたと言われましたが、次回起動時のファイルシステムの強制チェック

答え2

Ctrl+を押したAltときの動作をDelete設定できます。このキーの組み合わせを押すと、カーネルはプロセス1(init)にSIGINT信号を送信するため、決定はinitに依存します。

systemdの場合、SIGINTはctrl-alt-del.targetデバイスを起動します。デフォルト/lib/systemd/system/ctrl-alt-del.targetはへのシンボリックリンクですreboot.target/etc/systemd/system/ctrl-alt-del.targetリンクするシンボリックリンクを作成します(アップグレード時に上書きされるため、/lib/systemd/system/shutdown.target以下のリンクを変更しないでください)。/libバラよりhttps://askubuntu.com/questions/659267/how-do-i-override-or-configure-systemd-servicesUbuntuでsystemdターゲットを設定する詳細な手順です。

関連情報