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 이름도 업데이트합니다.

관련 정보