Say I have two projects that I'm working on. I have a series of apps (ex. Chrome, LibreOffice Writer, a terminal) open for Project 1. I have a different series of apps (ex. Chrome, Eclipse, VLC) open for Project 2.

What I would like to do is save the state of all of my opened apps for Project 1, including the files open in each app, the tabs open in each browser, and the location and size of each app window. I can then close everything out and move onto Project 2, where I can save that state as well. When I'm ready to come back to Project 1, I can open up the saved state with one click and pick up right where I left off. This allows me to switch between the two projects effortlessly.

I'm trying to find a good solution for this kind of workflow, but all of the options I've discovered have limitations.

  1. Keep a separate VM for each project: This takes up a lot of hard drive space and requires that I keep each VM updated separately.

  2. Linux Window Session Manager: lwsm only saves applications and positions, not the files open in those applications or the tabs open in the browsers.

  3. Use the Linux OS Session Saver: For instance, in Xubuntu, I can have it save multiple sessions, but I then have to log out and log back in to switch sessions.

I would like a solution where I can quickly and easily switch between windows sessions on a host machine with just one or two clicks (or commands). Does such a solution exist?


You are probably looking to using the feature of multiple workspaces. On some Linux distributions they are not enabled by default, which might be why you are not seeing them.

For example, on Ubuntu’s Unity desktop, you open the System Settings window and click the Appearance icon. In the Behavior tab, check "Enable workspaces" for the Workspace Switcher icon to appear on Unity’s dock.

For more information, see:

If you don't want all projects open in parallel, the only solution I can think of is to use Docker containers, one each per project, which are basically only (very) light virtual machines.

You will then be able to suspend and resume the containers at will.

I am a bit hazy on how well this will work with graphics, but I do know that Docker graphics work much better on Linux than on Windows.

You will have a learning curve when studying Docker, but this is a technology that is well worth learning.

There is lots of information available on Docker on the web. For example, one of my first searches found this article: Running GUI Applications inside Docker Containers.

  • I considered that, but doesn't that mean that everything stays open, just in the background? I don't want every app for every project open at once and using all of my resources. I'd just like to have one project open at a time. – 123MilitaryNerd Jun 14 '19 at 14:53
  • I added another option. – harrymc Jun 14 '19 at 15:17
  • Docker is an interesting idea. I'll definitely look into it. – 123MilitaryNerd Jun 21 '19 at 12:53
  • If my answer has helped with the problem, please accept it (tick the V sign). – harrymc Jun 21 '19 at 17:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.