====== Screen and Other Settings For a New Host ====== ====== GNU/screen ====== ~/.screenrc: startup_message off bind ' ' windowlist -b defscrollback 5000 defmonitor on hardstatus alwayslastline caption always caption string '%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<' shelltitle '$ |bash'

auto-title for screen

This sets the window title to the command you are currently running on localhost. ~/.bashrc: ... PROMPT_COMMAND='echo -n -e "\033k\033\\"' The following sets the screen title to the ssh host you have connected to. ~/.ssh/config: Host * PermitLocalCommand yes LocalCommand tty -s && echo -ne "\ek%h\e\\" (On every ssh connection 'LocalCommand' is run, which formats the remote hostname into the needed escape sequence for screen to set the window title). ====== SSH keepalive ====== To keep SSH sessions from timing out: Host * ... TCPKeepAlive yes ====== TCP keepalive ====== To keep all TCP sessions from timing out: # sysctl -w net.ipv4.tcp_keepalive_time=200 # echo net.ipv4.tcp_keepalive_time=200 >> /etc/sysctl.conf