All Articles

Using Multiple Virtual Desktops on Windows, OS X and Ubuntu

Even with two monitors, I can get so many windows open that it is annoying when I need to flip between windows to figure something out. I frequently need to look at several pairs of windows--an RStudio window and a Firefox window, a TeXmaker window and a Firefox window, an Excel window and an Adobe Reader window, a Windows 7 virtual machine with a client running and an Ubuntu virtual machine with a web service running--the list of window pairs is quite long. I need to be able to quickly switch between pairs of windows without going through multiple steps to minimize and maximize windows to get the ones I need on top and sized to see them at the same time. Fortunately, this is possible in Windows, Linux and OS X--the three operating systems I use daily. In Unix, Linux and Mac systems, the virtual desktops that are part of the OS have provided this for years, but this is a not base feature on Microsoft Windows until the introduction of Windows 10.

Fortunately, for older versions of Windows, there are a number of add-ons for Windows that provide this function; I use Desktops 2.0 on both Windows 7 and Windows 8.1. Desktops 2.0 can be downloaded from the Sysinternals web site. Like the capabilities provided in Linux and OS X, Desktops 2.0 provides four virtual desktops where you can have groups of windows open on each desktop and switch between desktops. The remaining sections discuss how to use virtual desktops in the three major operating systems. For Linux, I give instructions for Ubuntu, but the same general steps apply for the other major Linux distributions. See the sections that follow for how to use this on your operating system:

Windows 10

Microsoft finally provided a native virtual desktop feature in Windows 10 and clearly learned from Apple, Linux and from the earlier Desktop 2.0 add-on. The Windows 10 implementation is probably the easiest to implement and learn of all of the solutions. Figure 6 shows a windows desktop; to use virtual desktops, click on the little three-box icon immediately to the left of the Internet Explorer icon in the tool bar. This will bring up snapshots of all of the active virtual desktops as shown in Figure 7. To add an additional desktop, just click on the "New Desktop" text in the lower right corner. You can open multiple windows of a program in each virtual desktop–something that you could not do in Desktop 2.0. You can’t move windows between desktops as you can in Linux, but you also aren’t limited in the number of desktops.

There is one setting in System->Settings->Virtual Desktops that I changed: I chose to have it highlight applications that are open on all desktops rather than just the current one, as this makes it much easier to switch between desktops and makes it work much more like Ubuntu.

Figure 6. To use virtual desktops in Windows 10, select the "three box" icon immediately to the left of the Internet Explorer icon in the taskbar.
Figure 6. To use virtual desktops in Windows 10, select the
Figure 7. To add a virtual desktop in Windows 10, select the "New Desktop" button in the lower right corner of the display.
Figure 7.  To add a virtual desktop in Windows 10, select the

Windows 7, 8 and 8.1

For Windows, there are a number of add-on programs that do virtual desktops, but I use Desktops 2.0 primarily because it is provided by a subsidiary of Microsoft. It installs like a normal program. To use Desktops:

  1. Download the program from http://technet.microsoft.com/en-us/sysinternals/cc817881
  2. Unzip the file
  3. Run the .exe to install the program. It will place an square icon in the lower right system tray as shown in Figure 1.
  4. In the options panel, check the box for "Run automatically at logon" so that it will load every time you boot, as shown in Figure 2. You can change the keys used for switching between desktops if you wish.
  5. To see a thumbnail of the desktops, select the four-square icon in the system tray at the lower right corner of the screen, as shown in Figure 3.
  6. To switch desktops, select the desktop thumbnail as shown in Figures 4 and 5, or use the <ALT>-1 -2 -3 or -4 combination to select one of the four desktops.

Desktop 2.0 is somewhat more restrictive than the OS X and Linux implementations in that you cannot move windows between desktops.

Figure 1. The Desktop 2.0 program adds itself to the system tray on the lower right as the square icon with four window panes.
Screen capture of virtual desktop on Windows with Desktop 2.0 icon in system tray.
Figure 2. The options panel for Desktop 2.0 allow you to set it to run by default at start-up and to change the hot-keys for switching between virtual desktops.
Screen capture of options for Virtual desktop on Windows with Desktop 2.0.
Figure 3. Selecting the Desktop 2.0 icon on the system tray brings up a thumbnail of all of the virtual desktops where you can select the one that you want to use. This is on a dual-monitor system, so each desktop has a thumbnail of both left and right displays.
Screen capture of  thumbnails for virtual desktops on Windows with Desktop 2.0.
Figure 4. The top virtual desktop for dual monitors.
Screen capture of virtual desktop 1 left monitor on dual monitor system Screen capture of virtual desktop 1 right monitor on dual monitor system
Figure 5. The bottom virtual desktop for dual monitors.
Screen capture of virtual desktop 2 left monitor on dual monitor system Screen capture of virtual desktop 2 right monitor on dual monitor system

OS X

Apple provides perhaps the most expansive virtual desktop implementation by default in OS X; it supports up to 16 desktops as part of the Mission Control component, compared to the four that are provided by default in Ubuntu and in most add-on programs for Windows. To use virtual desktops in OS X:

  1. Open mission control using a three or four-finger upward swipe on a trackpad or the mission control key (fn-F3 on my Bluetooth mini keyboard), as shown in Figure 8.
  2. Move the mouse to the upper-right corner until a "+" sign appears, as shown in Figure 9.
  3. Click on the "+" sign; a new Desktop will appear in horizontal row of desktop thumbnails at the top of the screen.
  4. Move any window that you want onto the new desktop.
Figure 8. OS X Mission Control showing four virtual desktops in horizontal row at top of screen.
OS X Mission Control showing multiple virtual desktops
Figure 9. OS X Mission Control showing "+" sign in upper right corner for adding a virtual desktop.
OS X Mission Control showing plus sign for adding a virtual desktop

Ubuntu and Other Linux Distributions

Virtual desktops are built in to Ubuntu, and are accessed through the desktop icon on the task bar on the left side of the screen, as shown in Figure 10. Selecting the task bar brings up thumbnails of all of the virtual desktops, although these aren't really thumbnails, as they consume the whole display. You can move windows between desktops and from one monitor to the other within a desktop. Figure 11 shows the super-sized thumbnail displays. This is probably the easiest to use of the three virtual desktop implementations.

<figureid="fig10"> Figure 10. The virtual desktop icon is on the task bar immediately above the CD icon. Screen capture of Ubuntu showing virtual desktop icon as third from bottom in task bar.

Figure 11. Thumbnail display of four virtual desktops on a dual monitor system, showing each monitor for all virtual desktops.
Screen capture of Ubuntu thumbnails for left and right monitors for virtual desktops 1 and 2 Screen capture of Ubuntu thumbnails for left and right monitors for virtual desktops 3 and 4

Notes

Screen captures of VirtualBox Windows and Ubuntu virtual machines were done using the command

VBoxManage controlvm "VM_NAME" screenshotpng filename.png

This allows capturing some screenshot images that are otherwise difficult to capture.

Screen captures in OS X were performed using the normal <command>-<shift>-<3> screen capture sequence.

Image sizes were standardized using the Imagemagick convert command in a bash script:

for FILE in *.png; do convert -geometry 800x $FILE tmp/$FILE; done;

All images were compressed using the optipng command.

This web site uses cookies to provide user authentication and improve your user experience through the use of Google Analytics and Matomo Analytics. It also uses contact information for email and phone communcation. For details, see the Privacy Policy.