Skip to content

Instantly share code, notes, and snippets.

@florianbeer
Created April 21, 2015 10:47
Show Gist options
  • Star 27 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save florianbeer/ee02c149a7e25f643491 to your computer and use it in GitHub Desktop.
Save florianbeer/ee02c149a7e25f643491 to your computer and use it in GitHub Desktop.
Set tmux pane title to short hostname on ssh connections
ssh() {
if [ "$(ps -p $(ps -p $$ -o ppid=) -o comm=)" = "tmux" ]; then
tmux rename-window "$(echo $* | cut -d . -f 1)"
command ssh "$@"
tmux set-window-option automatic-rename "on" 1>/dev/null
else
command ssh "$@"
fi
}
@arno01
Copy link

arno01 commented Oct 17, 2018

Working variant in Termux on Samsung DeX:

# Requires procps package installed.
ssh() {
  if [ "$(ps -p $(ps -p $$ -o ppid=) -o comm= | cut -d : -f1)" = "tmux" ]; then
    tmux rename-window "$(echo -- $* | awk '{print $NF}')"
    command ssh "$@"
    tmux set-window-option automatic-rename "on" 1>/dev/null
  else
    command ssh "$@"
  fi
}

@int32bit
Copy link

int32bit commented Jul 8, 2019

It will go wrong if I run with '-i' option like ssh -i my.pem test@x.x.x.x .

@nevesnunes
Copy link

nevesnunes commented Jul 3, 2020

As @int32bit mentioned, options aren't handled in the previous snippets. The following variant handles those cases:

https://gist.github.com/nevesnunes/951f77085116a9beea62c9610dda31e8

@nippyin
Copy link

nippyin commented Jun 13, 2021

Could you please share where would I place this code ? I pasted this in my ~/.zshrc file and ssh to a server but I didn't see remote host name anywhere.

Note: I do have ~/.tmux.config file which have few keybindings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment