Search code examples
terminalzshtmux

tmux is not using screen-256color even it is set in the config file


I am trying to get tmux to use screen-256color instead of xterm-256color, as it is not recommended. But when I am not using tmux, I would like to keep it as xterm-256color

A little bit of my setup, I am currently using iTerm2 and ssh to my development linux box, which is using zsh.

In my ~/.zshrc, I have:

export TERM="xterm-256color"

In my ~/.tmux.conf, I have:

set -g default-terminal "screen-256color"

With this configuraiton, without tmux, echo $TERM returns xterm-256color (which is right) and with tmux, echo $TERM is still returning xterm-256color instead of screen-256color.

Is there anything else I need to set in order for this to work?

Thanks!


Solution

  • You could modify your .zshrc file to check if you are running in tmux:

    [ -z "$TMUX" ] && export TERM=xterm-256color