The current work flow is like this, a user logs into a session and begins processing. At a later time that user's shift ends. At this point the user is still processing but able to detach from the session where upon a new user logs in and continues processing.

This is okay while there is only one unit of processing work to be done. This work includes the use of regular gui tools such as a browser and spreadsheet as well task specific tools (not necessarily gui).

When there is a second processing task needing to begin with another user they must wait to log into this resource and begin a new.

My question is there a screen like command or program which could be used to allow applications and processes to be started in one user's session and picked up by another user later?

Basically, can one user for sake of argument, in some kind of named container start Firefox. Then another user to access that container and find Firefox as the first user left it. Like screen but with X applications?

  • That sounds like you want your users to share the same environment, so I don't see why they would use different system user names. If you do it to act as a punch clock, you may want to separate the two. Jul 4, 2016 at 18:54
  • The users do share the same environment and the idea is to allow users to employ different system user names, yet being able to pick up incomplete processing task which are running in that environment and work concurrently without interfering with each other. At the moment one user may start a report being generated for a large set of files and this may not complete before the end of shift so the next user needs access to that instance of that running application to complete the task. Jul 4, 2016 at 19:13
  • To be clear the end of shift statement is intended only as one example of when a task would be transferred from one user to another. Jul 4, 2016 at 19:15
  • That depends on your whole infrastructure but if you intend them (as in your question) to use the same running instances (like Firefox), then it makes no sense to give them separate user accounts. Jul 4, 2016 at 19:15
  • If this were a bash script running in screen then one user could start the script and interact where necessary. Then either when support is needed or at the end of their shift detach, provide the name the screen to the next analyst who then takes over. I'm asking if or how you can do that in X. Although substituting the bash script for the processing application and screen for the as yet unknown something. Jul 4, 2016 at 19:22

2 Answers 2


A simple way of sharing that might work for you would be to start a Xvnc virtual X11 server with vncserver :1 on one machine, and run your application in it, and then connect to it simultaneously from many different workstations with vncviewer -shared host:1. All users see the same desktop and share keyboard and mouse actions. When the users disconnect the server continues to run.

In your case, the server and workstations can be the same machine, and the different user sessions correspond to the sharing, as each will see what the previous left. You can even make the viewer full-screen if needed.

  • I like your answer but it would lead to confusion and potentially hazardous consequences where the element of concurrent usage comes in. Jul 6, 2016 at 11:57
  • of course, if you don't use the option -shared then anyone who runs vncviewer will cause any other current viewer to be disconnected, eg in case they forgot to disconnect their viewer when leaving.
    – meuh
    Jul 6, 2016 at 13:04
  • That is the same as the situation which I'm starting from. Jul 12, 2016 at 11:39
  • Only the viewer is disconnected. The vncserver running your application is still there waiting for you to pick up where you left off.
    – meuh
    Jul 12, 2016 at 11:51

xpra aka "screen for X", (literally the first hit on google)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .