我通常在上学之前开始下载。
完成特定任务后,我应该使用哪个命令自动进行必要的保存并关闭计算机?
(例如,在安装更新后或下载大文件之后。)
我也将此交叉发布在unix.stackexchange上。
我通常在上学之前开始下载。
完成特定任务后,我应该使用哪个命令自动进行必要的保存并关闭计算机?
(例如,在安装更新后或下载大文件之后。)
我也将此交叉发布在unix.stackexchange上。
Answers:
要执行一次以使您无需密码即可关闭机器,请执行以下操作:
打开命令行并输入:
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更新,升级序列,请以root身份使用&&将命令串在一起(只有在没有错误的情况下,序列才会继续)
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 -
启动了一个新的shell,并且在新的shell终止之前,分号后的命令不会执行。
我个人发现使用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'
这样做是作为根运行bash提示,该提示执行单引号列表中的项目,然后退出。这种方法的好处是,Ubuntu将sudo
在一段时间(取决于设置的超时时间-默认为15分钟)后忘记您的初始身份验证,并且遇到您的计算机的人只能停止当前命令,而不能运行新命令。另外,对于每个说要使用的人su
,请尝试:
sudo -s
我认为您无法做到这一点……您无法知道特定应用程序何时完成其工作。
我曾经做过 sudo su; sleep 3600; halt;