Connecting to a Raspberry Pi Using VNC on macOS

I recently mounted an old 60" flatscreen TV in my office and plugged a Raspberry Pi into it, the goal being to display a few rotating dashboards associated with various projects I'm working on. Rather than plug a mouse and keyboard into the Pi I wanted to instead connect to it over VNC from my Mac and use the mounted TV as a giant monitor. Apparently due to some recent changes to the Raspberry Pi OS neither the native Mac VNC client nor RealVNC without making additional changes to the Pi configuration. I didn't want to deal with that and so looked for an easier option, documented here.

The latest Raspberry Pi OS (released on 2024-03-15) uses a VNC server called WayVNC. However VNC isn't enabled by default, so after SSHing into your Pi, run this command:

$ sudo raspi-config

Use your arrow keys to navigate down to Interface Options, press return, and you should see the following interface:

Enabling VNC

Arrow down to VNC and press return. You'll then be prompted to enable VNC. Make sure Yes is selected and press return. Exit the configuration wizard. You won't need to restart your Pi.

Next, confirm WayVNC is running:

$ systemctl status wayvnc
● wayvnc.service - VNC Server
     Loaded: loaded ...
     Active: active ...
     ...

Next open a macOS terminal and install tigervnc-viewer:

$ brew install tigervnc-viewer

If you're running Mac Silicon (M1, M2, M3...) you'll need to prefix the brew command like so:

$ arch -arm64 brew install tigervnc-viewer

Now open TigerVNC Viewer using Spotlight or however you open apps on your Mac. Enter your Raspberry Pi IP address and press the Connect button:

Connecting to Raspberry Pi with TigerVNC

You'll next be prompted to continue connecting despite a server certificate mismatch. I don't really understand why this happens but am not concerned considering I'm connecting to a Pi residing on my local network:

Overriding a server certificate mismatch in TigerVNC

Next you'll presumably see a screen asking to make an exception for the aforementioned server certificate mismatch:

Making a server certificate exception in TigerVNC

Finally, you can enter the Pi by authenticating using a user username and password you presumably configured when the Pi SD Card was flashed, or after you SSH'd into the server to create a dedicated VNC user:

Connecting to Raspberry Pi with TigerVNC using username and password

After connecting, you should see your Pi desktop!

Viewing the Raspberry Pi Desktop from TigerVNC

Hope this helps!