tmux PS1 istemini renklendirmiyor


11

Son zamanlarda PS1 değişkenimi terminal görüntüleme zevkim için güzel Solarized renklere uyacak şekilde değiştirmeye karar verdim. Bir tmux oturumunda değilken, her şey harika! Gökkuşağı, midilli, tek boynuzlu atlar ve ayırt edilebilir bir istem! Güzel!

Ancak sorun tmux içindedir. PS1'in değerinin olmasını beklediğim şey olduğunu ve tmux'un çalışmadığı zamankiyle aynı olduğunu doğruladım \[\033]0;\w\007\]\[\[\]\]\u\[\]@\[\[\]\]\h\[\]:\[\]\W\[\]$ \[\].

.Bash_profile dosyamdaki diğer takma adlarım vb. De beklendiği gibi çalışıyor. tmux, echo -ne "\033[1;33m hi"beklendiği gibi davrandığı gibi renkleri olaysız görüntüler gls --color.

Benim .bash_profile geçerli geçerli satırı export PS1="\[\033]0;\w\007\]\[\[\]\]\u\[\]@\[\[\]\]\h\[\]:\[\]\W\[\]$ \[\]", başlangıçta bazı koşullarını, vb işlemek için bir .bash_prompt dosyasında bulunan bir komut dosyası kaynaklanıyor olmasına rağmen, ben daha basit sürümüne geri dönmeye çalıştım.

Yürütme bashisteminin renklenmesine neden olur, ancak her bölmede yapılması gerekir. export PS1=[that long string I've already posted]olmaz.

.Tmux.conf dosyam aşağıdaki gibidir:

set-option -g default-command "reattach-to-user-namespace -l /usr/local/bin/bash"
set -g default-terminal "xterm-256color"
set-window-option -g automatic-rename on
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"

İlgili .bash_profile bölümleri:

export TERM="xterm-256color"
if which tmux >/dev/null 2>&1; then
    test -z "$TMUX" && (tmux attach || tmux new-session)
fi

MacOS Sierra, iTerm 2 kullanıyorum, hem bash'ın mevcut homebrew sürümünü hem de sistem bash (şu anda homebrew kullanıyor), tmux 2.4'ü denedim.

Ayrıca touch testing_touch_from_bash_profileiki bölmeli bir tmux oturumu sırasında .bash_profile dosyama yerleştirdim , bir bölmeyi öldürdüm, bir bölmeyi açtım ve dosyanın gerçekte oluşturulduğunu doğruladım.

echo $TERMdöner xterm-256color.

Tmux'dan çıkarken ayar değişikliklerini test etmek için tmux'dan çıkarken ve şu anda sistemde hiçbir tmux işleminin çalışmamasını sağladım ps -ax | grep tmux.

Garip bir şekilde, .bash_prompt betiğinin kaynağı, her tmux bölmesinde yaptığım sürece rengi de değiştirir.

Https://stackoverflow.com/questions/21005966/tmux-prompt-not-following-normal-bash-prompt-ps1-w adresine baktım ve ilk satırdaki bash çağrısından sonra --login bayrağını eklemeyi denedim .tmux.conf. Tmux'un ile başlatılması tmux new bashilk bölmenin renklenmesine neden olur, ancak sonraki bölmeler olmaz.

$ PS1 değişkeni, alanların herhangi birini renklendirmek dışında görünen tüm yönlerden dolayı onurlandırılmaktadır.

Herhangi bir fikri olan var mı?


Tek tırnak deneyin
Kevin

5
Gönderdiğiniz PS1ayarın renkleri değiştirme komutu yoktur. Tmux dışında çalışan gerçek bir ayar gönderin. Ayrıca, belirlesin PS1içinde .bashrcdeğil de, .bash_profile: .bash_profilehiç idam olmayabilir ve ayarlar daha sonra geçersiz kılınan olabilir.
Gilles 'SO- kötü olmayı kes'

Yanıtlar:


3

PS1'iniz de bana siyah beyaz çıktı veriyor.

Ancak benimkine geri dönmek bana renk veriyor, bu yüzden farklı olanı anlayabilmelisin, kullanıyorum

$ echo $PS1
\[\033[01;31m\]\t \[\033[01;32m\]durrantm \[\033[02;36m\]\h \[\033[01;34m\]`pwd | sed "s#\(/[^/]\{1,\}/[^/]\{1,\}/[^/]\{1,\}/\).*\(/[^/]\{1,\}/[^/]\{1,\}\)/\{0,1\}#\1_\2#g"` \[\033[00;33m\]$(git_branch)\[\033[00m\]\n\$

git_branch sahip olduğum bir bash işlevidir:

git_branch () { 
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'
}

Sevgiler ve Benim:

resim açıklamasını buraya girin

Bu OSX ve Ubuntu için aynı şekilde çalışır


11

Bu soruna benim çözümüm

force_color_prompt=yes

benim .bashrc. Şimdi tmux istemimin rengi var.


Bunun neden tmux'da bunun dışında farklı davrandığından emin değilim, ama bu da benim için hile yaptı.
Matt Lacey

Mürekkep bu belirtmelisiniz: yapmanız gereken komutu çalıştırmak tmuxve sonra bir tmux oturum çalıştırmak içinde source ~/.bashrc. Bunu her panelde yapmanız gerekir.
evaristegd

Teşekkürler, bu iş benim için Ubuntu 18.04 gnome terminalinde de.
intijk

3

Makineme çözüm eklemek

set -g default-terminal "xterm-256color"

için ~/.tmux.conf.

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.