尝试升级时协议版本不匹配(客户端 8,服务器 6)

Mic*_*ant 74 tmux

我正在尝试升级到比我当前的 1.6 更新的版本(有错误修复)。我在 Ubuntu 上,最近升级到 Ubuntu 13.04。

理想情况下,我想使用 tmux 1.8 甚至 1.9 版。我已经下载了较新的版本,但无法让它们工作。

我下载了 1.9a,但是当我尝试运行它时,它只是挂起。

我试过这个下载:http : //sourceforge.net/p/tmux/tmux-code/ci/master/tree/README#l26

并做了

$ sh autogen.sh
$ ./configure && make
Run Code Online (Sandbox Code Playgroud)

但我明白了

$ ./tmux
$ protocol version mismatch (client 8, server 6)
Run Code Online (Sandbox Code Playgroud)

我尝试下载并使用 1.8.4 版本,但下载中似乎没有我可以使用的文件。

小智 239

非常棒的 hack,如果您需要 tmux 工作并且不想丢失所有会话:

$ tmux attach
protocol version mismatch (client 7, server 6)

$ pgrep tmux
3429
$ /proc/3429/exe attach
Run Code Online (Sandbox Code Playgroud)

Google Plus 上的原始帖子 - https://plus.google.com/110139418387705691470/posts/BebrBSXMkBp

  • 这看起来太酷了!但是,唉,在我的 debian 挤压 -> jessie 升级(在喘息上暂时停止),我得到:`tmux at` == `no session`。`/var/run/tmux/tmux-0/default` 存在,所以我尝试:`tmux -S /var/run/tmux/tmux-0/default at` == `protocol version mismatch (client 8, server 6) )`。现在 `/proc/$(pgrep tmux)/exe` == `/proc/2534/exe: Permission denied` 和 `ls -l /proc/$(pgrep tmux)/exe` == `/proc/2534/ exe -> /usr/bin/tmux(已删除)`。:-( (2认同)

And*_*ese 37

这基本上告诉您,您已经有一个(旧)服务器在tmux运行,而新服务器tmux无法连接到它,因为它们不再相互理解了。退出所有现有tmux会话并使用新版本开始一个新会话,一切都应该没问题。

  • 如果您无法访问它们,请解释如何正确退出所有 tmux 会话,因为 tmux 不向后兼容!杀死进程不是我所说的退出,这更像是一场屠杀。;) (9认同)
  • 我通过从普通终端使用 `pkill tmux`(在使用 `pgrep tmux` 寻找 tmux 会话之后)终止了我现有的 tmux 会话。之后,tmux 启动/行为正确... (2认同)