`tmux ls` 不显示所有活动会话(处于“僵尸”状态的会话?)

`tmux ls` 不显示所有活动会话(处于“僵尸”状态的会话?)

我已经使用 tmux 大约 4-5 个月了,最近开始注意到一些奇怪的东西。

  1. tmux ls 不显示活动“会话”的完整列表
  2. 即使会话没有出现在 tmux ls 上,我仍然可以连接到该会话
  3. 我的一些会话开始在其名称中获取索引..例如 name_of_session_3

我在通过 ssh 连接的远程计算机上使用 tmux。我通常在本地计算机上的单独选项卡中打开多个终端,但我不希望这会影响 tmux 的行为方式。

我究竟做错了什么?


这是 tmux ls 的输出

➜ ~ tmux ls bad*******-1: 1 windows (created Mon Mar 12 15:27:29 2018) [273x129] (group badges_hist) bad*******_fix-9: 1 windows (created Thu Mar 22 11:42:28 2018) [208x54] (group bad*******) (attached) no*******-7: 1 windows (created Wed Mar 21 15:17:33 2018) [273x129] (group *******) not*******s-8: 1 windows (created Wed Mar 21 15:47:01 2018) [208x54] (group noti*******) (attached) pre*******-2: 1 windows (created Tue Mar 13 14:24:33 2018) [273x129] (group pre*******)

我希望在该列表中看到另外 3-4 个会议。

答案1

tmux list-sessions(或tmux ls)不会列出在另一个套接字下启动的会话。

$ tmux
# ... same as
# tmux -L default

$ tmux -L lofa
$ tmux -L lofa new

# (Detaching from each session after creation
#  via "<prefix> d" or "CTRl-b d")

$ tmux ls
# ... same as
# tmux -L default list-sessions
0: 1 windows (created Tue Apr 25 15:12:07 2023)

$ tmux -L lofa new
0: 1 windows (created Tue Apr 25 15:17:00 2023)
1: 1 windows (created Tue Apr 25 15:21:59 2023)

来自tmux手册页:

 -L socket-name
               tmux stores the server socket in a directory under
               TMUX_TMPDIR or /tmp if it is unset.  The default
               socket is named default.  This option allows a
               different socket name to be specified, allowing
               several independent tmux servers to be run.  Unlike
               -S a full path is not necessary: the sockets are all
               created in a directory tmux-UID under the directory
               given by TMUX_TMPDIR or in /tmp.  The tmux-UID
               directory is created by tmux and must not be world
               readable, writable or executable.

答案2

那么看起来 ssh 转发是问题所在?

Tmux 在启动时捕获环境。如果您在桌面上SSH_AUTH_SOCK指向A,然后断开 (Ca,d)。现在您通过 SSH 连接到桌面,SSH_AUTH_SOCK此环境中的 将会是某个值 B,您重新连接后,您仍然 SSH_AUTH_SOCK指向 A。

相关内容