Yükseltmeye çalışırken protokol sürüm uyuşmazlığı (istemci 8, sunucu 6)


65

Geçerli 1.6 sürümümden daha yeni bir sürüme (bir hata düzeltmesi olan) yükseltme yapmaya çalışıyorum. Ubuntu'dayım ve yakın zamanda Ubuntu 13.04'e yükselttim.

İdeal olarak, tmux'un 1.8 sürümünü ve hatta 1.9 sürümünü kullanmak istiyorum. Daha yeni sürümleri indirdim ancak çalışmasını sağlayamıyorum.

1.9a'yı indirdim ancak denemeye çalıştığımda, kilitleniyor.

Bu indirmeyi denedim: http://sourceforge.net/p/tmux/tmux-code/ci/master/tree/README#l26

ve yaptı

$ sh autogen.sh
$ ./configure && make

ama anladım

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

Bir 1.8.4 sürümünü indirip kullanmaya çalıştım, ancak indirme işlemi kullanabileceğim bir dosyaya sahip değildi.

Yanıtlar:


31

Bu temelde size, zaten tmuxçalışan bir (eski) sunucuya sahip olduğunuzu ve yenisinin tmuxbağlanamadığını, çünkü artık birbirlerini anlamadıklarını söylemektedir. Tüm tmuxoturumlarınızdan çıkın ve yeni sürümü kullanarak yeni bir taneye başlayın, her şey yolunda olmalı.


Evet çıkış oturumu kilit görünüyordu. 1.6'dan 1.7'ye yükseltme için oturum açma / kapatma işleminin tek düzeltme olduğunu hissediyorum. Daha sonraki sürüm yükseltmeleri sadece tüm terminal pencerelerini kapatmamı gerektiriyor gibiydi.
Michael Durrant,

8
Lütfen erişemiyorsanız, tüm tmux oturumlarından nasıl çıkacağınızı açıklayın, çünkü tmux geriye dönük değildir! Öldürme işlemleri benim çıkmam dediğim şey değil, bu daha çok bir katliam gibi. ;)
Tino

1
Mevcut tmux seansımı normal bir terminalden pkill tmux(tmux oturumu aradıktan sonra) kullanarak pgrep tmuxnormal bir terminalden öldürdüm . Daha sonra başlatılan tmux / doğru davranmış ...
temuraru

220

Smokinin çalışmasına ihtiyacın varsa ve tüm seanslarını kaybetmek istemiyorsan, oldukça harika kesmek:

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

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

Google Plus’taki orijinal yayın - https://plus.google.com/110139418387705691470/posts/BebrBSXMkBp


2
Bu çok güzel görünüyordu! Ama ne yazık ki debian sıkıştırmamda -> jessie yükseltmesi (wheezy'de geçici bir süre kaldırarak), anladım: tmux at== no sessions. /var/run/tmux/tmux-0/defaultVardı, ben de denedim: tmux -S /var/run/tmux/tmux-0/default at== protocol version mismatch (client 8, server 6). Şimdi /proc/$(pgrep tmux)/exe== /proc/2534/exe: Permission deniedve ls -l /proc/$(pgrep tmux)/exe== /proc/2534/exe -> /usr/bin/tmux (deleted). :-(
Peter V. Mørch

Bununla birlikte, başvurulan Google Plus yayınında , tmux geliştiricisi Thomas Adam'ın bunu önermediğini yazdığını unutmayın.
Abbafei

/ Proc / 4705 / exe'deki dosya tanıtıcısının eski bir dosya tanıtıcısı olması sorunu var. Hala bu numarayı kullanabilir miyim?
Ferrybig

1
@ PeterV.Mørch /proc/$pid/exeDosyalar normal sembolik linkler değildir ; Bunları bağlantısız olsalar bile ilgili programları çağırmak için kullanabilmelisiniz.
Blacklight Shining

1
pgrep -o tmuxMuhtemelen ihtiyacınız olan seansa sahip olan en eski çalışan tmux'un (tekli) pid'ini verir, bu yüzden /proc/$(pgrep -o tmux)/exe attachsadece ihtiyacınız olan seanstan daha iyi çalışabilir pgrep tmux(bu, birden fazla pids geri dönebilir)
Matt Curtis

2

Bu belki sizin için ideal değil, ama ben bir yarattım chrootve tmuxiçinden koştum :

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

Bu, tmux ortamının yükseltme sırasında değişmemesini sağlar


0

tmuxBu problemle de karşılaştığım gibi tüm süreçler çalışmalı.

sudo killall -9 tmux
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.