2011-12-06 45 views
0

我想在Linux上啓動,停止並重新啓動我的web服務器lighttpd,部分成功的批處理命令(sh)。 理想情況下,我想雙擊圖標,沒有什麼更多的工作。現在在linux,gnome,bash命令批處理命令

,上雙擊出現對話框「是否要運行‘START.sh’,或顯示其內容?」和「START.sh」是一個可執行的文本文件,「與運行在終端,顯示器,取消和運行按鈕,輸入密碼後,在終端上運行做工作 我的腳本如下所示:。

#! /bin/bash 

sudo /bin/bash /etc/init.d/lighttpd start 
echo 
echo -n " [ENTER] to continue... " 
read var_keypress 

是這裏的任何方式爲我的腳本運行無提示對話框,說我不需要每次都輸入密碼?

+3

'sudo service lighttpd start | stop | restart'難嗎? – cHao

+0

批處理腳本是在許多文件上工作的東西。這是一個初學者腳本,應該遷移到超級用戶。 – Bytemain

+0

另一個選擇可能是使用'gksu' – elias

回答

1

您可以將sudo配置爲無密碼可用作爲d這裏旁切:

http://www.linuxscrew.com/2008/06/22/configure-sudo-nopasswd/

一定要讓須藤只有無密碼運行特定的命令,而不是全部。

+0

我嘗試這個,但也部分成功。我無法禁用特定命令的密碼,但對於用戶的所有sudo都禁用密碼。我認爲這是好的。我只是我的比賽用戶。 –

+0

實際上,現在我的批量不要求輸入密碼,而是詢問「在終端中運行」,「顯示」,「取消」,「運行」,這也是不需要的。任何想法來避免這種情況? –

+0

應該是一個GNOME相關的問題......你可以創建一個鏈接(在gnome,而不是一個符號鏈接)到一個程序? – Timo

0

你可能避免了系統初始化腳本(ln -s /etc/init.d/lighttpd /etc/rc2.d/S99lighttpd在Debian),或用crontab條目@reboot

+0

對於RH/Fedora/CentOS,'chkconfig --level 2345 lighttpd on'。假設init腳本有一個正確的chkconfig頭文件,並且已經通過類似'chkconfig --add lighttpd'的方式進行了設置。 – cHao

+0

感謝您的幫助!我對此沒有任何用處。與鸚鵡螺的「創建鏈接」不同嗎? –

+0

可能是的,但我知道更多的命令(這是由Posix標準化*)比圖形界面(這是很難解釋在論壇中)。我建議你學習基本的命令。 –