Automatically start SCREEN on SSH login

I just found a nice method to invoke screen automatically if after login via SSH. So you don't have to manually start it first.

Put the following at the end of your ~/.bashrc

If you want more details and some additional tricks just go to

5 thoughts on “Automatically start SCREEN on SSH login”

  1. Hey, I noticed that if you use this script, then you can’t create new screen windows with Ctrl+A, C. When you do that, it starts with a fresh environment so STARTED_SCREEN is not set. The solution is to test if screen is not already started with $TERM != “screen”

    If you use the following line, it works better:

    if [ “$PS1” != “” -a $TERM != “screen” -a “${STARTED_SCREEN:-x}” = x -a “${SSH_TTY:-x}” != x ]

  2. I tested the code above on Ubuntu 12.04, 12.10, 13.04, Debian 6 and 7, Arch 2012.12.01, and OpenWRT bleeding edge.

    ^A, C worked just fine on all of those. I’m not sure why Martijn’s would be different.

  3. I added the code to the bottom of .bashrc on raspbian wheezy. The system’s response upon sourcing the file was to clear the terminal’s display and present me with a blinking cursor, as if .bashrc was never finished. I had to ctrl-c to regain the prompt. I moved the code to the top of the .bashrc with the same result. I am unsure how to troubleshoot the problem. My original .bashrc can be examined at this link:

    Thanks for any enlightenment.

Leave a Reply

Your email address will not be published.