Tmux 1.8崩溃了iOS Prompt应用程序.
但我需要1.8才能获得iTerm2集成.
所以我希望我能以某种方式使我的服务器能够运行两个tmux服务器.但是,当我运行1.8服务器时,看起来Tmux 1.6只是以状态码1退出.
我怀疑是否有人试图这样做,但我好奇……
您可以运行多个tmux实例(甚至不同版本),但它可能无法正常工作:它们将完全独立(不同的会话,窗口,窗格,选项值等). -L或-S选项用于指定服务器套接字名称或路径名.
tmux new # new session in the server at the "default" socket tmux -L other attach # new session in the server at the "other" socket
默认套接字和-L套接字位于$TMPDIR / tmux- $UID /中,但如果要自己指定完整路径名,则可以使用-S.
当您在tmux会话“内部”时,TMUX环境变量指定服务器套接字的路径,因此如果您只是在与“周围”服务器通信,则通常不需要指定套接字(路径)名称:您可以只需使用tmux neww在当前会话中创建一个新窗口(无论它使用什么套接字路径名).
但是,尝试运行两个显着不同版本的tmux还有另一个问题. tmux二进制文件和正在运行的服务器必须使用相同的“协议版本”.由于一些内部更改,1.6和1.8版本使用不同的协议版本.这意味着您不能使用1.6二进制文件与1.8服务器(即使用1.8二进制文件启动的服务器)进行通信,反之亦然.因此,即使您可能不需要指定套接字名称(在会话中“运行”),您可能需要在尝试与不同服务器通信时指定二进制文件.
tmux attach # 1.8 talking to existing 1.8 "default" server tmux-1.6 -L other attach # 1.6 talking to existing 1.6 "other" server
您可以通过设置环境变量并使用shell函数(或脚本,但注意不要创建无限循环)来简化一些事情.
tmux() { command "${TMUXBIN:-tmux}" "$@"; }