我已经更改了ctrl-alt-l
快捷方式,因此系统不仅仅锁定屏幕,而且进入挂起状态。
(供参考,命令是gksudo pm-suspend-hybrid
)
如您所见,该程序需要以 root 身份运行,因此我添加了gksudo
。我真的很想让系统在无需输入密码的情况下暂停。有什么方法可以做到这一点吗?
答案1
打开终端并执行sudo visudo
。
然后,您可以编辑 sudoers 文件,在其中指定谁可以以 root 身份执行哪些命令(需要密码或不需要密码)。在文件末尾粘贴以下行
nonprivilegeduser ALL=NOPASSWD:/usr/sbin/pm-suspend-hybrid
让每个用户都能以 root 身份执行该命令而无需密码,或者
Your_Username ALL=NOPASSWD:/usr/sbin/pm-suspend-hybrid
只有您的用户可以执行此操作(当然您必须为您的用户进行调整)。然后保存文件(应该是Ctrl+O)并退出程序(Ctrl+X)。
最后,您必须编辑命令以读取sudo pm-suspend-hybrid
而不是gksudo pm-suspend-hybrid
。
注意:也可以使用 dbus 来执行此操作(不需要 sudoers 编辑),但此解决方案的优点是它适用于每个 UI。
答案2
通常情况下SUID 位是,但在您的情况下,我可能会pm-suspend-hybrid
用不需要 root 权限的不同调用来替换(毕竟,在暂停 Unity 时您不需要输入密码)。
只需使用以下命令(不带sudo
):
dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
参考:
答案3
输入命令:
sudo visudo
然后输入密码。
您可以在终端中看到以下行
%sudo ALL=(ALL:ALL) ALL
编辑 %sudo 行
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
使用 保存修改CtrlX。