gpt4 book ai didi

unix - 是否可以同时运行两个不同版本的 tmux?

转载 作者:行者123 更新时间:2023-12-04 10:53:23 25 4
gpt4 key购买 nike

Tmux 1.8 使 iOS Prompt 应用程序崩溃。

但我需要 1.8 才能获得 iTerm2 集成。

所以我希望我能以某种方式让我的服务器能够运行两个 tmux 服务器。但是,当我运行 1.8 服务器时,Tmux 1.6 似乎只是以状态码 1 退出。

我怀疑有人尝试过这样的事情,但我很好奇......

最佳答案

您可以运行多个 tmux 实例(甚至是不同的版本),但它可能不会像您期望的那样工作:它们将完全独立(不同的 session 、窗口、 Pane 、选项值等)。 -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 socket 生活在 $TMPDIR/tmux-$UID/ , 但您可以使用 -S如果您想自己指定完整路径名。

当您在 tmux session “内部”时,TMUX 环境变量指定服务器套接字的路径,因此如果您只是与“周围”服务器对话,通常不需要指定套接字(路径)名称:您可以只需使用 tmux neww在当前 session 中创建一个新窗口(无论它使用什么套接字路径名)。

但是,尝试运行两个截然不同的 tmux 版本还有另一个问题。 tmux 二进制文件和正在运行的服务器必须使用相同的“协议(protocol)版本”。由于一些内部变化,1.6 和 1.8 版本使用不同的协议(protocol)版本。这意味着您不能使用 1.6 二进制文件与 1.8 服务器(即使用 1.8 二进制文件启动的服务器)通信,反之亦然。因此,即使您可能不需要指定套接字名称(当在 session “内部”运行命令时),您可能需要在尝试与不同服务器通信时指定二进制文件。
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}" "$@"; }

关于unix - 是否可以同时运行两个不同版本的 tmux?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15802491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com