我对zenity entry
和sudo -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