2010-12-16 189 views
17

如何防止gnome終端在給定命令退出後退出?防止Gnome終端執行後退出

我從cronjob調用gnome-terminal,以便創建一個用戶可訪問的終端。終端最初被賦予一個特定的程序來運行。例如

gnome-terminal --tab -e "/usr/bin/myprog" 

這工作正常,除了當「myprog」退出時,gnome終端也一樣。我如何保持它運行,但只是回到終端提示?

+6

同一問題的另一個討論:http://stackoverflow.com/questions/3512055/avoid-gnome-terminal-close-after-script-execution – 2010-12-16 22:39:17

+1

@Ignacio,這是一個常用術語。谷歌顯示了超過10萬個結果... – Cerin 2010-12-28 21:29:39

+0

@Ignacio,術語「shell」和「終端」通常是同義詞。如果你的詞彙或技術環境不同,那很好。對困惑感到抱歉。 – Cerin 2010-12-30 19:32:32

回答

21

試試這個:

gnome-terminal --tab -e "/bin/bash -c '/usr/bin/myprog; exec /bin/bash -i'" 
+0

非常簡單。謝謝。 – Cerin 2010-12-17 14:30:36

3

這樣創建一個shell腳本:

#!/bin/bash 
# myprog-wrapper.sh - runs /usr/bin/myprog and then starts a new bash session 
/usr/bin/myprog 
/bin/bash 

給shell腳本執行權限。

然後設置你的cron作業,改爲調用直接調用myprog這個腳本:

gnome-terminal --tab -e "/path/to/myprog-wrapper.sh" 

替換/bin/bash與您所選擇的外殼。

2

你可以使用xterm或rxvt的Unicode的,而不是GNOME終端,二者均具有用於此目的的-hold選項。

21

alt text

創建一個配置文件(即保持),設置「當命令退出:按住終端開放」,然後

$ gnome-terminal --tab --profile hold -e /usr/bin/myprog 
+0

應該有一些方法可以通過僅通過命令行設置「hold terminal open」選項來創建配置文件。 – 2016-12-03 12:20:49

+0

根據您的gnome終端,您可以使用gconf或gsettings來設置或獲取該屬性的臨時值:'gconftool-2 -g/apps/gnome-terminal/profiles/Profile0/exit_action' – 2016-12-05 16:58:02