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