tmux set-titlesが機能しませんか?


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 -ghttps : //clbin.com/h7oDh

tmux infohttp : //sprunge.us/XHCB

tmux -vvvvv少し実行したときのログは次のとおりです。

  • tmux-client-8441.log:https ://clbin.com/eFwFF
  • tmux-out-8443.log:https ://clbin.com/MSKZv
  • tmux-server-8443.log:https ://clbin.com/JXwRN

の行を~/.bashrcラップトップからsshからサーバーにコメントアウトすると、タイトルバーが正しく表示され(quanta@server)、そこから開始tmuxすることも期待どおりに機能します。

しかし、tmuxログイン後すぐに起動したい場合、タイトルバーはquanta@Ubuntusshの後に残ります。


5月10日金曜日更新07:51:23 ICT 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

問題が解決しました!

でネイティブのxtermマウススクロールを有効にするにtmuxは、多くのwikiQ&Aサイトブログ投稿で次のような行を追加することをお勧めします。

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

~/.tmux.conf。そして、それは犯人です。

端末ウィンドウでxtermタイトルを許可するには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
@favadiが指摘したように、これに対する適切な修正は、smcup / rmcupオーバーライドを追加する-aオプションを使用することsetです。これにより、カーソルの形状を適切に設定できないなど、その他の奇妙な問題が修正されます。
14年

2

tmux-usersメーリングリストからこのスレッドを見つけました。スレッドのタイトルはset-titles not workingです。このスレッドから試してみることがいくつかあります。ありますスレッドのクリーンバージョンここでは、同様に。

XTermリソース

まず、最終的な修正は、XTermリソースファイルに次の行を追加することでした~/.Xresources

XTerm*allowSendEvents: true

tmuxのヒントをデバッグする

また、このスレッドにはデバッグのヒントもあり、役立つ場合があります。

冗長tmux

  1. すべてのtmuxセッションを閉じます
  2. コマンドを実行します: tmux -vvvvv
  3. コマンドを実行します: vi foo
  4. ファイルを保存する
  5. tmuxを終了します

そうすると、次のような3つのファイルが必要になります。

  • tmux-out-21594.log
  • tmux-client-21592.log
  • tmux-server-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.