web-dev-qa-db-ja.com

特定の時間後にシステムを自動的にシャットダウンするにはどうすればよいですか?

特定のカスタマイズ可能な時間後にシステムを自動的にシャットダウンするにはどうすればよいですか?

41
NES

ターミナルウィンドウを開き、次を入力します。

Sudo shutdown -h +60

60分を必要な分数に置き換えます。

詳細はこちら:

http://ubuntuforums.org/archive/index.php/t-473173.htmlhttp://www.linux.org/lessons/beginner/l5/lesson5a.html

49
Daniel
8
karthick87

一定の非アクティブ期間の後にPCをシャットダウンするトピックはこのトピックにリダイレクトされたであるため、ここでこの問題を説明します。

私はこの問題を解決するために多くの時間を費やしたので、他の人にとって同じ問題を簡単にするために、それを共有することは有用だと思います。私はさまざまなプログラムを試しましたが、それらは私のために機能していませんでしたので、短いスクリプトcronjob最適なソリューション。

最初に私は投稿を参照しました タイムアウトシャットダウン-30分後にシャットダウン

以下にコピーして、それを機能させるための改善点を説明します。

Xprintidleをインストールします。このツールは、ユーザーのアイドル時間を提供します。

Sudo apt-get install xprintidle

スクリプトautoshutdown.shを作成します。このスクリプトは、アイドル時間を確認し、30分間アイドル状態の場合にシャットダウンするようコンピューターに指示します。

idle=$(xprintidle)

if [ $idle -gt 1800000 ]; then
    shutdown -h now
fi

このためにcronjobを作成し、システムが長時間アイドル状態になっていないかどうかを確認し、30分以上アイドル状態になっている場合はシャットダウンします。 rootユーザー用にcronjobを作成する必要があることに注意してください。


このスクリプトを機能させるには、次のようないくつかの改善が必要です。

idle=`env DISPLAY=:0 su OUR_USER -c xprintidle 2>&1`

OUR_USERは、アイドル時間をチェックするために参照するユーザーです(rootユーザーではありません)

DISPLAY=:0は1つのデスクトップディスプレイに適しています(状況によりenvコマンドを実行してDISPLAYを読み取ります)

スクリプトがOUR_USERによって実行される場合、上記の行を減らすことができます。

idle=`env DISPLAY=:0 xprintidle 2>&1`

このトピックについて説明します http://ubuntuforums.org/showthread.php?t=1069602

スクリプトをOUR_USERで実行する場合、shutdownコマンドの前にSudoを付ける必要があります

Sudo shutdown -h now

私のスクリプトは、cronファイルの行ごとにcronから実行されました。

*/5 * * * * /home/OUR_USER/autoshutdown.sh 
  • 5分ごと
  • OUR_USERは、参照するユーザーの以前のように置き換える必要があります。

スクリプトがルートで実行されない場合、次の行を追加することを忘れないでください:

ALL ALL=(ALL) NOPASSWD: /sbin/shutdown 

sudoersファイルであるため、shutdownコマンドを実行するためにパスワードは不要です。


私は2つの同様のディストリビューションでLubuntu 12.04.4 RC LXLE 32-bithttp://www.lxle.net/

1つのシステムでは、ファイルに設定されているルートcronjobを使用する場合にのみ機能します。

/ var/spool/cron/crontabs/root


警告

別の問題は、私のシステムのxprintidleが時々ランダムな値を与え、時には論理的に増分することです。最終結果-最大アイドル値を30分に設定すると、システムは通常20分後にシャットダウンされます。犯人はxscreensaverであり、入力されたパラメータで設定されているように動作しないと思います。

2
Michał

使用できます

ComplexShutdown https://launchpad.net/complexshutdown

またはEasyShutdown https://launchpad.net/easyshutdown

1
Emad Habib