我试图找出为什么 ssh 在退出时挂起,如果,并且仅当,我使用该-X
选项登录并运行 X11 程序。我找到了一个线索在 Google 群组上这暗示了问题。 Stuart Barkley 告诉 OP 使用~#
ssh 命令进行调试/诊断。我发现列出了这个转义字符在手册页中。然而,正如提供的链接所示,它并没有向我解释我所看到的是什么。我有点明白了但我不知道该怎么做。
肯定有一些徘徊的 X11 套接字正在侦听,并且 ssh 会话正在等待它们关闭。我如何使用这些信息来~#
追溯这些信息的真正含义?其次,如何关闭这些套接字。下面演示了我所看到的:
# This ssh session started with ssh hercules -X
[afalanga@hercules ~]$ ~#
The following connections are open:
#0 client-session (t4 r0 i0/0 o0/0 fd 4/5 cc -1)
[afalanga@hercules ~]$ gvim
[afalanga@hercules ~]$ ~#
The following connections are open:
#0 client-session (t4 r0 i0/0 o0/0 fd 4/5 cc -1)
#1 x11 (t4 r3 i0/0 o0/0 fd 7/7 cc -1)
#2 x11 (t4 r4 i0/0 o0/0 fd 8/8 cc -1)
#3 x11 (t4 r5 i0/0 o0/0 fd 9/9 cc -1)
[afalanga@hercules ~]$ gvim
[afalanga@hercules ~]$ ~#
The following connections are open:
#0 client-session (t4 r0 i0/0 o0/0 fd 4/5 cc -1)
#1 x11 (t4 r3 i0/0 o0/0 fd 7/7 cc -1)
#2 x11 (t4 r4 i0/0 o0/0 fd 8/8 cc -1)
#3 x11 (t4 r5 i0/0 o0/0 fd 9/9 cc -1)
#4 x11 (t4 r6 i0/0 o0/0 fd 10/10 cc -1)
[afalanga@hercules ~]$ ~#
The following connections are open:
#0 client-session (t4 r0 i0/0 o0/0 fd 4/5 cc -1)
#2 x11 (t4 r4 i0/0 o0/0 fd 8/8 cc -1)
#3 x11 (t4 r5 i0/0 o0/0 fd 9/9 cc -1)
第一次调用~#
是在 ssh 会话上启动任何 X 程序之前。如您所见,只有一个打开的套接字。第二次调用~#
是在打开第一个 gvim 之后,此时有 4 个打开的套接字。打开第二个gvim后,有5个。当我关闭两个gvim窗口时,还剩下2个X11套接字。
答案1
我如何使用这些信息来
~#
追溯这些信息的真正含义?
输出会通知您客户端和服务器之间的现有连接。首先,只有会话,然后你打开了gvim
,这导致分配了3个通道,另一个gvim
分配了另一个通道,但他们留下了一些。
其次,如何关闭这些套接字。
通过输入Ctrl+C或~.
.它是 的行为(功能、改进,或者你能想到的)gvim
。它打开与 X 服务器的连接以更新窗口标题和 X 剪贴板,如gvim
手册页所述(并且不会关闭它以使下一次启动更快,据我所知)。您可以使用-X
switch to来摆脱这种行为gvim
:
-X
不要连接到 X 服务器。缩短终端的启动时间,但不会使用窗口标题和剪贴板。
当你尝试同样的xterm
事情时正常工作TM(它没有这个功能)。