On ubuntu 10 the VNC would not repaint unless you disabled the effects. By right clicking on the background and going to the effects tab then selecting "no effects" out of the three options of "no effects", "normal effects" and "Advanced effects" or something similar to that.

Now that Unity is here, there does not seem to be an effects tab nor any place to choose from these three settings? Hence the VNC not working/repainting.

Also, if I boot into the Ubuntu Classic mode (GNOME) the effects tab is not there either!

Are the effect options hidden away somewhere? or do they not exist any more, does it work another way now? or is there a solutions to get VNC server running with the "effects" enabled (the simple ones, previously known as "Standard Effects" or something along those lines, that come with the standard install)?

4 Answers 4


When you use Unity, the effects are ON and you cannot disable them. The reason is that Unity is a Compiz plugin itself, so if you disable the effects (Compiz), Unity will freeze up.

When you log in into Classic GNOME (GNOME Panel), you get by default no desktop effects (Compiz is not running). In addition, there is no tab to enable the desktop effects. However, you can still run from the command line the command compiz --replace & and get desktop effects. You can switch back to no desktop effects by running metacity --replace &.


SOLUTION for manually started vnc sessions.
if using tightvncserver
edit /home//.vnc/xstartup
comment out: /etc/X11/Xsession
add: gnome-session --session=2d-gnome

here's how mine looks: ~/.vnc$ cat xstartup #!/bin/sh

xrdb $HOME/.Xresources
xsetroot -solid grey
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
gnome-session --session=2d-gnome

now your VNC will load a 2d (aka 'ubuntu-classic (No Effects)' ) desktop session instead of the 'default' ('unity fluffy 3D bloat that breaks VNC') desktop session.

note: this applies for manually started vnc sessions,
ie by logging in via SSH and using vncserver {{--YourOptionsHere}} to start tightvncserver.

P.S. I still haven't figured out how to start vnc before/during gdm login in v11.04, it was very simple to do in previous ubuntu versions (ie. v9.04) but not any more apparently maybe there's some fluffy 3d stuff in gdm that breaks the vnc session entirely? dunno.

P.S.2 I'm sure someone will pop in and say that instead of disabling /etc/X11/Xsession, I could use some looong string of parameters like /etc/X11/Xsession --some-magic-way-to-specify-gnome-session-and-the-specific-gnome-session-I-want ... They would be welcome to do so. But I haven't figured that out (..yet) :P


When I used Lucid 10.04 last year, I had this same problem. The fix was, as you say, to turn off desktop effects but we can't easily do that to Natty 11.04 without stopping Unity.

However, there was a code fix and update for 10.04 Lucid at some point last year that made desktop effects with VNC possible. To that end, I'm hoping that this bug for Natty 11.04 gets fixed soon!


(note, sorry for the double post I'm fighting/experimenting with similar issues here)

If this was a desktop computer, where you get to use the GDM (login screen) you can choose a gnome session in that login screen; ie unity,unity-2d,gnome classic,gnome classic (No Effects).

If this is a headless machine and Unity/effects/etc are only getting in the way, ie breaking or slowing your VNC/RDP/NX/etc You may concider... cheating.

You could change the default gnome session used by locating where that setting is and changing ... Sorry, I have not found that (yet) BUT... I cheated!

The default session file is /usr/share/gnome-session/sessions/ubuntu.session
The plain old classic gnome without effects session file is /usr/share/gnome-session/sessions/2d-gnome.session

$ sudo su
$ cd /usr/share/gnome-session/sessions
$ mv ubuntu.session ___ubuntu.session
$ ln -s 2d-gnome.session ubuntu.session
$ ll
total 28
drwxr-xr-x 2 root root 4096 2011-06-09 00:14 ./
drwxr-xr-x 3 root root 4096 2011-05-31 00:34 ../
-rw-r--r-- 1 root root  202 2011-04-26 23:55 2d-gnome.session
-rw-r--r-- 1 root root  247 2011-02-24 13:37 2d-ubuntu.session
-rw-r--r-- 1 root root  303 2011-04-26 23:55 classic-gnome.session
-rw-r--r-- 1 root root  571 2011-04-26 23:55 gnome.session
-rw-r--r-- 1 root root  606 2011-04-26 23:55 ____ubuntu.session
lrwxrwxrwx 1 root root   16 2011-06-09 00:14 ubuntu.session -> 2d-gnome.session

It's quick, it's dirty, it does the job.
Any filename would do just so we can make a symlink for the default session's filename.
The proper way would be to change the config file above the session (ie the one that calls the session). If someone knows/can find the location of the config file that has the default session's filename in it please do share! :)

You must log in to answer this question.

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