我知道,为了使用 sudo 执行 CLI 程序,但无需输入密码,您所需要做的就是输入
user ALL = NOPASSWD: /path/to/your/program
在 /etc/sudoers 中,或者更好地在 /etc/sudoers.d 中的文件中。我已经尝试过了,它可以正常工作,没有任何问题。
然而,对于 GUI 应用程序来说则不同。例如,如果我尝试将
user ALL = NOPASSWD: /usr/sbin/gparted
在同一个文件中,当 GParted 启动时,仍然会出现通常的 GUI 密码提示。
有没有办法让 GUI 应用程序获得相同的结果?我不知道这是否取决于特定的桌面环境,但我怀疑它确实如此,因为它们每个人可能都使用不同的工具来显示提示。
在我的具体场景中,我使用的是 Kubuntu 18.04,所以我想这个问题适用于所有 KDE 发行版。
答案1
这是相同的。但请记住运行您需要执行的程序sudo program
。因此,如果启动器正在启动程序,您需要将启动器定向到包含以下内容的可执行包装器:
#!/bin/bash
sudo «program»
答案2
除了完美运行的已接受答案之外,我想补充一点,在我的特定情况下(在 KDE 上),我什至不需要创建可执行脚本并将菜单条目中的“命令”字段定向到那个脚本。
我可以直接在菜单项的“命令”字段中输入“sudo程序”,非常方便!