I'm trying to get remote screen access to my Raspberry Pi (running Raspbian) with a Mac OS X client.

Here's what I've got:

  • I ran 'raspbian-config' and used it to enable the VNC server.
  • The desktop on the raspberry-pi shows that VNC server is running. ps says it's vncserver-x11-core.
  • The raspberry pi shows up as a shared screen on my Mac in the Finder.
  • When I click the "Share Screen" button on the Mac, I get a dialog with this error message:

    The software on the remote computer appears to be
    incompatible with this version of Screen Sharing.
    

My Mac is running 10.9 (Mavericks?), so it's a bit old...

What are my options?

  • Is there a config option on the Pi that I can tweak? That's my preferred approach.
  • Failing that, will switching to tightvncserver help?
  • It feels like a bit of overkill to update my Mac for this problem, but would it help?
up vote 3 down vote accepted

Either install the RealVNC viewer on your Mac, or change the authentication type on the server to "VNC Authentication" and set a suitable VNC password.

The Mac viewer doesn't support RealVNC's system authentication, which allows you to login as a system user.

  • This worked. To add a bit of detail: the VNC server on the Raspberry Pi has a GUI from which you can get to various options. One of the options is for authentication, and I fixed it by changing "UNIX password" to "VNC password". – Richard Barnette Dec 30 '16 at 18:34
  • Andrew's solution work, but also be sure to have encryption 'off'. – Jon Bonesteel Jan 20 '17 at 22:33
  • The best way is realvnc.com/download/vnc/macosx but if you really want to use built-in tools you must on the Raspberri Pi set the VNCServer Options in order not to use a the UNIX username / password. – llange Mar 4 '17 at 6:13
  • realvnc.com/download/viewer/macosx is currently more proper link – Piotr Findeisen May 4 '17 at 19:11
  • But RealVNC does support standard VNC authentication.... see my note below. Simple.. no added software, no added problems ;-) less is more. – William Cerniuk Nov 19 '17 at 19:38

Headless VncServer Configuration

If you need to configure accessing the pi with osx's Screen, but only have headless access to the pi, you can use a vnc config file.

  1. sudo raspi-config > Interface Options > VNC > Enable. Reboot.
  2. Generate the password you wish to use in screen with vncpasswd -print

    vncpasswd -print
    
    Password:
    Verify:
    Password=40cca9718ffb8e91d55cf290c3db86d5
    
  3. Copy the output of that command (eg. Password=40cca9718ffb8e91d55cf290c3db86d5 ) for the config file.

  4. Create and edit the following file here: /etc/vnc/config.d/common.custom
  5. Enter the following config:

    Encryption=PreferOn
    Authentication=VncAuth
    Password=40cca9718ffb8e91d55cf290c3db86d5
    
  6. Restart the vnc service:

    sudo systemctl restart vncserver-x11-serviced
    
  7. Open Screen with the instructions above, and use the password you provided to vncpasswd.

If you need to monitor the logs for vncserver, you can use journalctl:

sudo journalctl -u vncserver-x11-serviced.service

Other parameters you can use with VncServer configs are described here: https://www.realvnc.com/en/connect/docs/server-parameter-ref.html

The best part of using your Mac to access the Raspberry Pi's screen is that you don't need to install anything on the Raspberry Pi or the Mac. (KISS rule applied!)

This is good because software like tightvncserver requires Java to run on the Pi. Java is handy but it is a processor pig and should be avoided to keep your project running as fast as possible; and if your Pi is completely wireless, to ensure longest battery life. I use a Raspberry Pi Zero Wi-Fi (rbp0w) which is a natural for going completely wireless.

Since you are looking for this you are likely new to the Pi and probably don't know where the settings are or maybe even what "VNC" is...

So...here is a step by step "new Pi user" guide to using the standard system native VNC client on macOS called Screen Sharing with your Raspberry Pi's native RealVNC Server, perform the following configuration:

1) These instructions presume that you installed the operating system NOOBS from the RaspberryPi site:

https://www.raspberrypi.org/downloads/noobs/

2) Open the RealVNC Server configuration interface by clicking on the menu bar icon:

enter image description here

3) On the VNC Server window, click the hamburger menu, and select "Options":

enter image description here

4) Select "Security" if not already selected and set Encryption to "Prefer off" and Authentication to "VNC password". This assumes your device is behind a firewall on a secure network... hence encryption can be safely turned off to ensure compatibility.

enter image description here

5) Set up a "Standard user" with a password of 8 characters or less

enter image description here

6) Then open "Screen Sharing" on your Mac, and from the "Connection" menu select "New" and type in the IP address of your Pi:

enter image description here

7) when challenged, enter the password you setup at the Pi in step 5. Make life easy on yourself and save the password in the Keychain too...

enter image description here

8) Press connect and you are in!

enter image description here

For RealVNC you NEED to use their proprietary viewer. (It may be possible to use the macOS screen sharing with additional software, but X11 has not been included on the Mac for some years.)

You can use tightvncserver; I use this and start session with open vnc://pi@10.1.1.41:5901 on the Mac (change to your IP or use raspberrypi.local).

RealVNCneeds the GUI on the Pi to be running (you can start manually, but, if so why bother) and shares the same screen.

tightvncserver starts a new screen (which IMO is better, as the sessions can have different resolutions).

NOTE RealVNC and tightvncserver are incompatible, and you can only have 1 on your Pi.

Andrew Wedgbury and Richard Barnette comments work for OS X 10.12.5 Screenshare.

You do not HAVE to turn encryption off. But you can as Jon recommends

Instead add a new user as type Administrator to VNC Server on raspberry pi (ver: 4.9.35)

  1. Click VNC toolbar icon
  2. Click VNC Server Hamburger icon for drop down menu
  3. Click on Options (may need to close message window)
  4. Select Authentication drop down and set to VNC password and click apply.
  5. Click the link Users & Permissions in "VNC password" section below.
  6. Click Add button
  7. Select Administrator user from user drop down.
  8. Set Password and click OK
  9. Click OK to exit options.

On OS X Sharescreen and enter raspberry.local (hostname.local), enter password when prompted.

  • With a fairly large scale OS on a very small scale processor, every bit of processor conservation helps. The Pi is very slow (albeit "laggy") through a VNC connection and encryption makes it worse. Since my network is encrypted I am not inclined to suffer the PI processor. Encryption is a great tool but like antibiotics, should be applied sparingly and with Intellegence. – William Cerniuk Nov 19 '17 at 19:37

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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