2012-09-11 77 views
1

我試圖在每次系統啓動時運行腳本。下面是腳本:腳本沒有在系統啓動時運行

#!/bin/sh 
echo $(sensible-browser http://localhost/example/user=$USER) 

我把複製的腳本/etc/init.d/更改文件權限爲755,然後運行命令sudo update-rc.d scriptname.sh defaults

試圖通過/etc/rc.local也運行該腳本,但沒有運氣。系統啓動時沒有任何事情發生。 我還能做什麼?

+0

什麼操作系統('uname -sr'的輸出)? – Jens

+0

你在哪裏尋找'echo'的輸出? – Jens

+0

如果腳本運行,它會打開Web瀏覽器。我的操作系統是Linux 3.2.0-30-generic(UBUNTU) – Nagri

回答

1

您通常不希望在系統啓動時啓動瀏覽器 - 您想在登錄後啓動它。爲此,您的shell提供了啓動文件(例如,用於Bourne遺留shell的$HOME/.profile或用於csh類型shell的$HOME/.login )。作爲替代,X11程序可以從$HOME/.xinitrc$HOME/.xsession開始。

也許我們可以幫助,如果我們知道你真的想要實現什麼。

+0

該腳本已經計算出來,重定向到一個Php文件,該文件登錄到SMS網關併發送$ user已登錄系統的SMS。 – Nagri

+1

這不適用於'/ etc/init.d'腳本;他們不會在登錄時運行。您可以嘗試將代碼放在系統範圍的shell啓動腳本中,如'/ etc/profile'(用於閱讀它們的Bourne Shell)。您可以嘗試使用'w'或'who'命令來查看誰登錄,如果發生變化,請執行您的操作。 – Jens

+0

這工作謝謝。尊重。 – Nagri

1

我假設你的默認webbrowser需要X來運行(例如firefox)。當rc.d腳本運行時,您的腳本不一定會在X啓動後運行(或者您有權打開窗口)。如果你想讓你的瀏覽器彈出頁面http://localhost/example/user=$USER,你將不得不看看KDM或GDM或你擁有的任何顯示管理器,並讓它在啓動後運行一個外部腳本。

+0

當我嘗試從啓動應用程序首選項運行腳本它運行完美。可能是你給的理由。但我希望這個腳本爲所有使用啓動應用程序首選項的用戶運行,使其僅限於特定用戶。 – Nagri