I use screen(1) to keep multiple Terminal.app tabs open over a shared set of virtual windows with secure shells.
I ssh into the machine that will host my screens and start the wrapper screen.
The wrapper screen’s configuration just specifies the interrupt key.
Inside the wrapper screen, I create a window for each Terminal.app tab I want to use, as many as 4.
Inside the first wrapper window, I set up ssh-agent and start the ssh screen.
The ssh screen’s configuration creates a bunch of windows that ssh into other machines I want to work on. I like to have at least two windows for each machine.
Inside the other wrapper windows, I set up ssh-agent and attach to the already-running ssh screen.
At the start of the day, I open up multiple Terminal.app tabs, ssh into the screen server, and attach to the wrapper screen. This is simplified with an alias.
