tmuxがPS1プロンプトに色を割り当てない

tmuxがPS1プロンプトに色を割り当てない

私は最近、端末を見て楽しむために素晴らしいSolarized色に対応するためにPS1変数を変更することにしました。 tmuxセッションではないときは、すべてがうまくいきます!虹、ポニー、ユニコーン、そしてユニークなヒント!クール!

しかし、問題はtmuxにあります。 PS1の値が正確に私が期待した値で、tmuxが実行されていないときと同じかどうか、つまり\[\033]0;\w\007\]\[\[\]\]\u\[\]@\[\[\]\]\h\[\]:\[\]\W\[\]$ \[\]

私の.bash_profileのすべてのエイリアスなども期待どおりに実行されます。 tmuxは色を正常に表示し、echo -ne "\033[1;33m hi"期待どおりに機能しますgls --color

私の.bash_profileの現在の関連行はですexport PS1="\[\033]0;\w\007\]\[\[\]\]\u\[\]@\[\[\]\]\h\[\]:\[\]\W\[\]$ \[\]"。もともと、いくつかの条件などを処理するために.bash_promptファイルからスクリプトをインポートしていましたが。もっとシンプルなバージョンに戻ってみました。

実行するとbashプロンプトの色が表示されますが、各ウィンドウで実行する必要があります。export PS1=[that long string I've already posted]しないでしょう。

私の.tmux.confは次のようになります。

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}"

.bash_profile 関連部分:

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を使用していますが、現在のホームブルーバージョンのbashとシステムbash(現在のホームブルーバージョンを使用)tmux 2.4の両方を試してみました。

また、touch testing_touch_from_bash_profile2つのウィンドウを持つtmuxセッションに.bash_profileを配置し、1つのウィンドウを終了して1つを開き、ファイルが実際に作成されたことを確認しました。

echo $TERM返品xterm-256color

設定変更をテストするためにtmuxを終了すると、tmuxを終了し、現在のtmuxプロセスがps -ax | grep tmux

奇妙なことは、.bash_promptスクリプトをインポートすると、すべてのtmuxウィンドウでこれを行うたびに色も変わることです。

私は見たことがないhttps://stackoverflow.com/questions/21005966/tmux-prompt-not-following-normal-bash-prompt-ps1-wそして、.tmux.confの最初の行でbash呼び出しの後に--loginフラグを追加してみてください。 tmux を起動すると、tmux new bash最初のウィンドウは色調化されますが、後続のウィンドウは色調化されません。

$PS1変数は、フィールドの色を除くすべての部分で尊重されているようです。

誰にもアイデアがありますか?

ベストアンサー1

私のコンピュータにソリューションを追加することでした。

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

到着する~/.tmux.conf

おすすめ記事