Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I was wondering if anyone has a workaround for VNC remote not working with Ubuntu running compiz. From what I can tell it works if I disable compiz effects, but who's not a fan of eye candy? Anyway, it's not a huge deal if there's no work around anyone knows because I've been using nx server instead to remote connect to my desktop. I was just wondering if there's a way to get VNC working because I have an app on my ipod touch that can VNC, but there's no NX client for the itouch.

share|improve this question
1  
I can't reproduce this (VNC works for me when running compiz, although the eye-candy makes it rather slow), maybe it's related to your graphics card driver or you use a different VNC server (I use Vino, the built-in VNC server in GNOME)? So, it might be useful if you could give some more info about what software you use... –  JanC Aug 16 '10 at 4:18
    
Just to add some more facts: * I'm running compiz advanced desktop effects. * When I check the available hardware drivers it says Im using "NVIDIA accelerated graphics driver (version current)[recomended]" and an alternative option "NVIDIA accelerated graphics driver (version 173)" * I remember I tried a couple different VNC clients when I was attempting it. I was trying from a windows xp machine. What happens when I try is I usually get the initial screen, but nothing updates on the client end, but the mouse/keyboard still send commands on the server end (when I look at my desktop screen) –  Bryan Aug 16 '10 at 5:13
    
good question, I get exactly the same problem. I thought I was being a bit thick. –  Kev Aug 18 '10 at 11:19

2 Answers 2

up vote 5 down vote accepted

I have the same issue. I don't know how to fix it, but I came up with a decent work-around. I added a launcher on the top panel to switch to the Metacity window manager.

  1. Right click on the panel and click "Add to Panel..."
  2. Choose "Custom Application Launcher" and click "Add"
  3. Type whatever you want for the name. I called it "Metacity"
  4. Type "metacity --replace" (without the quotes) for the command
  5. Optionally fill in the comment box and choose an icon (I used vinagre.png since I run it from VNC)

When I log in remotely, the first thing I do is click the Metacity launcher, and the screen starts updating correctly.

I have fusion-icon installed, so I use it to switch back instead of making a launcher for Compiz. If you want to use a launcher to switch back to Compiz, follow the same steps for Metacity, but use the command "compiz --replace".

share|improve this answer
    
Thanks for the tip. I'm going to have to give this a try. I wonder if there's a way for it to default to metacity when I start to connect remotely and default back to compiz when I break connection... –  Bryan Aug 16 '10 at 20:28
    
Nice tip Matthew. +1 –  Kev Aug 18 '10 at 11:22

If you use x11vnc, you can add "noxdamage" flags to its command line to start up a VNC server which will give you all the pretty compiz effects over VNC (which is probably bad, but there you go).

To install :

sudo apt-get install x11vnc

Then run it in a terminal (one time only, just to set the password)

x11vnc -usepw

Then finally stick this command into /etc/rc.local :

x11vnc -usepw -forever -noxdamage -scale 4/5 -avahi -timeout 60 -nolookup -q

-forever will keep the server going after you disconnect. Otherwise, when the first client disconnects, the server will stop running.

-avahi will mean that the server will advertise itself using avahi (multicast dns). Clients like Reminna and Vinagre will search for and show these. Also useful if your client is on a Macintosh, since "bonjour" is really just a made-up Apple brand for zeroconf, of which avahi is the open-source version of.

-scale 4/5 will mean that a 1900x1200 screen will fit on a 1280x1024 screen. Yes, most clients will allow a local-side scale, but this option means that less data is sent by the server in the first place, which may be useful for slower, or internet-based connections.

-nolookup means that the server won't try to lookup the client. No long pauses on connect.

-timeout just specifies how long the server will wait for a client to connect before sleeping again.

The advantage to this method is that there's a host of other options available if you care to take a look (man x11vnc). Very flexible, but sadly no pretty GUI available.

p.s. If you haven't yet tried Reminna as an alternative to Vinagre, I'd suggest you give it a go. It's a superb VNC client which just happens to feature RDP support too.

share|improve this answer
    
same symptom seems to happen for me. So for now, it seems I'll have to use Matthew's solution for my iPod touch when I try to VNC in and just use NX server otherwise (works better than VNC IMO, but there's no app for that on the iPod). Thanks for the tip though. –  Bryan Aug 18 '10 at 5:47

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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