如何附加到远程计算机上已在该计算机上本地启动的 tmux 会话?

如何附加到远程计算机上已在该计算机上本地启动的 tmux 会话?

我面前有两台物理机:nixosmac

  1. 在终端中实际输入nixos

    nixos$ tmux ls
    0: 5 windows (created Thu Sep 16 19:21:38 2021) (attached)
    1: 1 windows (created Fri Sep 17 00:50:45 2021)
    2: 5 windows (created Wed Sep 22 05:37:28 2021) (attached)
    4: 1 windows (created Thu Sep 23 21:51:01 2021)
    
  2. 然后实际输入mac

    mac$ ssh nixos
    Last login: Sun Sep 26 13:24:58 2021 from 192.168.0.27
    
    nixos$ tmux ls
    no server running on /run/user/1000/tmux-1000/default
    

从远程计算机连接时,有没有办法附加到已经存在的 tmux 会话?

答案1

您必须使用套接字名称进行连接。

在 nixos tmux 会话中,检查 TMUX_TMPDIR 的值(如果未定义,则使用 /tmp)并查看是否存在套接字文件。如果没有,请将 SIGUSR1 发送到该 tmux 服务器并重新检查。

当您获得套接字文件时,请尝试从 mac:连接到 nixos,确保 TMUX_TMPDIR 完全匹配并使用该套接字执行 tmux,-S socket-name并且 tmux 应该能够列出现有会话。
tmux -S socket-name ls

如果由于某些奇怪的原因不起作用,请在 nixos 上重新启动 tmux 会话并-L socket-name从 mac 连接并使用-S socket-name以确保两者都使用完全相同的 TMUX_TMPDIR 和完全相同的套接字文件。

相关内容