জগাখিচুড়ি পরিষ্কার করতে আপনার দুটি কমান্ড সিকোয়েন্স দরকার:
প্রথমে এটিকে গার্ফড উইন্ডোতে চালান (এটি আপনি কাজ করার পরেও কাজ করে ssh):
stty sane; printf '\033k%s\033\\\033]2;%s\007' "`basename "$SHELL"`" "`uname -n`"; tput reset; tmux refresh
তারপরে এটি চালিত কম্পিউটারে এটি চালান tmux(এটি এর ভিতরে এবং বাইরে কাজ করে tmux):
নিম্নলিখিত কমান্ডটি সমস্ত tmuxদৃষ্টান্তগুলিকে প্রভাবিত করে , যা বর্তমান উইন্ডোর চেয়ে বাম অবস্থার পরিবর্তন করতে পারে। আপনার যদি সেই বৈশিষ্ট্যটির প্রয়োজন না হয় তবে এটিকে ছেড়ে দিন।
tmux list-windows -a | while IFS=: read -r a b c; do tmux set-window-option -t "$a:$b" automatic-rename on; done
বিস্তারিত ব্যাখ্যা করা হয়েছে
অন্যান্য উত্তর এবং মন্তব্যে পাওয়া সমস্ত বিটগুলিকে সম্বোধন করার জন্য এটি একত্রিত হয়েছিল। দ্বিতীয় কমান্ডের সাথে সামান্য কিছু বাকি আছে। (নীচে "অনুপস্থিত বিট" দেখুন)
এটি কীভাবে কাজ করে তা বোঝার জন্য আসুন প্রথমে এবং এর স্থিতি রেখাটি হত্যা tmuxকরি tty। এরপরে আমরা এটি পুনরায় সংশোধন করে এমন একটি পদ্ধতি ব্যবহার করে যা সর্বদা পাওয়া উচিত (আদেশের বিপরীতে reset)।
কীভাবে tmuxটার্মিনালটি (অনুমানযোগ্য UTF-8) অযোগ্য ব্যবহারযোগ্য
stty -echo; printf '\016\033k%2000s\\\033\033]2;\355\007' $'\302\217'
সতর্কতা: উপরের কমান্ডটি চালানোর পরে, শেলটি অন্ধ এবং বধির দেখায় এবং কেবল অজানা অচেনা ভাষায় বুলশিটের কথা বলে মনে হয়। এটি কীভাবে মেরামত করবেন তা নীচে দেখুন।
ব্যাখ্যা:
stty -echo টার্মিনাল ধরণের প্রতিক্রিয়া মারে
printf '\016'একটি করে SO, তাই আপনি বিকল্প চরিত্র সেট হয়
printf '\033]2;%s\007' 'right status text'সঠিক স্থিতি সেট করে, এক্ষেত্রে $'\355', যা একটি উপস্থাপনা বাগটি প্রকাশ করে
printf '\033k%2000s\033\\' $'\302\217' উইন্ডো শিরোনাম নাম সেট করে
কিছু ইন্টারেক্টিভ কমান্ড ক্র্যাশ হয়ে শেলের মধ্যে ফিরে যাওয়ার পরে এটি টার্মিনালে আপনি দেখতে পাচ্ছেন combination ( /bin/catআপনি stty -echoআইএমএইচওকে উস্কে দিতে পারবেন না , তবে ইন্টারেক্টিভ কমান্ডগুলি vimসাধারণত এটি সেট করে))
এখন এই জগাখিচুড়ি পরিষ্কার করুন
stty sane; printf '\033k%s\033\\\033]2;%s\007' "$(basename "$SHELL")" "$(uname -n)"; tput reset; tmux refresh
দ্রষ্টব্য: আপনি যদি অনুলিপি এবং পেস্ট ব্যবহার করেন (পেস্ট করার Shiftসময় আপনার সম্ভবত ধরে রাখা দরকার ), আপনি সম্ভবত নিজের পেস্টটি দেখতে পাচ্ছেন না যদি আপনি উপরের কমান্ডটি আপনার সাথে জগাখিচু করতে ব্যবহার করেন tty। অতএব, এটিকে আটকে দেওয়ার পরে অন্ধভাবে এন্টার কী টিপুন।
ব্যাখ্যা:
stty sane "সনে" টার্মিনাল পরামিতি সেট করে, তাই টাইপ করার সময় আপনি আপনার প্রতিধ্বনি ফিরে পান back
printf '\033k%s\033\\' "$(basename "$SHELL")"উইন্ডো শিরোনামটি স্বাভাবিক অবস্থায় ফিরে আসে। আপনি tmux rename-window "$(basename "$SHELL")"বিকল্পভাবে ব্যবহার করতে পারেন , তবে tmux rename-windowকেবল tmuxপালানোর ক্রমটি যেখানে কাজ করে তা সীমাবদ্ধ ।
printf '\033]2;%s\007' "$(uname -n)"ডিফল্ট হিসাবে দেখানোর জন্য স্থিতি-অধিকারটি পুনরায় সেট করে। (মনে রাখবেন যে আপনার ব্যবহার করা উচিত নয় tmux set status-right "something", কারণ এটি কেবল pane titleদুর্নীতিগ্রস্থ হয়ে পড়েছে, তাই status-rightকিছু উপস্থাপনা বাগটি প্রকাশ করে Also এছাড়াও নোট করুন, আমি tmuxসরাসরি ফলক শিরোনাম সেট করার কোনও আদেশ পাইনি ))
tput reset টার্মিনালটি পুনরায় সেট করে, কেবল যদি এর সাথে গণ্ডগোল হয়েছে
tmux refresh অন্যান্য ধ্বংসাবশেষ থেকে মুক্তি পেতে পর্দা সতেজ করে which
কিছুটা মিস করছি
printf '\033k%s\033\\' "$(basename "$SHELL")"মান ক্ষমতা হারায় tmuxবাম স্থিতি অঞ্চলে বর্তমান কমান্ড উপস্থাপন। printf '\033k%s\033\\' "something"মৃত্যুদন্ড কার্যকর করার পরে এই ক্ষমতাটি নষ্ট হয়ে গেছে এবং আমি কোনও ভাল উপায় খুঁজে পাইনি, তবুও কীভাবে এটি আগের মতো করে আনতে হবে।
তবে, নীচের মন্তব্যে উল্লিখিত হিসাবে, আপনি tmuxনিম্নলিখিত tmuxসেটিংসের সাথে প্রতিস্থাপন হিসাবে অনুরূপ বৈশিষ্ট্যটি সক্রিয় করতে পারেন :
set-window-option automatic-rename on
হয় tmuxকমান্ড লাইনে এটি করুন, যা "উইন্ডোজ" :(যেখানে "এস্কেপ" আপনার tmuxকমান্ড কী) দিয়ে বর্তমান উইন্ডোতে পৌঁছানো যাবে এবং তারপরে কমান্ডটি প্রবেশ করুন।
বা tmux set-window-option automatic-rename onআপনার বর্তমান টার্মিনালে উত্তেজিত , তবে আপনি যদি সরাসরি শেল স্তরে সরাসরি না থাকেন তবে এটি ব্যর্থ হয়, উদাহরণস্বরূপ এটি এর মধ্যে sudoবা এর সাথে কাজ করে না ssh।
বা বর্তমান tmuxসেশনে অন্য উইন্ডোটি খুলুন এবং নিম্নলিখিত আদেশটি কার্যকর করুন:
for a in `tmux list-windows | sed 's/:.*//'; do tmux set-window-option -t "$a" automatic-rename on; done`
অথবা যে কম্পিউটারটি চলছে tmuxসেগুলিতে অন্য শেলটি খুলুন এবং নিম্নলিখিত কমান্ডটি কার্যকর করুন (এটি tmux এর বাইরে):
tmux list-windows -a | while IFS=: read -r a b c; do tmux set-window-option -t "$a:$b" automatic-rename on; done
PS: যারা এই সমাধানটি একত্রিত করতে সহায়তা করেছেন তাদের সকলকে ধন্যবাদ।