tmux set başlıkları çalışmıyor mu?


17

tmuxHer kabuk girişinde başlamak için ~/.bashrc(sunucuda) aşağıdakiler eklendi :

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

Ben de bir ana bilgisayara ssh gibi user@server(yerine user@localhost) pencere başlığını değiştirmek istiyorum . İşte benim ~/.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@'

Gördüğünüz gibi set-titles, ayarlanmış on, ancak beklendiği gibi çalışmıyor.

Daha fazla bilgi:

Tmux dışında:

$ echo $TERM
xterm

Tmux içi:

$ echo $TERM
screen

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

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

Ve işte tmux -vvvvvbiraz koşarken günlükler :

~/.bashrcDizüstü bilgisayarımdan ssh sunucusuna sunucudaki satırları yorumlarsam , başlık çubuğu doğru bir şekilde gösterilir ( quanta@server), oradan başlayın tmuxda beklendiği gibi çalışır.

Ancak tmuxgirişten hemen sonra başlamak istiyorsam , başlık çubuğu ssh'den quanta@Ubuntusonra olmaya devam ediyor .


GÜNCELLEME 10 Mayıs Cuma 07:51:23 ICT 2013

exitSon tmuxpencere kapatıldığında kabuk oturumunu kapatmamak için komutu sildim :

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

Garip olan şey:

  • ssh to server -> başlık çubuğu: quanta@Ubuntu
  • ayır tmux-> başlık çubuğuquanta@server
  • tmuxtekrar ekle -> başlık çubuğu hala doğru görünüyor quanta@server

PROMPT_COMMANDOrtam değişkeniyle ilgili olup olmadığından emin değilim :

Dışında tmux:

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

İçinde tmux:

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

Bu soruda belli değilse. Kurulumu iyi çalışıyor, sadece .bashrc'den çalıştırmaya çalıştığında değil.
slm

Lütfen çıktısını sağlayın tmux info.
slm

Yanıtlar:


15

Sorun çözüldü!

Yerel xterm fare kaydırmayı etkinleştirmek tmuxiçin birçok wiki , Soru-Cevap sitesi , blog yayını aşağıdaki gibi bir satır eklemenizi önerir:

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

için ~/.tmux.conf. Ve bu suçlu.

Terminal penceresinde xterm başlıklarına izin vermek için XTbayrağı da şöyle eklemeniz gerekir :

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

Kaynak: http://opennomad.com/content/goodbye-screen-hello-tmux


3
Gönderiniz için teşekkürler. Benim durumumda rxvt, ayarset -ga terminal-overrides ",rxvt*:XT"
favadi

2
@Favadi'nin belirttiği gibi, bunun için doğru düzeltme , smcup / rmcup geçersiz kılmalarını eklemek için -aseçeneği kullanmaktır set. Bu, imleç şeklini düzgün bir şekilde ayarlayamamak gibi diğer garip sorunları düzeltir.
14'te blueyed

2

Bu konuya tmux kullanıcıları posta listesinden geldi. Konu başlığı: set-başlıklar çalışmıyor . Denemek için bu iş parçacığından birkaç şey var. Burada da iş parçacığının daha temiz bir versiyonu var.

XTerm Kaynakları

Yeni başlayanlar için nihai düzeltme XTerm Kaynakları dosyanıza aşağıdaki satırı eklemekti ~/.Xresources:

XTerm*allowSendEvents: true

Hata ayıklama tmux ipuçları

Bu konuda size yardımcı olabilecek bazı hata ayıklama ipuçları da vardı.

ayrıntılı tmux

  1. tüm tmux oturumlarını kapat
  2. komutu çalıştırın: tmux -vvvvv
  3. komutu çalıştırın: vi foo
  4. Dosya 'yı kaydet
  5. tmux'dan çık

Bunu yaptıktan sonra aşağıdaki gibi 3 dosyaya sahip olmalısınız:

  • tmux-out-21594.log
  • tmux-istemci 21592.log
  • tmux-sunucu-21594.log

tmux bilgisi

$ 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:

Bu soruyu sormadan önce zaten okudum. XTerm*allowSendEvents: trueişe yaramadı. Günlük dosyaları yüklendi. Güncellenmiş soruma bakın.
quanta

1
Gelecekte, denediğiniz şeyleri yeniden canlandırmak için herkesin zamanını boşa harcamamak için sorunuza bu tür öğeleri eklemeniz gerekir.
slm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.