Zenity入口和sudo-S在没有shell的情况下无法正常工作



我对zenity entrysudo -S有问题。

我正在做这样的事情:

zenity --entry --title 'title' --text 'text' --hide-text | sudo -S pm-suspend

如果我在shell中运行这个,它就工作了。但我把它放进文件中,我用快捷键启动这个脚本。它不起作用!

我尝试用自己的脚本替换pm-suspend,该脚本将id -u打印到文件中。但没有创建任何文件。

有什么想法吗,哪里可能有问题?感谢

它看起来很糟糕,但您可以使用:

xterm -e "zenity --entry --title 'title' --text 'text' --hide-text | sudo -S pm-suspend"

如果有人知道如何隐藏xterm或其他解决方案,请分享。

它取决于(1)脚本和(2)运行它的地方。

例如,启动脚本的环境可能有其他PATH或其他环境变量。

你能给我看一下剧本吗?你是怎么开始的?

所以我发现了问题所在。。

sudo在没有tty的情况下不会运行。因此,有必要编辑/etc/sudoers文件并删除所需的行。

kde sudo包已经存在很久了。只要在你的包裹管理器里找苏多就行了。它将允许您通过GUI进行身份验证。用提示生成器来做这件事真的很俗气。

所以在你的脚本中你会做:

kdesudo
privilegedcommand

Superuser上也有类似的帖子,也许有人说过关于gnome的话:

https://superuser.com/questions/135311/sudo-access-for-desktop-actions-in-gnome-kde

最新更新