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.