如何在没有密码的情况下从 Gnome Shell 扩展休眠?

如何在没有密码的情况下从 Gnome Shell 扩展休眠?

在我的系统(Ubuntu 20.04)上,我已经安装了Gnome Shell 扩展修改了关机选项的样式,还添加了休眠选项,我偶尔会在我的系统上使用它来代替挂起。虽然扩展按预期工作,但每次我想休眠时,系统都会提示我输入超级用户密码才能继续,这很烦人。为了摆脱密码对话框,我按照回答并补充

my_username ALL=(ALL:ALL) NOPASSWD:/bin/systemctl hibernate

到我的 sudoers。经过此更改后,我能够从命令行休眠而无需密码,正如预期的那样。但是,所述 Gnome Shell 扩展中的相应选项仍然提示我输入密码。扩展的幕后代码可以找到这里。我找不到该函数的任何实现Util.trySpawnCommandLine,但它似乎只会在 shell 中调用补充命令。因此,我不清楚为什么仍然要求我输入密码。我检查了返回which systemctl/bin/systemctl可能是 Gnome Shell 中的命令是在与登录用户不同的用户上下文中执行的?

PS:无论如何,从安全角度来看,将上述行添加到 sudoers 文件是否被认为是安全的?

相关内容