キオスクLinux Debianコンピュータがあります。
このコンピュータには物理的な電源ボタンやキーボードはありません。
私は、ユーザーがファイルシステムを損傷することなくこのコンピュータを停止および/または再起動できるようにしながら、SSHを使用してリモートでこれを実行できるようにしたいと思います。
私の考え:
- グラフィックアプリケーションで停止/再開ボタンを作成する
- ボタンを押すとコンピュータがシャットダウンします。
- コンピュータの電源を切る準備ができたら(すべてのファイルシステムがアンマウントまたは読み取り専用)、次のメッセージが表示されます。 「今すぐ電源コードを抜くか、自動的に再起動するまで30秒待ってください。」
- SSHを使用してリモートでこれを行う場合は、物理的に存在せずに再起動を完了できます。
アイデア:
- 各ファイルシステムが安定状態になった後にトリガーされるsystemd機能に依存します。どれ?
- コンピュータを安全にシャットダウンできるように、ソフトウェアボタンを押したときにルートパーティションを読み取り専用にします。しかし、これには簡単な変更が必要です
- GRUB2への依存:ソフトウェアで起動されたシャットダウンと再起動は両方ともコンピュータを再起動し、メッセージを表示してキーを待つ特別なGRUB2エントリを使用します(理想的には、sshを使用して完了すると通常のGRUB2エントリが呼び出され、すぐに起動します。 . 電源が回復したらコールドスタート)
不明な点がございましたら、お気軽にお問い合わせください。
答え1
ユーザーがシステムを分離できるように、GRUBタイムアウトを使用できます。
Linuxが起動する前にユーザーが電源を切ることができるように、デフォルトエントリを起動する前にタイムアウトを30秒に/etc/default/grub
設定します。GRUB_TIMEOUT=30
GRUBメニューのタイムアウトを待っている間、システム全体は読み取り専用状態なので、電源を切っても害はありません。
Grubを使用すると、電源を切っても安全であることをユーザーに知らせる、大きく太字のテキストなどの背景画像を表示することもできます。
利点:
- 実装はとても簡単です。
- システムをアップグレードするときに競合が発生しないようにしてください。
- ユーザーに何をすべきかについての指示を簡単に提供できます。
- 停電時のシステム損傷のリスクを最小限に抑える
- 標準
reboot
とpoweroff
コマンドは通常のシステムと同様に機能します。
欠点:
- 起動するたびに30秒遅延