The following window manager configurations have been tested either by us or by the TurboVNC community using the TurboVNC 2.2.x X server. If you know of any issues that are not described here, please submit a bug report. If you have information about other WM configurations, please contact us.
NOTE: The window manager startup script can be specified by using the TVNC_WM
environment variable, the -wm
argument to /opt/TurboVNC/bin/vncserver
, or the $wm
variable in /etc/turbovncserver.conf or ~/.vnc/turbovncserver.conf.
O/S | Window Manager | Prerequisites | Window Manager Startup Script | Notes |
Debian 9.0 "Stretch" | MATE 1.16.x | | | No known issues |
Fedora 25-32 | GNOME 3.22.x-3.36.x | | | Run the window manager using VirtualGL to improve performance
See complete list of known GNOME 3 issues and workarounds here |
| GNOME 3.22.x-3.36.x (classic) | | 2d | See complete list of known GNOME 3 issues and workarounds here |
| MATE 1.18.x-1.24.x | > sudo dnf group install mate-desktop-environment | mate-session | No known issues |
Fedora 33 | GNOME 3.22.x-3.36.x | | | Run the window manager using VirtualGL to improve performance
See complete list of known GNOME 3 issues and workarounds here |
| MATE 1.18.x-1.24.x | > sudo dnf group install mate-desktop-environment | mate-session | No known issues |
FreeBSD 10.3 | MATE 1.12.x | Install MATE with FreeBSD Ports | mate-session | No known issues |
FreeBSD 11.4 | MATE 1.24.x | > sudo pkg install mate-desktop mate | mate-session | No known issues |
| Xfce 4.14.x | > sudo pkg install xfce | startxfce4 | No known issues |
FreeBSD 12.1 | MATE 1.22.x | > sudo pkg install mate-desktop mate | mate-session | No known issues |
| Xfce 4.14.x | > sudo pkg install xfce | startxfce4 | No known issues |
macOS/OS X | TWM | Install XQuartz | | OpenGL does not work, for unknown reasons |
Red Hat Enterprise Linux 5 (and derivatives) | GNOME 2.16.x | | | GLX extension not enabled (Mesa package provided by the O/S is too old) |
| KDE 3.5.x | | startkde | GLX extension not enabled (Mesa package provided by the O/S is too old) |
Red Hat Enterprise Linux 6 (and derivatives) | GNOME 2.28.x | | | No known issues |
| KDE 4.3.x | | startkde | No known issues |
| Xfce 4.8.x | Add the EPEL repository > sudo yum groupinstall Xfce | startxfce4 | No known issues |
Red Hat Enterprise Linux 7 (and derivatives) | GNOME 3.14.x-3.28.x | | gnome-session | Run the window manager using VirtualGL to improve performance
See complete list of known GNOME 3 issues and workarounds here |
| GNOME 3.14.x-3.28.x (classic) | | 2d | See complete list of known GNOME 3 issues and workarounds here |
| KDE 4.10.x-4.11.x | | startkde | No known issues |
| MATE 1.14.x-1.16.x | Add the EPEL repository > sudo yum groupinstall "MATE Desktop" | mate-session | No known issues |
| Xfce 4.12.x | Add the EPEL repository > sudo yum groupinstall Xfce | startxfce4 | No known issues |
Red Hat Enterprise Linux 8 (and derivatives) | GNOME 3.28.x-3.32.x | | | Run the window manager using VirtualGL to improve performance
See complete list of known GNOME 3 issues and workarounds here |
| GNOME 3.28.x-3.32.x (classic) | | 2d | See complete list of known GNOME 3 issues and workarounds here |
| Xfce 4.14.x | Add the EPEL repository > sudo yum groupinstall Xfce | startxfce4 | No known issues |
Solaris 10 | GNOME 2.6.x | | | May need to add -extension Composite to the vncserver command line to disable the Composite extension. This is not necessary in order to run the window manager itself, but it may be necessary in order to work around issues with certain applications. |
Solaris 11 | GNOME 2.30.x | | | No known issues |
SuSE Linux Enterprise 11 | GNOME 2.24.x | | | No known issues |
| KDE 4.1.x | | startkde | No known issues |
SuSE Linux Enterprise 12 | GNOME 3.14.x-3.20.x | | | Run the window manager using VirtualGL to improve performance
See complete list of known GNOME 3 issues and workarounds here |
| GNOME 3.14.x-3.20.x (classic) | | 2d | No known issues |
SuSE Linux Enterprise 15 (and equivalents) | GNOME 3.26.x | | gnome-session | Run the window manager using VirtualGL to improve performance
See complete list of known GNOME 3 issues and workarounds here |
| GNOME 3.26.x (classic) | | 2d | No known issues |
| MATE 1.20.x | | mate-session | No known issues |
Ubuntu 10.04 LTS | GNOME 2.30.x | | | No known issues |
Ubuntu 12.04 LTS | MATE 1.8.x | > sudo apt-add-repository ppa:ubuntu-mate-dev/ppa > sudo apt-add-repository ppa:ubuntu-mate-dev/precise-mate > sudo apt-get install ubuntu-mate-core ubuntu-mate-desktop | mate-session | No known issues |
| Unity 2D 5.14.x | | | No known issues |
Ubuntu 14.04 LTS | GNOME 3.8.x (fallback) | | 2d | No known issues |
| MATE 1.8.x | > sudo apt-get install ubuntu-mate-desktop | mate-session | No known issues |
| Unity 7.2.x | | | Run the window manager using VirtualGL to improve performance |
Ubuntu 16.04 LTS | GNOME 3.18.x (flashback-metacity) | | 2d | No known issues |
| MATE 1.12.x | > sudo apt-get install mate
NOTE: This installs the basic window manager. Use sudo apt-get install ubuntu-mate-desktop to install the complete Ubuntu MATE desktop environment. | mate-session | No known issues |
| Unity 7.4.x | | | Run the window manager using VirtualGL to improve performance
See complete list of known Unity 7.4 issues and workarounds here |
Ubuntu 18.04 LTS | GNOME 3.28.x | | | Run the window manager using VirtualGL to improve performance
See complete list of known GNOME 3 issues and workarounds here |
| MATE 1.20.x | > sudo apt-get install ubuntu-mate-desktop | mate-session | No known issues |
Ubuntu 20.04 LTS | GNOME 3.36.x | | | Run the window manager using VirtualGL to improve performance
See complete list of known GNOME 3 issues and workarounds here |
| MATE 1.24.x | > sudo apt-get install ubuntu-mate-desktop | mate-session | No known issues |
3D Window Managers
Some recent window managers (GNOME 3 and Unity, in particular) require OpenGL in order to run, and other window managers may optionally require OpenGL in order to enable desktop effects. The TurboVNC Server includes a software OpenGL implementation that can be used to run these window managers, but the performance will not be stellar. It is generally recommended that a 2D window manager, such as MATE or Xfce, be used with TurboVNC, but you can also improve the performance of 3D window managers by running them using VirtualGL (VirtualGL 2.4 or later required.) To enable this feature, pass an argument of -vgl
to /opt/TurboVNC/bin/vncserver
.
Persistent Screen Resolution
Many window managers provide an applet for specifying the screen resolution. This applet interacts with the X RANDR extension, and since that extension is fully supported in TurboVNC 2.0 and later, the built-in screen resolution applet in the window manager can be used to change the size of the TurboVNC desktop. However, it should be noted that, at least in the case of GNOME and KDE, setting the TurboVNC desktop size in this manner may cause the desktop size to persist when you launch a new TurboVNC session. This is because, when the screen resolution is changed using the screen resolution applet in GNOME and KDE, the applet stores the new value and attempts to set the screen resolution to that value the next time the window manager is launched (effectively circumventing the -geometry
argument to vncserver
.) Notes on the behavior of specific window managers are included below for reference:
O/S | Window Manager | Screen Resolution Set Using... | Screen Resolution Persistence | Persistent Resolution Stored In... | How to Clear Persistent Resolution |
Red Hat Enterprise Linux 5 (and derivatives) | GNOME 2.16.x | System-->Preferences-->Screen Resolution | Always | GConf /desktop/gnome/screen/default/0/resolution | gconftool-2 -u /desktop/gnome/screen/default/0/resolution |
| KDE 3.5.x | Control Center-->Peripherals-->Display | When "Apply settings on KDE startup" is checked in the "Display" applet prior to clicking "Apply" | N/A | Uncheck "Apply settings on KDE startup" in the Display applet, and click "Apply" |
Red Hat Enterprise Linux 6 (and derivatives) | GNOME 2.28.x | System-->Preferences-->Display | Always. GNOME 2.28.x seems to want to aggressively maintain the new resolution once it is set, and this can cause an infinite desktop resize loop if using the TurboVNC Viewer with automatic desktop resizing enabled, and if attempting to set the server's resolution to a size larger than the viewer can display. | ~/.config/monitors.xml , in a configuration node containing <output name="TurboVNC"> | Edit ~/.config/monitors.xml , removing the TurboVNC configuration node |
| KDE 4.3.x | System Settings-->Display | Only when krandrtray is configured to run at login or when the Display applet is relaunched. | ~/.kde/share/config/krandrrc , in a section named [Screen_*_Output_TurboVNC] | Edit ~/.kde/share/config/krandrrc , removing the TurboVNC section |
Red Hat Enterprise Linux 7 (and derivatives) | KDE 4.10.x | System Settings-->Display | Only when krandrtray is configured to run at login or when the Display applet is relaunched. | ~/.kde/share/apps/kscreen/{some_unique_id} (grep for "TurboVNC") | Remove the file under ~/.kde/share/apps/kscreen/ that corresponds to the TurboVNC output |
| MATE 1.14.x | System-->Preferences-->Display | Always. MATE seems to want to aggressively maintain the new resolution once it is set, and this can cause an infinite desktop resize loop if using the TurboVNC Viewer with automatic desktop resizing enabled, and if attempting to set the server's resolution to a size larger than the viewer can display. | ~/.config/monitors.xml , in a configuration node containing <output name="TurboVNC"> | Edit ~/.config/monitors.xml , removing the TurboVNC configuration node |