Change background color of tmux pane depending on

2019-08-16 02:42发布

问题:

If I ssh into a remote server from tmux in a single pane, is it possible to change the background color of the pane based on the server name?

Let's say all my prod servers start with prod_XYZ and a dev server starts with dev_XYZ. If I ssh into these two servers, can I color them differently based on the type of server I am on? That is, based on the server prefix?

I know tmux panes now understand color. So if I can detect the ssh command is being used then I can figure the name of the server and send the command select-pane -t:.1 -P 'fg=blue,bg=red' to tmux. But how do I (A) send the color to the correct pane; (B) get the server name from the terminal to color tmux?

回答1:

The easiest way is to write a script or shell function and then alias it to ssh, something like (not tested):

#!/bin/sh
if [ -n "$TMUX" ]; then
    case "$1" in
    prod_*)
        tmux selectp -P bg=red
    ;;
    esac
fi
ssh "$@"
tmux selectp -P default