TMUXはconda環境の解像度を表示/更新します。

TMUXはconda環境の解像度を表示/更新します。

私はTmuxに初めてアクセスし、現在Tmuxでステータスバーを設定しています。私のtmuxステータスバーにPowerlevel10Kなどの現在のConda環境を表示したいです。試しましたが set -g status-right "conda: #{CONDA_DEFAULT_ENV} | %a %h-%d %H:%M "失敗しました。 tmuxステータスバーには現在、conda環境名には何も表示されません。だから私のtmuxの現在の右下隅は次のようになります。

ここに画像の説明を入力してください。

しかし、私が本当に欲しいものは次のとおりです。

conda: base | Wed Sep-06 23:18

ベストアンサー1

TMUXはconda環境の解像度を表示/更新します。

最後に、Tmuxステータスバーにconda環境を表示または更新するソリューションを見つけました。使ってみました。

set -g status-right "conda: #(echo $CONDA_DEFAULT_ENV) 

しかし、うまくいきません。 Tmuxがわからないようです$CONDA_DEFAULT_ENV。似たようなことを試してみました$PATH。最後に、GPT4にconda env名を正しく表示する方法を尋ね、GPT4に次のコードを追加することを提案しました。~/.zshrc

# Update TMUX environment variable
# Add conda.sh to PATH
source /opt/homebrew/Caskroom/miniforge/base/etc/profile.d/conda.sh

# Update TMUX_CONDA_ENV every time a new prompt is generated
precmd() {
  if [[ -n $TMUX && -n $CONDA_DEFAULT_ENV ]]; then
    tmux setenv -g TMUX_CONDA_ENV "$CONDA_DEFAULT_ENV"
  else
    tmux setenv -gu TMUX_CONDA_ENV
  fi
}

以下は、コードスニペットのGPT4の説明です。

We might need to take a different approach. Let's try using the 

PROMPT_COMMAND environment variable, which holds a command to be executed 

before each command prompt. We'll update the TMUX_CONDA_ENV variable 

inside the PROMPT_COMMAND so that it changes every time a new prompt is 

generated.

これでtmux.conf、元の行を次に変更する必要があります。

set -g status-right "Conda: #{?TMUX_CONDA_ENV,#{TMUX_CONDA_ENV},base}"

今はうまくいきます。正しいconda env名を表示するだけでなく、他の環境に切り替えるとconda env名も更新されます。

おすすめ記事