一定時間使用しないときは消してください。

一定時間使用しないときは消してください。

私は時々夜に消すことを忘れている「メディアセンター」コンピュータを持っています。私が覚えていたら、私は通常リモートで「メディアセンター」コンピュータにアクセスしてシャットダウンしましたが、ほとんどの夜はこれを忘れてコンピュータが一晩中働きました(翌日も同じでした)。

"Do you want to shutdown?" [Yes] [No]ダイアログボックス(例:)でコンピュータをシャットダウンする方法はありますか?私がダイアログをしたいのは、時々私たちが夜遅くに映画を見たときにランダムに電話をオフにしたくないからです。

poweroff午前1時にスクリプトを実行するcronタスクを実行できますが、どうすればよいのか、shutdown標準ユーザーとして実行するのかわかりません。助けが必要ですか?私はLinux Mint 17.3(Ubuntu 14.04)を実行しています。

ベストアンサー1

"Do you want to shutdown?" [Yes] [No]ダイアログボックス(例:)でコンピュータをシャットダウンする方法はありますか?

最も簡単な方法は次のとおりxmessageです。

#!/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
export DISPLAY=:0.0

xmessage -timeout 10 "Shutdown computer?" -buttons yes:0,no:1

case $? in
    0)  
    echo "Shutting down..."
    #systemctl poweroff
    ;;  
    1)  
    echo "Ok."
    ;;  
    *)  
    echo "Mystic error!"
    ;;  
esac

使用できるように$PATH変数を追加しました(詳細は$DISPLAYcronここ)。もちろん、考えるコンピュータをシャットダウンするには、その行のコメントを削除する必要がありますが、これらのecho文を削除することもできます。ただサンプルですぐに集めました。

要点は、ユーザーがyes戻りコードを押すと0コンピュータがシャットダウンされることです。ユーザーがno戻りコードが yes を押すと、1次のようになります。いいえ閉鎖。 (編集:)timeout数秒後(10この場合)、ユーザーがボタンを押さないとシャットダウンされ、xmessageコンピュータ0がシャットダウンします。

スクリプトが実行されると、次のような小さなダイアログボックスが生成されます。

https://s22.postimg.org/irl97w835/xmessage.png

素晴らしいと確信していますzenityが、このような簡単な作業の場合、おそらくxmessage最も簡単な方法でしょう。

おすすめ記事