2012-07-30 51 views
0

我有問題zenity entrysudo -SZenity條目和sudo -S無法正常工作,無殼

我做這樣的事情:

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

如果我在shell中運行這個,它的工作。但我把它放到文件中,我正在用關鍵快捷方式啓動這個腳本。它不工作!

我試圖用我自己的腳本替換pm-suspend,該腳本將id -u打印到文件。但沒有創建文件。

任何想法,哪裏可能是一個問題?謝謝

+0

是否顯示輸入框? – 2012-07-30 22:03:19

+0

是的,它顯示。問題在於sudo本身。我已經發布瞭解決方案作爲答案。 – Blaskovic 2012-07-31 14:28:45

回答

0

它取決於(1)腳本和(2)你運行它的地方。

例如,您啓動腳本的環境可能有其他PATH或其他環境變量。

你能不能展示劇本,你是如何開始的?

+0

我已經發布瞭解決方案作爲答案。 – Blaskovic 2012-07-31 14:28:05

0

所以我想通了,究竟是什麼問題..

sudo也不是沒有tty運行。所以有必要編輯/etc/sudoers文件並刪除requiretty行。

+0

不,「sudo」可以在沒有tty的情況下運行!有很多使用'sudo'的腳本,它們運行時沒有任何tty! – 2012-07-31 15:02:44

+0

給我一些這樣的腳本的例子;)(在/ etc/sudoers文件中有requiretty行) – Blaskovic 2012-08-17 19:28:47

1

它看起來可怕,但你可以使用:

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

如果有人知道如何隱藏的xterm或其他解決方案,請分享。

0

很久以前,kde-sudo軟件包已經出現了。只要看看你的包管理器sudo。它會讓你通過GUI進行身份驗證。使用提示生成器做這件事確實很俗氣。

所以在你的腳本,你會做什麼:

kdesudo 
privilegedcommand 

有關於這個超級用戶類似的線程,也許有人說了一些關於GNOME:

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