
我嘗試使用 xterm 執行一個程序,然後在程序運行時關閉 xterm,但似乎這並不像我期望的那樣工作。
在 bash 中有一個選項bash -c [command]
xterm 中也有嗎?目前我正在使用,xterm -e [command]
但這會使 xterm 視窗保持開啟狀態,直到我的程式完成。但我想打開它,運行程序,關閉它並保持程序運行。
為什麼我想透過 xterm 啟動一個程序,而我甚至沒有使用它?我在另一台電腦上透過 xpra 呼叫它,但不可能只啟動該程序,因為我需要它與另一台電腦上的環境一起使用。
有辦法做到嗎?
答案1
我認為你不需要xpra
。ssh
是一個不錯的選擇
ssh user@hostname /path/to/program
或ssh
+screen
ssh user@hostname "screen /path/to/program"
或xpra
+screen
xpra user@hostname "screen /path/to/program"
答案2
您似乎對事情的運作方式感到困惑。您不需要終端來運行程式。
“開始xterm
,這樣你就可以啟動一個進程,然後退出”減少為“啟動一個進程”,你可以完全xterm
排除。xterm
我猜你正在尋找
nohup command >command.out 2>command.err &
它command
作為後台進程啟動(因為&
),輸出發送至command.out
,錯誤訊息發送至command.err
。
如果您不關心輸出或訊號處理nohup
,您可能只想
command &
這不允許您與後台命令交互(但關閉也不允許,xterm
所以我想您不需要它);如果您希望能夠做到這一點,請考慮screen
或tmux
它允許您在虛擬終端中運行該程序,您可以斷開連接並稍後重新連接。