Tmux Colors не работает
Насколько я могу судить, у меня немного странная проблема. Когда я использую tmux
Я не получаю цвет в терминале (весь текст белый, даже для таких вещей, как ls
), но мои цвета прекрасно работают для VIM и других подобных вещей.
В моем файле.tmux.conf есть строка set -g default-terminal "screen-256color"
, что, как говорят большинство людей, решило их проблемы. Я также попытался запустить tmux, набрав tmux -2
, но это ничего не меняет.
Сейчас я немного растерялся, поэтому заранее благодарю за любую помощь, которую вы можете предложить!
ОС: Ubuntu 16.04
Версия Tmux: 2.1
1 ответ
Я могу помочь вам решить симптом, но не корень проблемы. Дизайн приглашения настраивается в переменной PS1.
За пределами tmux это значение:
$ echo ${PS1} # outside tmux
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
Это значение внутри tmux:
$ echo ${PS1} # outside tmux
${debian_chroot:+($debian_chroot)}\u@\h:\w\$
Чтобы устранить проблему, вы можете запустить эту команду внутри tmux, и приглашение для текущего окна будет выглядеть нормально:
PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
редактировать: я решил это, добавив следующую строку в ~/.tmux.conf
set -g default-terminal "screen-256color"
Это немного старый. Я решил эту проблему, создав.bash_profile
файл и поиск моих .bashrc
файл.
Для этого добавьте source ~/.bashrc
в ваш файл.bash_profile.
Проблема в моем случае была связана с тем, что мои настройки bashrc не были получены через tmux. Tmux работает как оболочка входа в систему, поэтому ищет.bash_profile
файл или .bash_login
файл. Мои цвета были установлены в моем.bashrc
файл.
Простой способ решить эту проблему: открыть.bash_profile
vi .bash_profile
Сохраните следующую конфигурацию
export PS1="\[$(tput bold)$(tput setb 2)$(tput setaf 2)\]\u@\h:\w $ \[$(tput sgr0)\]"
alias ls='ls --color'
alias dir='dir --color'
alias vdir='vdir --color'
alias grep='grep --color'
alias fgrep='fgrep --color'
alias egrep='egrep --color'
Источник профиля bash
source .bash_profile
На tmux будут цвета