Shell
無窗的xterm?(為程序偽造終端)
我正在與 Matlab 的一個相當奇怪的問題作鬥爭。
啟動腳本位於
/opt/matlab_2013b/bin
並被稱為matlab
.
- 當我在終端中執行它時,它工作正常。
但我想在 Xfce 面板中為它製作一個啟動器。
- 就這樣,它立即崩潰:
/opt/matlab_2013b/bin/matlab
- 當我使用
xterm -e "cd /opt/matlab_2013b/bin; ./matlab"
時,它可以工作,但我有一個無用的 xterm 漂浮在周圍。(如果我使用上述方法並選擇“在終端中啟動”,結果相同 - 那麼我有一個lxterminal
,不是很大的改進)sh -c "cd /opt/matlab_2013b/bin; ./matlab"
不起作用(我想也許它會讓 matlab 誤以為它在終端中,但沒有我認為啟動腳本必須以某種方式依賴於從互動式終端呼叫。
有沒有辦法在沒有視窗的情況下執行 xterm 或其他終端?這樣在其中執行的程序認為它在真正的終端中,但沒有顯示視窗?
您可以
screen
在分離模式下執行此操作。在你的啟動腳本中加入這樣的內容:screen -d -m /opt/matlab_2013b/bin/matlab
它將創建一個分離的螢幕會話,它應該允許腳本啟動。您可以隨時照常附加到螢幕會話。
幾乎可以肯定使用 可以達到相同的效果
tmux
,但我還沒有充分使用它來找出答案。