screen for Windowing Environments

Anyone who regularly uses screen knows how useful it can be to have long-lived sessions that you can detach from and come back to later. It is great to be able to start an email in mutt via an SSH terminal, detach from that session, log off, shut the machine down and go home, and when I reattach to the session everything is as I left it. It is also nice to be able to start a long-running process, detach from it and open a new session, and just pop over to the other session occasionally to check on it.

What’s troublesome is that there is no equivalent in windowing environments. It would be hugely useful to be able to detach from an X session – even if it was just locally – so someone else could log in and use the machine without me having to close everything down. The Microsoft Remote Desktop makes some attempt to do this, but it is clunky and does not behave consistently. Ideally, when you start the machine it should launch a server process which in turn launches a login screen (or prompt) as a virtual machine or client instance, and whenever you wanted you could detach that instance from your display and input hardware, and then launch another instance. The standard should be a thin-client system, so you can do more with the same machine. This would be especially useful in the home, where one machine could have several heads, and anyone could use “their” computer from any head.