我喜欢屏幕实用程序,我在我的服务器上广泛使用它,所以我设置我的.bashrc文件以在登录时恢复我的屏幕会话。我缺少的唯一功能是从ssh会话中注销而无需显式分离/关闭屏幕会话。
我正在考虑一些运行screen -dS "mainScreen"; exit
的脚本,但这是不可能的,因为这个脚本显然会在分离指令后继续在屏幕会话中执行,并且不会影响我的ssh会话,所以我唯一的事情是get是屏幕会话终止。
有没有办法进行' detatch并退出'原子地引导屏幕继续运行,我的ssh会话终止?
答案 0 :(得分:3)
ssh支持一种机制,通过该机制可以直接输入输入而不是连接另一端的shell。当您键入转义键时,将启用该机制,可以使用-e
设置并默认为~
。这对于各种功能非常有用,例如在已连接的会话中设置端口转发或终止连接。您可以键入~?
以获取可用命令的完整列表。特别是,要终止会话,请键入:
~.
答案 1 :(得分:2)
不要让ssh
运行登录shell(默认值),而是让它直接运行screen
:
ssh remoteHost -t screen -dRS "mainScreen"
分离时,屏幕客户端退出,这会导致ssh
关闭连接。
(注意:我包含了Steve建议的screen
命令,但您可以使用通常用于连接到会话的任何命令。)