Linux

在後台執行 xterm 並退出

  • June 24, 2021

從 hostA (我的 Linux 桌面),我 ssh 進入 hostB :

$ ssh hostB -X
$ (nohup xterm &)
$ (nohup xterm &)
$ exit   
## i don't get my prompt back

xterm 視窗顯示在 hostA 上,但我 ssh 進入 hostB 的終端不會向我返回提示。

如果我按 Control+C,我會得到提示,但 2 個 xterm 視窗已關閉。

有沒有辦法在另一台主機的後台執行 xterm 並釋放原始終端?

謝謝

  • 安德魯

-X 選項打開一個穿過 ssh 連接的 X11 隧道。只要 ssh 連接打開,隧道就可以存在。

要按照您的要求進行操作,您需要將 ssh 本身置於後台,而不涉及互動式會話。

至少有兩種方法可以做到這一點。一種是設置 ssh 連接共享,這將允許您在後台打開 ssh,然後使用共享連接啟動多個 ssh 會話。ssh 手冊頁有這方面的詳細資訊。

一種更簡單的方法是在後台打開 ssh 以打開您的兩個 xterm 會話:

ssh -n -X hostB sh -c "xterm&xterm" &

-n選項告訴 ssh 不使用標準輸入,這允許它被放置在後台。如果 ssh 需要密碼,可以省略最後&,輸入密碼,然後掛起,放到後台。

引用自:https://unix.stackexchange.com/questions/655529