Запрос Tmux не соответствует нормальному bash запросу PS1\W
Я немного обновил свой Mac и, похоже, нарушил некоторые мои настройки. У меня есть следующий набор в моем .bash_profile
экспорт PS1 = "\ W $"
Это работает в моем обычном сеансе bash, чтобы показать только текущий каталог, а не
весь путь. Однако, когда я переключаюсь в tmux, он снова отображает весь путь. Другие изменения в PS1 в профиле bash, такие как цвет или другие символы, работают нормально и отражены в tmux. Я освободил мой .tmux.conf, чтобы увидеть, вызвало ли это конфликт, но никаких изменений в этом поведении не было.
Я создал нового пользователя в системе и попробовал тот же PS1, и он отлично работал как в обычном сеансе, так и в tmux.
Я в основном смущен, потому что знаю, что у меня все работает, и не могу понять, что изменилось бы в обновлении. Какие файлы помимо .bash_profile и .tmux.conf можно играть здесь? Есть ли способ сказать, где tmux вытаскивает его настройки из?
Дополнительная информация:
Такое поведение одинаково для iTerm2 и Terminal
Версия Tmux 1.8
Mac OSX 10.9.1
Ответы
Ответ 1
Добавьте в свой .tmux.conf
следующее:
new -n WindowName bash --login
Вы можете заменить WindowName
на то, что вы хотите назвать первым окном. Когда bash
вызывается таким образом, он ссылается на ваши .bash_profile
, .bash_rc
, .profile
и т.д., Где вы меняете свой $PS1
.
Ответ 2
Это работает для меня:
В tmux/terminal:
tmux set-option -g default-command bash
Или просто поместите в ~/.tmux.conf
:
set-option -g default-command bash
Ответ 3
У меня подобная проблема. Я получаю правильный результат, если я всегда начинаю tmux с приложенной командой bash, например:
tmux new bash
Итак, чтобы упростить это, я просто создал псевдоним в файле ~/.bash_aliases, который я использую все время:
alias tn='tmux new bash'
Это работает только для первого окна. При создании новых окон вам нужно снова запустить bash, выполнив bash
в терминале.
Ответ 4
У меня была такая же проблема, и после некоторых исследований я добавил следующую команду в мой ~/.tmux.conf
:
set-option -g default-command "reattach-to-user-namespace -l /opt/local/bin/bash --login"
Я использую OSX 10.9.5 с iTerm2 Build 2.0.0.20141103, bash 4.3.30 (1) -release, tmux 1.9a. bash и tmux - из macports.
Ответ 5
При использовании tmux с byobu вы можете попробовать команду byobu-prompt
. Он спросит вас, хотите ли вы приглашение цвета bash. После ответа "Да" приглашение изменится на обычный пользовательский хост.
Ответ 6
Добавьте следующую строку в ~/.tmux.conf
set -g default-terminal "screen-256color"
Ответ 7
Добавьте следующее в ваш ~/.tmux.conf
set -g default-terminal "tmux-256color"
От любимого ArchWiki tmux