প্রোটোকল সংস্করণ অমিল (ক্লায়েন্ট 8, সার্ভার 6) আপগ্রেড করার চেষ্টা করার সময়


65

আমি আমার বর্তমান 1.6 এর চেয়েও নতুন সংস্করণে (এতে একটি বাগ ফিক্স আছে) আপগ্রেড করার চেষ্টা করছি। আমি উবুন্টুতে আছি এবং সম্প্রতি উবুন্টু 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 সংস্করণ ডাউনলোড এবং ব্যবহার করার চেষ্টা করেছি কিন্তু ডাউনলোডটিতে আমার ব্যবহার করতে পারে এমন ফাইল আছে বলে মনে হয় না।

উত্তর:


31

এটি আপনাকে প্রাথমিকভাবে বলে দেয় যে আপনার ইতিমধ্যে একটি (পুরানো) tmux-র সার্ভার চলছে এবং নতুন tmuxএটির সাথে সংযোগ স্থাপন করতে পারে না কারণ তারা একে অপরকে আর বুঝতে পারে না। আপনার সমস্ত বিদ্যমান tmuxসেশন থেকে প্রস্থান করুন এবং নতুন সংস্করণটি ব্যবহার করে একটি নতুন করে শুরু করুন এবং সবকিছু ঠিকঠাক করা উচিত।


হ্যাঁ লগ আউট চাবিকাঠি বলে মনে হচ্ছে। 1.6 থেকে 1.7 আপগ্রেডের জন্য আমি অনুভব করি যে লগ আউট / ইন করা একমাত্র ফিক্স। পরবর্তী সংস্করণ আপগ্রেডগুলি কেবলমাত্র সমস্ত টার্মিনাল উইন্ডো থেকে আমার লগ আউট করার প্রয়োজন বলে মনে হয়েছিল।
মাইকেল ডুরান্ট

8
আপনি যদি অ্যাক্সেস না করতে পারেন তবে সমস্ত টিএমউक्स-সেশনগুলি কীভাবে সঠিকভাবে প্রস্থান করবেন তা দয়া করে ব্যাখ্যা করুন, কারণ tmux পশ্চাদপটে সামঞ্জস্যপূর্ণ নয়! হত্যার প্রক্রিয়াগুলিকে আমি বহির্গমন বলি না, এটি আরও একটি গণহত্যার মতো। ;)
টিনো

1
আমি একটি সাধারণ টার্মিনাল থেকে pkill tmux(এর সাথে টিএমউक्स সেশনের সন্ধান করার পরে pgrep tmux) ব্যবহার করে আমার বিদ্যমান টিএমক্স সেশনটি মেরে ফেলেছি । এরপরে, tmux সঠিকভাবে চালু / আচরণ করেছে ...
তেমনুরু

220

খুব দুর্দান্ত হ্যাক, আপনার যদি আপনার টিএমউক্স কাজ করার প্রয়োজন হয় এবং আপনার সমস্ত সেশন হারাতে না চান:

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

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

গুগল প্লাসে মূল পোস্ট - https://plus.google.com/110139418387705691470/posts/BebrBSXMkBp


2
এতো সুন্দর লাগছিল! তবে হায় আমার ডেবিয়ান স্কিজে -> জেসি আপগ্রেড (হুইজির উপর অস্থায়ী স্টপ সহ) পেয়েছি: 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 deniedএবং ls -l /proc/$(pgrep tmux)/exe== /proc/2534/exe -> /usr/bin/tmux (deleted)। :-(
পিটার ভি।

নোট করুন, তবে, উল্লেখ করা হয়েছে যে গুগল প্লাস পোস্টে , tmux বিকাশকারী টমাস অ্যাডাম লিখেছেন যে তিনি এটি করার পরামর্শ দিচ্ছেন না।
আব্বাফাই

আমি সমস্যাটি পেয়েছি যে / proc / 4705 / exe এ ফাইল হ্যান্ডেলটি একটি বাসি ফাইল হ্যান্ডেল। আমি কি এখনও এই কৌশলটি ব্যবহার করতে পারি?
ফেরিবিগ

1
@ পিটারভি.মার্চ /proc/$pid/exeফাইলগুলি নিয়মিত চিহ্ন নয় ; আপনার লিঙ্কযুক্ত না করা সত্ত্বেও প্রাসঙ্গিক প্রোগ্রামগুলির জন্য অনুরোধ করতে তাদের ব্যবহার করতে সক্ষম হওয়া উচিত।
ব্ল্যাকলাইট জ্বলজ্বল

1
pgrep -o tmuxপুরানো চলমান টিএমউক্সের (একক) পিড দেয়, সম্ভবত আপনার প্রয়োজনীয় অধিবেশনটির সাথে একটিটি /proc/$(pgrep -o tmux)/exe attachচালানো pgrep tmux(যা একাধিক পিডগুলি ফিরিয়ে দিতে পারে) চালানোর চেয়ে আরও ভাল কাজ করতে পারে
ম্যাট কার্টিস

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
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.