当前位置:  开发笔记 > 运维 > 正文

网络中断后自动(或更轻松地)重新连接到屏幕会话

如何解决《网络中断后自动(或更轻松地)重新连接到屏幕会话》经验,为你挑选了1个好方法。

补充:我相信这个问题现在归入了这个问题: 完全透明地自动使用GNU Screen

另请参阅此相关问题:https:
//superuser.com/questions/147873/ssh-sessions-in-xterms-freeze-for-many-minutes-whenever-they-disconnect

原始问题:

如果有一种方法可以ssh到一台机器并立即重新连接到特定的屏幕会话,那将是很好的.你可以这样做:

laptop> ssh server.com screen -ls

它将显示server.com上可用的屏幕列表,如[1]:

123.pts-1
456.pts-2

然后你可能会尝试这样做:

laptop> ssh server.com screen -dr pts-2

但那失败了,说"必须连接到终端".你必须首先ssh然后在server.com上执行"screen -dr pts-2",如果你有一个片状连接并断开很多连接,这是不好的.您希望能够通过笔记本电脑上的简单"向上箭头输入"继续.(或者让它更自动化.)

我对这个问题有一个可怕的解决方案,我将其作为答案发布,希望它能够被遗忘以支持正确的方法来解决这个问题.


脚注:

[1]或者,更好的是,如果您使用" screen -S foo"和" screen -S bar" 等名称创建了屏幕会话,那么您将获得更友好的列表,如:

123.foo
456.bar

并且可以重新连接,例如" screen -dr foo".


迷你屏幕教程,结合这个问题的答案:

登录到server.com并执行操作

screen -S foo 

然后再也不会退出该会话.要从其他地方重新连接,请执行此操作

ssh -t server.com screen -dr foo

列出要重新协调的可用屏幕:

screen -ls

或者,当然,

ssh server.com screen -ls

远程检查server.com的可用屏幕.

我现在使用以下别名(tcsh),基于Jason的答案,连接到命名屏幕(如果存在)或创建并连接:

alias ssc 'ssh -t \!:1 "screen -S \!:2 -dr || screen -S \!:2"'

Greg Hewgill.. 59

-t选项是否符合您的要求?

     -t      Force pseudo-tty allocation.  This can be used to execute arbi-
             trary screen-based programs on a remote machine, which can be
             very useful, e.g. when implementing menu services.  Multiple -t
             options force tty allocation, even if ssh has no local tty.

所以:

laptop> ssh -t server.com screen -dr pts-2

这似乎适用于我的安装.



1> Greg Hewgill..:

-t选项是否符合您的要求?

     -t      Force pseudo-tty allocation.  This can be used to execute arbi-
             trary screen-based programs on a remote machine, which can be
             very useful, e.g. when implementing menu services.  Multiple -t
             options force tty allocation, even if ssh has no local tty.

所以:

laptop> ssh -t server.com screen -dr pts-2

这似乎适用于我的安装.


神圣的废话,我简直不敢相信!我实际上想出了几年前的怪物.我要告诉自己它早于-t选项.:)非常感谢您提供真正的答案!
推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有