¡Normalmente uso iTERM2 con los temas zsh y Oh My Zsh! Mi tema actual utiliza comandos de control de color y una fuente Powerline:
# vim:ft=zsh ts=2 sw=2 sts=2
# Must use Powerline font, for \uE0A0 to render.
ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}\uE0A0 "
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}!"
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?"
ZSH_THEME_GIT_PROMPT_CLEAN=""
ZSH_THEME_RUBY_PROMPT_PREFIX="%{$fg_bold[red]%}‹"
ZSH_THEME_RUBY_PROMPT_SUFFIX="›%{$reset_color%}"
PROMPT='
%{$fg_bold[grey]%}%n@%m%{$fg_bold[white]%}:%{$fg_bold[green]%}$(shrink_path --fish)%{$reset_color%}$(git_prompt_info) %{$fg_bold[red]%}%*%{$reset_color%}
$ '
RPROMPT='$(ruby_prompt_info)'
De todos modos. En la rara ocasión en que necesito ejecutar XQuartz con xterm. Debido a la configuración anterior, xterm no puede lidiar con los códigos de color anteriores, y por lo tanto emite un montón de basura después de cada prompt:
He tratado de probar para xterm utilizando el $TERM
en mis archivos .zshrc y temáticos, pero siempre es xterm
.
Así que mi pregunta, ¿cuál es la mejor manera de detectar el entorno de terminal entre XQuartz xterm y iTerm terminal para que pueda alternar / desactivar el tema?