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;\[email protected]\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$

Это значение внутри tmux:

$ echo ${PS1} # outside tmux
${debian_chroot:+($debian_chroot)}\[email protected]\h:\w\$

Чтобы устранить проблему, вы можете запустить эту команду внутри tmux, и приглашение для текущего окна будет выглядеть нормально:

PS1='\[\e]0;\[email protected]\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[email protected]\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)\]\[email protected]\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 будут цвета

Другие вопросы по тегам