Search code examples
linuxshellgnu-screendetach

Attach to 'screen' session with creating a new screen window


I have a screen session running with several windows. I want to attach to it, create a new screen window within it and start a shell in that new window.

Question: How can I do this from the command line outside the screen session?

I already tried a lot, e. g. screen -x (but it attaches to one of the existing screen windows; it does not create a new one nor does it start a new shell). Any hints are welcome.

Environment is Linux (Ubuntu 12.04).


Solution

  • To choose a window to join, use the -p option. Giving + will create a new one, so your command is simply:

    screen -x session_name -p +
    

    This is documented on the man page:

    -p n̲u̲m̲b̲e̲r̲_o̲r̲_n̲a̲m̲e̲|̲-̲|̲=̲|̲+̲

    Preselect a window. This is useful when you want to reattach to a  
    specific windor or you want to send a command via the "-X" option  
    to a specific window. As with screen's select commant, "-" selects  
    the blank window. As a special case for reattach, "=" brings up the  
    windowlist on the blank window.