web-dev-qa-db-ja.com

特定の時間に特定のディストリビューションを起動できないようにするにはどうすればよいですか?

ManjaroKDEとElementaryOSのデュアルブートセットアップがあります。

Manjaro KDEが特定の時間(たとえば、午前8時から午後1時の間)に起動しないようにして、その特定の時間にElementaryOSのみを使用できるようにしたいとします。

GRUBレベルでは動作できないと思うので、Manjaroは確実に起動できる必要がありますが、ソフトウェアによっては、ユーザーがログインしたり、その特定の時間にディストリビューションを使用できなくなったりするのを防ぐ必要があります。 。

これは可能ですか?何ができますか?

2
RaiN

今日のように見えても明日には見えない:-)

/boot/grub/grub.cfg編集/etc/grub.dで日付と時刻に関連するコマンドを使用できるようにする必要があります。これは、OSとBIOSの両方でユーザーから保護する必要がある内部PCクロックに依存する必要がある場合でも同様です。これら2つとは異なるソースから起動する可能性として。さらに、マザーボードのバッテリーの故障は、内部時計によって示される破損した時間につながる可能性があることに注意してください。

これを見てください buntuスレッド いくつかのより実用的なヒントについては この投稿 簡単なパノラマについては。 datehookモジュールと構成ファイル(/boot/grub/grub.cfg)のヒントリレー

insmod datehook
if [ "$HOUR" -ge "8" -a "$HOUR" -lt "13" ]; then set default="0" #Manjaro KDE
else set default="1"                                             #Elementary OS 
fi

手で

上記のgrub機能を使用できない場合は、戦略を適用できます

  1. これらの他の回答 で説明されているように、間違った時間にロギングをプリエンプトして、特定の選択で再起動を強制します。起動時に実行する必要のあるスクリプトに時間チェックを入れる必要があります。チェックに合格しなかった場合は、別のgrubオプションを使用して強制的に再起動する必要があります。
    主な手順は次のとおりです。

    • /etc/default/grub書き込み/チェックGRUB_DEFAULT=saved
    • 意志のある起動オプションにはgrub-set-default(必要な場合)を使用します
    • Sudo update-grub保存する

    実行するスクリプト内

    • grub-reboot <entry>は、他のOSを指します。
  2. キック黒い時間枠が到着したときにまだログインしている人々を追い出します)、例えば次の 提案crontabにチェックを追加するdavidgoの(しかし、ここでも、willed grubオプションを使用して再起動する、または直接機能する場合は、小さなスクリプトを作成する方が良いと思いますgrub-reboot <entry>)。

良い読書と試してみてください...

0
Hastur

このために解決策を講じることができれば、それを回避することができます。知識の少ない人による試みを苛立たせる場合は、crontabに行を追加するだけで、その時間の間に1分ごとに再起動できます。おそらく/ etc/crontabの編集と追加の流れに沿って

       * 8-12 * * * root shutdown -h now
2
davidgo