私は最近、端末を見て楽しむために素晴らしい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_profile
2つのウィンドウを持つ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
。