tmux সেট-শিরোনামগুলি কাজ করে না?


17

tmuxপ্রতিটি শেল লগইন শুরু করতে , নিম্নলিখিতটিতে ~/.bashrc(সার্ভারে) যুক্ত করা হয়েছিল:

if [ $TERM != "screen-256color" ] && [  $TERM != "screen" ]; then
    tmux attach || tmux new; exit
fi

হোস্টে ssh করার সময় আমি উইন্ডো শিরোনামের মতো user@server(পরিবর্তে user@localhost) কিছুতে পরিবর্তন করতে চাই । এখানে আমার ~/.tmux.conf:

set -g prefix C-a
unbind C-b
bind C-a send-prefix

set -g set-titles on
set -g set-titles-string "#T"

bind-key o split-window -v
bind-key e split-window -h

bind-key w kill-pane

set -g terminal-overrides 'xterm*:smcup@:rmcup@'

আপনি দেখতে পাচ্ছেন, set-titlesসেট করা ছিল on, তবে এটি প্রত্যাশার মতো কাজ করে না।

আরও তথ্য:

Tmux এর বাইরে:

$ echo $TERM
xterm

Tmux এর ভিতরে:

$ echo $TERM
screen

show -g: https://clbin.com/h7oDh

tmux info: http://sprunge.us/XHCB

tmux -vvvvvকিছুটা দৌড়ানোর সময় লগগুলি এখানে রয়েছে :

যদি আমি ~/.bashrcআমার ল্যাপটপ থেকে সার্ভারে এসএসএস থেকে লাইনগুলি মন্তব্য করি , শিরোনাম বারটি সঠিকভাবে দেখায় ( quanta@server), তবে tmuxসেখান থেকে শুরু করে প্রত্যাশার মতোও কাজ করে।

তবে যদি আমি tmuxলগইন করার সাথে সাথেই শুরু করতে চাই তবে শিরোনাম বারটি quanta@Ubuntussh এর পরে থাকবে ।


আপডেট শুক্র 10 মে 07:51:23 আইসিটি 2013

exitশেষ tmuxউইন্ডোটি বন্ধ হয়ে গেলে শেল সেশনটি বন্ধ না করার জন্য আমি কমান্ডটি মুছে ফেলেছি :

if [ $TERM != "screen-256color" ] && [  $TERM != "screen" ]; then
    tmux attach || tmux new
fi

আশ্চর্যের বিষয় হ'ল:

  • সার্ভারে ssh -> শিরোনাম বার: quanta@Ubuntu
  • থেকে tmuxশিরোনাম -> শিরোনাম বারে স্যুইচ করুনquanta@server
  • tmuxআবার সংযুক্ত করুন -> শিরোনাম বারটি এখনও সঠিকভাবে দেখায় quanta@server

আমি নিশ্চিত নই যে এটি PROMPT_COMMANDপরিবেশের পরিবর্তনশীলের সাথে সম্পর্কিত কিনা :

এর বাইরে tmux:

$ echo $PROMPT_COMMAND 
echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\007"

ভিতরে tmux:

$ echo $PROMPT_COMMAND
echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\033\\"

যদি এই প্রশ্নে এটি সুস্পষ্ট না হয়। তার সেটআপটি ঠিক কাজ করে, যখন সে তার .bashrc থেকে এটি চালানোর চেষ্টা করে না।
— slm

এর থেকে আউটপুট সরবরাহ করুন tmux info।
— slm

উত্তর:


15

সমস্যা সমাধান!

নেটিভ এক্সটার্ম মাউস স্ক্রোলিং সক্ষম করতে tmux, অনেকগুলি উইকি , প্রশ্নোত্তর ও সাইট , ব্লগ পোস্ট একটি লাইন যুক্ত করার পরামর্শ দেয়:

set -g terminal-overrides 'xterm*:smcup@:rmcup@'

to ~/.tmux.conf। এবং এটা অপরাধী।

টার্মিনাল উইন্ডোতে এক্সটার্ম শিরোনামগুলির অনুমতি দেওয়ার জন্য, আপনাকে XTপতাকাও যুক্ত করতে হবে , এরকম কিছু:

set -g terminal-overrides "xterm*:XT:smcup@:rmcup@"

সূত্র: http://opennomad.com/content/goodbye-screen-hello-tmux


3
আপনার পোস্টের জন্য ধন্যবাদ। আমার যদি rxvt, সেটিংset -ga terminal-overrides ",rxvt*:XT"
— favadi

2
@ ফাওয়াদি যেমন উল্লেখ করেছেন, এর জন্য সঠিক সমাধানটি হ'ল স্ম্যাকআপ / আরএমকিআপ ওভাররাইড সংযুক্ত করার জন্য -aবিকল্পটি ব্যবহার করা set। এটি অন্যান্য অদ্ভুত সমস্যাগুলি ঠিক করবে যেমন কার্সার আকারটি সঠিকভাবে সেট করতে না পারা।
— নীল রঙের

2

Tmux- ব্যবহারকারীদের মেলিং তালিকা থেকে এই থ্রেডটি জুড়ে এসেছিল। থ্রেডটির শিরোনাম ছিল: সেট-শিরোনামগুলি কাজ করছে না । এই থ্রেড থেকে চেষ্টা করার জন্য কয়েকটি জিনিস রয়েছে। এখানে থ্রেডের একটি ক্লিনার সংস্করণও রয়েছে ।

এক্সটার্ম রিসোর্স

আরম্ভকারীদের জন্য পরিণামটি ঠিক করা ছিল আপনার এক্সটার্ম রিসোর্স ফাইলে নিম্নলিখিত লাইনটি যুক্ত করা ~/.Xresources:

XTerm*allowSendEvents: true

টিমাক্স টিপস ডিবাগ করা হচ্ছে

এই থ্রেডে কিছু ডিবাগিং টিপসও ছিল যা আপনাকেও সহায়তা করতে পারে।

ভার্জোজ tmux

  1. সমস্ত tmux সেশন বন্ধ করুন
  2. কমান্ড চালান: tmux -vvvvv
  3. কমান্ড চালান: vi foo
  4. ফাইল সংরক্ষণ করুন
  5. প্রস্থান tmux

এটি করার পরে আপনার কাছে 3 টি ফাইল থাকা উচিত: এরকম কিছু:

  • tmux-আউট-21594.log
  • tmux-ক্লায়েন্ট-21592.log
  • tmux-সার্ভার-21594.log

tmux তথ্য

$ tmux info
tmux 1.4, pid 22182, started Fri May 10 04:00:37 2013
socket path /var/run/tmux/tmux-500/default, debug level 0
system is Linux 2.6.35.14-106.fc14.x86_64 #1 SMP Wed Nov 23 13:07:52 UTC 2011 x86_64
configuration file is /home/saml/.tmux.conf
protocol version is 6

Clients:
 0: /dev/pts/12 (8, 11): 0 [132x24 xterm] [flags=0x1/0x38, references=0]

Sessions: [5/10]
 0: 0: 1 windows (created Fri May 10 04:00:37 2013) [132x23] [flags=0x0]
   0: bash [132x23] [flags=0x8, references=1, last layout=-1]
     0: /dev/pts/48 22183 13 1/23, 135 bytes; UTF-8 0/23, 0 bytes

Terminals:
xterm [references=1, flags=0x0]:
 1: acsc: (string) ``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~
 0: AX: (flag) true
 2: bel: (string) \007
 ...
 ...
144: smul: (string) \033[4m
145: vpa: (string) \033[%i%p1%dd
146: xenl: (flag) true

Jobs:

আমি এখানে জিজ্ঞাসা করার আগে ইতিমধ্যে সেই থ্রেডটি পড়েছি। XTerm*allowSendEvents: trueকাজ হয়নি। লগ ফাইল আপলোড করা হয়েছে। আমার আপডেট হওয়া প্রশ্নটি দেখুন।
— কোয়ান্টা

1
ভবিষ্যতে আপনার প্রশ্নের মধ্যে এই ধরণের আইটেমগুলি অন্তর্ভুক্ত করা উচিত, যাতে আপনি ইতিমধ্যে চেষ্টা করেছেন এমন জিনিসগুলির পুনর্নির্মাণে প্রত্যেকের সময় নষ্ট না করা।
— slm
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.