Tmux提示不遵循正常的bash提示符PS1 \ W

时间:2014-01-08 20:36:15

标签: bash tmux

我在Mac上做了一些更新,似乎打破了我的一些设置。我的.bash_profile

中有以下内容

导出PS1 =“\ W $”

这在我的正常bash会话中工作,只显示当前目录而不是 整条道路。但是,当我切换到tmux时,它再次显示整个路径。 bash配置文件中PS1的其他更改(如颜色或其他字符)工作正常,并反映在tmux中。我已经清空了我的.tmux.conf,看看是否会导致冲突,但这种行为没有变化。

我确实在系统上创建了一个新用户并尝试了相同的PS1,它在普通会话和tmux中都运行良好。

我很困惑,因为我知道我有它工作,无法弄清楚更新中会发生什么变化。除了.bash_profile和.tmux.conf之外的哪些文件可以在这里播放?有没有办法告诉tmux从哪里拉出它的设置?

其他信息: iTerm2和终端中的行为相同 Tmux 1.8版 Mac OSX 10.9.1

9 个答案:

答案 0 :(得分:23)

这个对我有用: 在tmux / terminal中:

tmux set-option -g default-command bash

或者只是放入~/.tmux.conf

set-option -g default-command bash

答案 1 :(得分:7)

我有类似的问题。如果我总是在应用bash命令的情况下启动tmux,我会得到正确的结果,如下所示:

tmux new bash

因此,为了简化这一点,我刚刚在〜/ .bash_aliases文件中创建了一个别名,我一直在使用它:

alias tn='tmux new bash'

这仅适用于第一个窗口。创建新窗口时,必须通过在终端中执行bash来再次启动bash。

答案 2 :(得分:2)

我遇到了同样的问题,经过一些研究后,我将以下命令添加到~/.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。

答案 3 :(得分:1)

我知道我参加聚会已经很晚了。但这是对我有用的方法。

我刚刚在 TERM 中添加了 -256color

  1. 打开/运行 tmux。
  2. 运行以下命令:echo $TERM。我们将使用它的输出。我得到了 screen。在下一步中使用您自己的。
  3. 编辑您的 tmux conf 文件:vim ~/.tmux.conf 并添加以下行:set -g default-terminal screen-256color
  4. 退出 tmux。
  5. 再次打开/运行 tmux。

使用 tmux-256color 对我不起作用。我使用的是 Ubuntu 18.04、bash 4.4.20、tmux 2.6。

答案 4 :(得分:0)

将tmux与byobu一起使用时,可以尝试byobu-prompt命令。它会询问您是否需要bash颜色提示。回答“是”后,提示将更改为通常的user @ host。

答案 5 :(得分:0)

将以下行添加到〜/ .tmux.conf

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

答案 6 :(得分:0)

在〜/ .tmux.conf中添加以下内容

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

来自心爱的ArchWiki tmux

答案 7 :(得分:0)

更好地通过terminfo命令来检测系统的infocmp数据库知道哪些终端。我的~/.tmux.conf中包含以下内容:

# Last match wins
if-shell "infocmp xterm-256color" "set-option -g default-terminal xterm-256color"
if-shell "infocmp screen-256color" "set-option -g default-terminal screen-256color"
if-shell "infocmp tmux" "set-option -g default-terminal tmux"

如果infocmp shell命令成功,则执行以下set-option tmux命令。

答案 8 :(得分:-2)

将以下内容添加到.tmux.conf

new -n WindowName bash --login

您可以将WindowName替换为您想要命名的第一个窗口。以这种方式调用bash时,会向您的.bash_profile.bash_rc.profile等提供来源,您可以在此处更改$PS1