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


65

我正在尝试升级到比当前版本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

但我明白了

$ ./tmux
$ protocol version mismatch (client 8, server 6)

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

Answers:


31

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


是的注销似乎很关键。对于1.6到1.7的升级,我觉得注销/登录是唯一的解决方法。随后的版本升级似乎只需要我注销所有终端窗口。
Michael Durrant 2014年

8
如果无法访问所有tmux会话,请解释一下如何正确退出,因为tmux不向后兼容!我不称杀死进程为退出,这更像是一场屠杀。;)
蒂诺2015年

1
我通过从普通终端中使用pkill tmux(在寻求了tmux会话之后)杀死了我现有的tmux会话pgrep tmux。之后,tmux正确启动/运行了……
temuraru

220

如果您需要tmux正常工作并且不想丢失所有会话,则可以说是很棒的黑客:

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

$ pgrep tmux
3429
$ /proc/3429/exe attach

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


2
看起来真酷!但是可惜,在我的debian压缩-> jessie升级中(暂时停止了喘息),我得到了:tmux at== no sessions/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 deniedls -l /proc/$(pgrep tmux)/exe== /proc/2534/exe -> /usr/bin/tmux (deleted)。:-(
Peter V.Mørch2015年

但是请注意,在被引用的Google Plus帖子中,tmux开发人员Thomas Adam写道,他不建议这样做。
Abbafei 2015年

我遇到的问题是/ proc / 4705 / exe的文件句柄是陈旧的文件句柄。我还能使用这个技巧吗?
Ferrybig'6

1
@PeterV.Mørch /proc/$pid/exe文件不是常规的符号链接;即使它们已经取消链接,您也应该能够使用它们来调用相关程序。
Blacklight Shining 2015年

1
pgrep -o tmux给出运行时间最久的tmux的(单个)pid,大概是您需要的会话的tmux,因此它/proc/$(pgrep -o tmux)/exe attach可能比仅运行pgrep tmux(可以返回多个pid)更好地工作
Matt Curtis

2

这可能对您而言并不理想,但是我创建了一个chroot,然后tmux从其中运行:

sudo -i
debootstrap stable /chroot
mount -o bind /dev /chroot/dev
mount -o bind /dev/pts /chroot/dev/pts
mount -o bind /sys /chroot/sys
mount -o bind /proc /chroot/proc
chroot /chroot
apt-get install tmux ssh
tmux
ssh user@localhost
apt-get bla bla bla

这可以确保升级期间tmux环境不会更改


0

杀死所有tmux进程都应该工作,因为我也遇到了这个问题。

sudo killall -9 tmux
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.