為什麼我的開啟終端機的啟動腳本不起作用?

為什麼我的開啟終端機的啟動腳本不起作用?

只是為了玩弄腳本製作,我製作了一個(我相信?)應該在啟動時打開終端的腳本:

#!/bin/bash
#start terminal at startup
#/usr/bin/gnome-terminal

我把它放在 /etc/init.d 目錄中,然後運行這個

update-rc.d myscript defaults

但當我重新啟動電腦時絕對沒有任何反應。為什麼?

答案1

簡短回答:

gnome-terminal是一個GUI應用程式。因此只能運行作為用戶。當您嘗試運行它時,還沒有用戶登入。將(運行 - 的命令)腳本放在啟動應用程式中。

你不需要一個腳本根本不但是,您可以將命令直接新增到啟動應用程式。

這將gnome-terminal在您登入後開始。

除此之外,您的運行命令gnome-terminal不正確。應該是/usr/bin/gnome-terminal(正如 @steeldriver 提到的,謝謝),或者,因為它在 中$PATH,所以簡單地gnome-terminal

答案2

腳本中的主要錯誤是,在第三個語句中,您實際上註解掉了開啟終端機的命令。請刪除“#」來自第三個語句。同時您可以簡單地使用gnome 終端激活它,但它應該作為用戶本身運行。所以這意味著將它添加到 update-rc 也不起作用。如果您更傾向於終端方式,那麼您可以在 crontab 中新增腳本並將其新增至使用者的 crontab 檔案中重啟約束。這將在啟動時運行您的腳本。所以我總結如下:
您的檔案名稱為 script.sh :

#!/bin/bash
#start terminal at startup
gnome-terminal

使用以下命令使腳本可由使用者執行。

chmod u+x /path/to/script.sh

現在開啟終端機並編輯使用者的 crontab,如下所示:

crontab -e -u username

進行相應的變更後,將以下語句新增至文件底部。

@reboot /path/to/script.sh

現在重新啟動。就是這樣。

相關內容