Page 1 of 1

Best VNC Client for MacOS X … or how to remote control a computer!

Best VNC Client for MacOS X … or how to remote control a computer!
   20

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)

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,

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

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

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

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

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

 

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.

Support Us ...


Your support is very much appreciated, and can be as easy as sharing a link to my website with others, or on social media.

Support can also be done by sponsoring me, and even that can be free (e.g. shop at Amazon).
Any funds received from your support will be used for web-hosting expenses, project hardware and software, coffee, etc.

Thank you very much for those that have shown support already!
It's truly amazing to see that folks like my articles and small applications.

Please note that clicking affiliate links, like the ones from Amazon, may result in a small commission for us - which we highly appreciate as well.

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.

  • Mar 10, 2015 - 8:12 PM - jK Comment Link

    very interesting. thanks!

    Reply

    jK

  • Oct 28, 2015 - 1:36 PM - Quann Moses Comment Link

    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. 

    Reply

    Quann Moses

    • Oct 28, 2015 - 2:38 PM - hans - Author: Comment Link

      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?

      Reply

      hans

      • Oct 28, 2015 - 2:45 PM - Quann Comment Link

        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.  

        Reply

        Quann

      • Oct 28, 2015 - 2:59 PM - hans - Author: Comment Link

        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:

        Mouse controls


        When using a mouse with Veency you have the following abilities with the mouse:

        Left Click – Tap the screen at the cursor position

        Left Click and Drag – Swipe (distance is a factor)

        Right Click – Home button

        Middle Button (Button 3) – Lock button

        Scroll wheel down- Activate/Deactivate music (Play/Pause)


        On the lock screen – You can move the mouse, when your iDevice is locked, to unlock it.


        You can imagine that the cursor is your finger on the touch screen, you can “tap”, “push/hold down” or “swipe” with the mouse as if you were touching the screen. I don’t know if/how any multi-touch gestures are implemented, so please bear that in mind.


        I find it helpful to set the mouse speed almost to the max, otherwise it seems to take a long time to cross my iPod’s screen. This does seem to make the movement of the cursor a little more jerky though.


        Reply

        hans

  • Aug 29, 2016 - 8:16 AM - Barry Comment Link

    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.

    Reply

    Barry

    • Aug 29, 2016 - 3:34 PM - hans - Author: Comment Link

      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!

      Reply

      hans

      • Sep 11, 2020 - 12:05 PM - Barry Comment Link

        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.

        Reply

        Barry

      • Sep 12, 2020 - 3:30 AM - Hans - Author: Comment Link

        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. 

        Reply

        Hans

    • Sep 11, 2020 - 12:10 PM - Barry Berg Comment Link

      Forgot to include link … https://github.com/neutrinolabs/xorgxrdp/issues/78

      Reply

      Barry Berg

  • Aug 29, 2016 - 6:33 PM - Barry Comment Link

    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 :-)  :-)

    Reply

    Barry

    • Aug 30, 2016 - 7:03 AM - hans - Author: Comment Link

      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 

      Reply

      hans

  • Jan 16, 2020 - 12:20 PM - Ahmed Masud Comment Link

    For newer mac os Catalina // Mojave etc. The location is /System/Library/CoreServices/Applications

    Reply

    Ahmed Masud

  • Mar 30, 2020 - 3:48 PM - Alan Comment Link

    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!

    Reply

    Alan

    • Sep 11, 2020 - 5:07 AM - Hans - Author: Comment Link

      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 

      Reply

      Hans

  • Sep 10, 2020 - 9:19 AM - Kalman Reti Comment Link

    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…

    Reply

    Kalman Reti



Your Comment …

Do not post large files here (like source codes, log files or config files). Please use the Forum for that purpose.

Please share:
*
*
Notify me about new comments (email).
       You can also use your RSS reader to track comments.


Tweaking4All uses the free Gravatar service for Avatar display.