2009-06-21 82 views
4

我有什麼可能是一個非常簡單的終端相關問題。 我正在運行Ubuntu 8.10 Intrepid Ibex,使用Gnome,而且我經常打開一個基於終端的 ssh會話,只是爲了讓它稍後在某個時刻丟棄。一旦會話被刪除, 終端變得不可用,顯然是因爲網絡連接已被刪除。網絡中斷後重新初始化/重新連接終端

有沒有辦法重新初始化會話,甚至恢復到工作的本地終端?

在Windows環境下,使用膩子,遇到這種情況時我可以用鼠標右鍵單擊並選擇重新啓動會話, ,並不需要打開一個新的終端,但是在linux下我對這個 主題缺乏瞭解使得我總是關閉已停用的終端,然後重新啓動一個新的終端。 我想了解一個新的和有用的技巧,如果有一個。

而且,我發現下面的帖子裏面的措辭非常相似礦井,

Automatically (or more easily) reconnect to a screen session after network interruption 重新連接到一個屏幕,會話後網絡INTERR

然而,據我可以說,這是一個不同的話題。

回答

5

You want to use your SSH escape。默認情況下它是'〜'和〜。將終止您的連接。

您鏈接的問題是關於屏幕,這對於您使用轉義字符殺死本地ssh進程並重新連接後恢復遠程會話很有用。

+0

感謝您的鏈接和簡介。這似乎正是我所尋找的。 也是,雖然設置了默認值,但我需要在我的ssh設置中取消註釋,然後運行

 /etc/init.d/ssh restart 
si28719e 2009-06-21 12:48:06

4

首先使用~.在本地斷開您的ssh連接。這可以讓你回到正在工作的本地終端。你也可以讓另一個終端殺死相應的ssh命令。

爲了保持您的遠程狀態,您應該按照先前的建議使用screen

我最近發現了約mosh這是一個有趣的基於UDP的可恢復殼客戶端。它使用ssh來初始化連接,並且可能需要在服務器上安裝mosh(以及客戶端和服務器之間的UDP訪問),但它可以從客戶端的斷開連接和IP更改中恢復。