VNC, a tool that allows you to remotely access the desktop of a computer, has a long history and has been available in many shapes and forms. Not entirely surprising, plenty of free VNC Servers and VNC Clients are available for Windows and Linux, but the selection for MacOS X appears rather limited.
Sure, there are a lot of VNC clients for MacOS X … but hardly any of them are free,… but why install yet another application when you already have a VNC Client and Server installed?
In this article, we will use the build in VNC Server and VNC Client … it comes with your Mac … for free!
A little VNC background info
VNC, or Virtual Network Computing, was originally developed by the Olivetti & Oracle Research Lab (doesn’t exist anymore) which later spun off an organization called RealVNC in an attempt to keep VNC available.
VNC is a graphical desktop sharing system that allows a user to remotely control another computer, by seeing the screen of that computer on their own computer and using their own keyboard and mouse to control the other computer. For remote display, simply put, VNC keeps sending screenshots to the VNC client as JPEG pictures by means of the so called RFB protocol. The JPEG compression can be changed based on the available bandwidth – sometimes resulting in very poor image quality when bandwidth availability is very limited.
Microsoft RDP is not VNC …
Personally I prefer RDP, Microsofts’ Remote Desktop Protocol, but MacOS X does not support RDP as a server protocol.
RDP seems more robust and the graphical display or the remote computer’s screen typically are much better. The better image quality is because RDP is “semantic”, meaning: it’s aware of controls, fonts, etc. which means that these controls will be drawn by the client application thus sending much less data to the client application and a much cleaner display of the screen of the controlled computer.
Note : You can get a free RDP Client from Microsoft so you can remotely control Windows PC’s.
For VNC to work you will need a VNC Server and VNC Client.

How VNC works (simplified)
In the illustration above:
A is the HOST computer, which is running a VNC Server application. This will be the computer that will be remotely controlled.
B is the CLIENT computer, which is running a VNC Client application. This is the computer that will control the other computer remotely.
1 is the stream of screenshots of the desktop of the computer that is going to be remotely controlled. The screenshots are send over a network connection so that the VNC Client software can display the desktop pictures.
2 is the stream of mouse moves and key strokes from the Client, send over a netwokr connection as well, so that the server can actually execute the,
Ad Blocking Detected Please consider disabling your ad blocker for our website.
We rely on these ads to be able to run our website.
You can of course support us in other ways (see Support Us on the left).
VNC Server or Enabling Screen Sharing
The VNC Server is the application running on the computer, or device, which screen is being shared. This can be your Mac, a Windows or Linux PC, or even an Android tablet, or iPhone (jailbreak needed to run Veency, the VNC server for iOS).
The main purpose, besides login and other security gimmicks, is to provide access to the computer that is running VNC server by sending “screenshots” to the client, and to translate incoming mouse movements or keyboard strokes.
MacOS X has a VNC server build in … which can be ENABLED or DISABLED in the “System Preferences”.
Click the icon in the upper left corner and from the menu that opens, choose “System Preferences…“. In the System Preferences click “Sharing“.
You’ll see a list of services you can enable. The one to enable the VNC Server is called “ScreenSharing“, Apple’s lingo for “VNC”, which can be referred to as “Apple Remote Desktop” as well.

MacOS X – Enable build in VNC Server
Once you check the box in front of “Screen Sharing”, the little light on the right will go from gray to green and the text will state that Screen Sharing is switched on (see picture below) – Your VNC Server is running and this computer can now, optionally, be controlled by another computer.
To access the your computer, from another computer, simply enter the indicated IP Address (see also: Home Network Basics) in your VNC Client of choice. In the illustration above the IP Address is 192.168.1.101 (in your setup this IP Address is very likely different).
Using a regular VNC Client …
When you’re planning on accessing your Mac using a regular VNC Client like ThightVNC or RealVNC (so, not the provided Screen Sharing tool from Apple), then:
1) make sure to click the “Computer Settings…” button and
2) in the dialog check the “VNC viewers may control screen with password” option and enter a password.

Screen Sharing for regular VNC clients
VNC Client
A VNC Client is the otherside of the story. It is the program on the computer that is controlling the other computer. It’s main purpose is to display the “screenshots” of the controlled computer, as send by the VNC Server, and to send mouse moves and keyboard strokes to the VNC Server on the computer that is being controlled.
There are lots of VNC Clients out there, and strangely enough … they charge money for something you already have on your computer.
Note : RealVNC is free and has a very suitable VNC Client, but why install more software if you don’t really need to?
MacOS X, if I’m not mistaken since 10.4, has a VNC Client installed already. It’s tucked away pretty good though – not sure why Apple did that.
Option 1: Use Safari
This is probably the easiest way to open the VNC Client called Screen Sharing. This only works with Safari.
Simply open Safari and enter “vnc://” followed by the IP Address of the VNC Server, for example: “vnc://192.168.1.109”.
Press ENTER when done and the Screen Sharing app opens.

MacOS X – Open VNC Client through Safari
Option 2: Use the Screen Sharing App directly
The Screen Sharing app is hidden in the folder “/System/Library/CoreServices/” or “/System/Library/CoreServices/Applications” and to get there you can use Finder. From the Finder menu choose “Go” “Go to Folder…” and enter “/System/Library/CoreServices/” (without the quotes) in the dialog that opens. Finally click the “Go” button, and in the file list you’ll find “Screen Sharing” (or “Screen Sharing.app”). Double click the app and a window will open, asking for an IP Address:

Screen Sharing app asking for an IP Address
Enter the IP Address of the VNC Server and click Connect and the screen of the remote computer will be shown and can be controlled right from your desktop. When connecting to another Mac, you will most likely be asked for a password.
Tip : You could of course make an alias of the “Screen Sharing” app and copy the alias into your utilities folder (“Applications” “Utilities“).
Location of Screen Sharing.app changed as of Mojave
Thanks to Alan: The location of the Screen Sharing app seems to have changed as of MacOS X Mojave to the following locations (still valid under Catalina!):
/System/Library/CoreServices/Applications
Ad Blocking Detected Please consider disabling your ad blocker for our website.
We rely on these ads to be able to run our website.
You can of course support us in other ways (see Support Us on the left).
Remote Control through the Internet
It is possible to use VNC remotely – meaning for example while traveling control your computer at home, or control the computer of your mom helping her with her computer. Like I said: it is possible … but I wouldn’t recommend going through the hassle when you can use easier, free and much more secure services like LogMeIn and Team Viewer. No need for Port Forwading or putzing with your firewalls.
Personally I prefer LogMeIn, as it seems less complicated to get started. But once you’re familiar with it, Team Viewer offers a very good service as well. I would recommend Team Viewer for those of you who use remote control to assist others frequently. LogMeIn however, I would recommend if you more often remotely control your own computers.
Both LogMeIn and Team Viewer have clients for mobile devices as well, like for the iPhone, iPad and Android devices – allowing you to remotely control your home computer from your phone or tablet. Obviously this is great when traveling. Controlling your remote computer takes a little getting used to, but it most certainly works.
Comments
There are 20 comments. You can read them below.
You can post your own comments by using the form below, or reply to existing comments by using the "Reply" button.
very interesting. thanks!
jK
Thanks JK!
hans
I controlled my jailbroken iPhone 5s using Screen Sharing app, but I’m having trouble understanding the gestures. They work, but it would be nice if there was a defined list of them. Please help.
Quann Moses
Hi Quann,
As far as I know, Screen Sharing (your iPhone screen on a Mac or Windows screen) is “view only”,…
Can you post a link of where you got the app,..? Or are you referring to running VNC Server (veency) on your iPhone?
hans
Yes I am using Veency which I downloaded from Cydia. I am using screen sharing app on my MacBook running OS X El Capitan to actually interact and control the iPhone.
Quann
Ah! OK
…
I have no setup to test this right now (no jailbroken phone at the moment).
I did however found this (source), I hope this is useful:
hans
Hello Hans,
Its me again. I agree that RDP is far superior to VNC, and faster too. I uses it extensively on the RASPI and one of the first things I load when bringing up a new Pi is the XRDP server.
I usually use: sudo apt-get install tightvncserver xrdp -y
Have you tried this on MACOS (i.e. the OS formerly known as OS X) ? When I get a chance I amy try it, I generally use back to my mac on the rare occasions that I need to get from my MBPr to the desk computer. I think that RDP would be better. How about Team Server between Macs. I recently had a problem with my firewall router,and the support guys used that to see what the problem was (as usual it simply required tightening up the nut behind the keyboard) and it seems to work as well as RDP.
anyway Regards, enjoyed the article.
Barry
Hi Barry!
Thanks for the compliment and glad it has been of service to you
I have not tried this on macOS (I believe that’s how it’s written, versus the old Mac OS X haha). Anyhoo ,.. Not sure if RDP is supported when accessing the Mac. Or did you mean using an RDP client to access your machine? In that case: yes I tested it with the Microsoft Remote Desktop for Mac utility (free,and can also be found in the Apple Store) and it works!
hans
This is an old article but I still believe it works. This is a link to install XRDP (RDP Server) on MacOS. It looks like it works for 10.12 As for MacOS Catalina & MacOS 11 it may not work, may be an X11 Thingy. Someone who knows Mac and is more of a developer than I might shake it out.
Barry
Oh wow, I wasn’t aware that was an option – thanks for the info Barry!
I wish Apple would have implemented something like RDP natively in their OS, instead of using the VNC protocol.
Hans
Forgot to include link … https://github.com/neutrinolabs/xorgxrdp/issues/78
Barry Berg
Hans
Yep you are right it is macOS…. Stand corrected. I Have used the RDP client extensively on OS X (including El Capitan) & IOS going to a Raspberry Pi running xrdp. It works perfectly, and does not have many of the usual warts and wounds that VNC seems to have. Its a seamless install on the apple side (with the clients downloaded from the respective app store) and with apt-get on the RSAPi. I just never tried to install xrdp which runs on debian/Ubuntu based Linux, so it should run on the Mac. When I get a chance I’ll have to try it, unless someone beats me to the punch :-) :-)
Barry
Cool, I’m curious – let us know when you tested this.
I wish I could test this, but I’m traveling at the moment and just have my laptop at my disposal, making testing a little complex
hans
For newer mac os Catalina // Mojave etc. The location is /System/Library/CoreServices/Applications
Ahmed Masud
Hi Ahmed!
Awesome tip! I’ll add it to the article! Thanks!
Hans
It looks like in Mojave they moved the screen sharing app. It is now in “/System/Library/CoreServices/Applications”. If you get around to updating this story you might want to include that. Thanks for this article!
Alan
Hi Alan,
sincere apologies for the super late response. Somehow I overlooked your comment
Apologies, apologies …. I’ll update the article, and I thank you for the feedback
Hans
There are vnc viewer apps for both iOS and Android tablets (and phones if you don’t mind a small screen). I routinely use the Android bVNC app (there is a free version with nag) to control my Mac mini…
Kalman Reti
Hi Kalman Reti!
Thank you for the suggestion, these kind of suggestions are most welcome
I presume you mean this one in the Google Play store?
Hans