I run a screen session locally on my laptop. Within that screen session, I connect via ssh to a server on which I do most of my work. Since that connection gets reset sometimes (e.g. VPN timing out), I run a screen session on the server as well so that I can reconnect to it and have my shell exactly as it was.
So my workflow is: wake laptop, switch to terminal, find local screen session running but a message showing connection timed out, ssh to my server, run screen -x
to reconnect to the screen session on the server, and do my work.
The ~/.screenrc
file on the server just contains one line, altscreen on
. Otherwise all my custom screen stuff (including customizing the meta-character to be Ctrl-Space, and having a status bar with window names) is on my laptop only. (I also have altscreen on
in my laptop's .screenrc
file.)
The upshot of this is that I can control the remote screen session using Ctrl-A (the default) and I can control the local screen session using Ctrl-Space. I don't normally control the remote screen session or do anything with it except connect to it—but that's where my question comes in.
Currently, if I try to scroll back on the remote server using Ctrl-Space+[, it doesn't work correctly. I may see the contents of previous Vim buffers I had open, or other stuff. To scroll back on the remote server, I have to use Ctrl-A+[.
How can I make it so I can scroll normally, i.e. using Ctrl-Space+[, and see the proper scrollback history for my shell on the remote server? In other words, I want to pretend that screen
doesn't even exist on the remote server, since I want to use it ONLY for purposes of resuming my work where I left off before the connection was interrupted.