そのマシンでローカルに起動されたリモートマシンのtmuxセッションにどのように接続しますか?

そのマシンでローカルに起動されたリモートマシンのtmuxセッションにどのように接続しますか?

私の前には2つの物理マシンがあります: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-nametmuxは既存のセッションを一覧表示できるはずです。
tmux -S socket-name ls

奇妙な理由でうまくいかない場合は、nixosでtmuxセッションを再開して-L socket-nameMacで接続して、-S socket-name両方とも同じTMUX_TMPDIRと同じソケットファイルを使用していることを確認してください。

関連情報