tmux - 共享服务器不在 /tmp 中?

tmux - shared server not in /tmp?

我正在尝试在定期转储 /tmp 的企业集群上使用 tmux。我想在 /proj/foo/shells 中存储共享项目的套接字。我可以使用 tmux -S /proj/foo/shells/bar new -s nameOfTheSession 创建一个会话,但这些不会显示在 tmux ls 中,我现在不知道如何管理它们?每次我连接 tmux -S /proj/foo/shells/bar 都会创建一个新会话,我可以用 ctrl+b x 终止它,但现在我只需要 [5].

如何以这种方式使用 tmux?我希望 ls 正常工作,并且 shells/sessions 以我可以做的方式运行 tmux a bar 并回到 /proj/foo/shells/bar.

必须为每个命令提供-S选项以告诉它使用哪个(备用)套接字。

$ tmux -S /proj/new/shells/bar new -s nameOfTheSession
$ tmux -S /proj/new/shells/bar ls

命令 tmux -S /proj/foo/shells/bar 不会以某种方式使以后对 tmux 的每次调用都使用给定路径;它只是将默认命令 new-session 发送到给定路径的服务器。

看来你并不关心实际套接字的名称是什么,只要它存储在/proj/foo/shells下即可。在这种情况下,只需将 TMUX_TMPDIR 设置为您的环境:

export TMUX_TMPDIR=/proj/foo/shells

现在,任何时候您 运行 tmux,它都会默认到 /proj/foo/shells/default 可用的服务器。您仍然可以使用 -L 选项指定服务器名称而不是 default(例如 -L bar 以使用服务器 /proj/foo/shells/bar)。