问题描述
我有Ubuntu的桌面版。
我喜欢终端,所以我更喜欢用shutdown
命令关闭我的电脑。
但是,当我输入shutdown now
时,它会提示我输入我的密码。有没有办法在不输入密码的情况下使用此命令关闭计算机?
最佳解决思路
运行visudo
并添加以下行之一:
%group_name ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown
要么
user_name ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown
这允许用户/组使用sudo运行上述三个命令,但是没有密码。
因此,sudo poweroff
现在将导致无密码关闭。
但是,为了使它更清洁,我们将添加一个别名,以便运行shutdown
调用sudo shutdown now
。
打开~/.bash_aliases
进行编辑。
nano ~/.bash_aliases
在文件末尾插入以下行:
alias shutdown='sudo shutdown now'
最后,将更改加载到.bash_aliases
文件中……
source ~/.bash_aliases
试试看!
shutdown
谢谢,Eric。
次佳解决思路
不使用sudo而不修改系统的安全方法是执行以下one-liner命令:
对于Ubuntu 14.10或更早版本:
关掉:
/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
重新开始:
/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart
consolekit当然应该安装你的系统。
您可能喜欢的其他命令:
暂停:
/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
休眠:(如果在您的系统上启用)
/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate
对于Ubuntu 15.04及更高版本:
(这是由于Ubuntu使用systemd
代替Upstart
的转变)
systemctl poweroff
systemctl reboot
systemctl suspend
systemctl hibernate
systemctl hybrid-sleep
由于在Ubuntu系统中默认情况下通常会禁用hibernate,因此您可以通过检查以下答案来启用它:https://askubuntu.com/a/617254/101985
原始来源:https://bbs.archlinux.org/viewtopic.php?id=127962
第三种解决思路
unity使用了许多gnome服务,在这种情况下 – 你可以关闭gnome方式。
gnome-session-quit --power-off --force --no-prompt
会做的。