Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm installing 9.04 on an HTPC, so I will often VNC in to work on it from my laptop.

After the initial install, I updated everything, and it all went fine. I was able to VNC using Ubuntu's built-in "Remote Desktop" with no problems.

I then installed the 180.xx restricted nvidia drivers and rebooted. Everything worked fine on my TV, but when I VNC'd into it, all I could see was the background and title bar. When I'd pull down a menu, the menu was visible on the TV but not over the VNC link.

I assume that means the GUI was now using some sort of overlay for the menus, which is fine, but what's the best way to make them visible over VNC?

Clarification: I know I can turn off all visual effects and solve the problem, but I'm looking for a way to see the menus over VNC while keeping the GUI pretty...

share|improve this question
up vote 1 down vote accepted

I found a couple posts on other forums describing similar problems (here's one on KDE forums, here's one on xubuntu).

If you're using the stock "Remote Desktop" option in Ubuntu, this is a known conflict between VNC and the Compiz desktop effects, and you'll have to turn off the pretty desktop effects to get the VNC to work.

However, you might try a couple of things before totally giving up.

  • Replace VNC with NoMachine NX (there is a free version available). It's a bit of a resource hog on the client end but works well, and may allow you to see your desktop effects properly.

  • Replace the built-in VNC (vino?) with something like x11vnc. Performance might improve enough to be usable. (I think someone on the KDE forums linked above had some success with this route.) In Ubuntu 9.04, you'll install the "x11vnc" package.

  • Run a separate VNC Xserver using minimal desktop effects. This would NOT give you VNC access to the Xserver displaying on your TV -- instead, it gives you a VNC-only second desktop. Depending on what exactly you're doing, this might work well. (It might also be a deal-breaker.) You need one of the "vnc4server" or "tightvncserver" packages for this. (See this question for tips on configuring the second display.)

  • Replace VNC with XRDP (package "xrdp"), an open-source stab at MS Remote Desktop. I'm not sure if this package gives you access to the current display or creates a new one, but it might work for you.

share|improve this answer
Option #3 was the perfect solution (and the question you referred to in your response happened to be another one of my oddball questions :-). Thanks! – Fred Hamilton Oct 6 '09 at 6:05

The short version: Set the gconf key /desktop/gnome/remote_access/disable_xdamage to true, which you can do by running gconftool-2 -s -t bool /desktop/gnome/remote_access/disable_xdamage true or creating it in gconf-editor.

The long version: I saw “This should work fine nowadays” (about vino, Compiz and wrong optimism) last week, it notes that Compiz doesn't use XDamage which is an optimisation used so only the updated bits of the screen are sent and links to the Ubuntu bug. Some further digging around and I found the upstream bug which has a link to the bug where the preference was added, which has a duplicate that lists the gconf path, and has a link to the X bug that's the real problem.

share|improve this answer
+1 for heroic effort. note disabling XDamage will severely degrade VNC performance, but it should display properly. – quack quixote Oct 2 '09 at 14:31
This may well have worked, but I couldn't follow a word of either the short or the long version so I went to the next response. :-) It all went over my limited-knowledge head. But thanks for the effort! – Fred Hamilton Oct 6 '09 at 6:07

This continues to be a problem in Ubuntu 10.04 LTS. The recommended NVidia driver version from the Hardware Drivers GUI is 195.36.24 as of Feb 2011. The release notes for x86 driver version 256.35 state:

  • Fixed an interaction problem between Compiz and 'screen-scraping' VNC servers like x11vnc and vino that caused the screen to stop updating. Fixes Launchpad bug #353126.

Note that the Launchpad bug states this does not affect Intel chipsets.

You can try installing drivers from NVidia's website. After downloading the drivers, make sure you make the installation script executable (right click the file, go to Properties, then the Permissions tab, and check the box "Allow executing file as a program").

Now, before you can run the script successfully you need to turn off XServer. Before you do that, move to a terminal outside of your GUI. You can do this locally with CTRL+ALT+F1 or just SSH in remotely. Then run:

sudo /etc/init.d/gdm stop

sudo sh ~/Downloads/NVIDIA-Linux-[press tab, then enter]

When the script runs you can pretty much answer Yes to all questions, then when done do:

sudo reboot

If all goes well your VNC will now work properly.

share|improve this answer

You must log in to answer this question.

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