This is using the screen sharing application in Apple CoreServices. If you are on an unsecure network, don't do this because it requires disabling encryption.
Client: OS X 10.10.2
Sever: Ubuntu Gnome 14.04 LTS
1. Install dconf-tools:
sudo apt-get install dconf-toolsfrom the command line
or use that ugly Ubuntu Software Center to search for and install "dconf editor" (why that thing has a white background with lime green text is a mystery to me)
2. Open dconf editor and navigate to org > gnome > desktop > remote-access. Here you will make TWO changes. Most all the posts I saw only mentioned one change.
a. deselect "require-encryption"
b. change authentication-methods from 'none' to 'vnc'.
Do not select "set to default"
While a VNC client can connect with no authentication, mac OS expects a password, and attempts to connect will just hang if you don't set this.
3. from a terminal run
vino-preferencesand select "Require the user to enter this password:" and type in a password of your choosing.
vino broadcasts a hard-coded user@host name through zeroconf (avahi), meaning that in the mac finder sidebar, you get a separate entry for each service broadcast from the Ubuntu box. This is a rather annoying and old "feature". There's a nice workaround here that disables automatic broadcasting. You then create separate entries for each service using only the host name. This allows all of these to be grouped together under one "computer" icon in the finder sidebar.
sudo nano /etc/avahi/avahi-daemon.conf
find the line:
and change it to:
while remembering to uncomment the line (which I forgot to do the first time).
Next, create a vnc.service file (don't misspell the file name like I did and wonder why it doesn't work).
sudo nano /etc/avahi/services/vnc.service
and paste in the following as is:
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
sudo /etc/init.d/avahi-daemon restart