通常、学校に行く前にダウンロードを開始します。
特定のタスクが完了した後、必要な保存を自動的に行い、コンピューターの電源を切るには、どのコマンドを使用すればよいですか?
(たとえば、アップデートをインストールした後、または大きなファイルをダウンロードした後。)
また、これをunix.stackexchangeにクロスポストしました。
通常、学校に行く前にダウンロードを開始します。
特定のタスクが完了した後、必要な保存を自動的に行い、コンピューターの電源を切るには、どのコマンドを使用すればよいですか?
(たとえば、アップデートをインストールした後、または大きなファイルをダウンロードした後。)
また、これをunix.stackexchangeにクロスポストしました。
回答:
パスワードなしでマシンをシャットダウンできるようにするために一度行うには:
コマンドラインを開き、次のように入力します。
sudo visudo
開いたファイルの最後に次の行を追加します。
yourusername ALL=NOPASSWD: /sbin/halt
次に、エディターを終了して安全にします(Ctrl+ X)。
これで、たとえば何かをダウンロードした後など、コマンドラインからコンピューターをシャットダウンできます。
wget UrlOfTheFileYouWantToDownload && sudo halt
更新後にシャットダウンするには、次のpythonスクリプトを使用できます:http : //kotbcorp.blogspot.com/2009/06/shutdown-after-update-in-ubuntu.html
ダウンロード後にシャットダウンするには、次のコマンドを使用します。
wget http://somehwere.com/path/to/some.file && halt
halt
はスーパーユーザー特権が必要なのでsudo -s
、コマンドを入力する前に実行する必要があります。
どうやって「ダウンロード」したかによりますね。
apt-get update、upgradeシーケンスについて話している場合は、ルートとして&&を使用してコマンドをつなぎ合わせます(シーケンスは、エラーがなかった場合にのみ続行されます)
sudo su -
apt-get update && apt-get upgrade && shutdown -h now
ダウンロードについて話している場合(例:wgetを使用)[&&表記を使用してコマンドを連結し、前のコマンドが成功した場合にのみコマンドが順番に実行されるようにします]
sudo su -
wget -t0 -c http://somedownloadsite/path/file.foo && shutdown -h now
ダウンロードがグラフィカルクライアント(gui)によって行われた場合、ダウンロードが成功した後にスクリプトを実行することは、そのクライアントのメカニズムに依存します。
sudo su -
新しいシェルを開始し、セミコロンの後のコマンドは、新しいシェルが終了するまで実行されないため、これらのコマンドは機能しません。
個人的には、geditを使用してオリジナルをセットアップする方が簡単だと思いました
yourusername ALL=NOPASSWD: /sbin/halt
以来、sudo visudo
私に混乱して、はっきりと最後の行を示しませんでした
だから私は
sudo -H gedit /etc/sudoers
その後、明確な(私にとって)ページに終わりました
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
#includedir /etc/sudoers.d
shantiq ALL=NOPASSWD: /sbin/halt
誰かが少し混乱した場合に備えて、
シャットダウン時にアクセス許可を変更する代わりに、次のことを実行できます。
sudo bash -c 'apt-get update; apt-get dist-upgrade; shutdown -h now'
これは、単一引用符で囲まれたリストの項目を実行して終了するrootとしてbashプロンプトを実行することです。この方法のボーナスは、Ubuntuがsudo
一定の時間が経過すると(初期設定のタイムアウト期間に応じて-デフォルトでは15分)最初の認証を忘れることであり、マシンを横切る誰かが現在のコマンドを停止するだけで、新しいコマンドを実行することはできません。また、を使用するようsu
に言うすべての人のために、試してください:
sudo -s
そんなことができるとは思いません...特定のアプリケーションがいつ終了したかを知る方法はありません。
やったことある sudo su; sleep 3600; halt;