Chicken of the VNC
A few people have written in, asking how to remote control a Mac. It couldn’t be much easier, especially if you’ll be doing the controlling from a computer on the same network as the machine you want to control. The server component is built into OS X. The client component (on the computer you will do the controlling from) can be downloaded here.
Click here to skip ahead to the screencast.
If you plan on controlling a machine from across the Internet there’s an extra step. Let’s look at both scenarios:
Both computers on same network.
- Configure the machine you want to control (the server) to allow VNC access. See the screencast for details.
- Open Chicken of the VNC and connect to the ip address of the server. Instead of the ip address you can have Chicken of the VNC use Bonjour to show you servers on your network.
Controlling a machine from across the Internet.
- Configure the machine you want to control (the server) to allow VNC access. See the screencast for details.
- From the server, go to the web site http://whatismyip.com and make a note of the ip address. This is how your home network is seen on the Internet.
- Go to the router of the network your server is on. Configure port forwarding to allow port 5900 through to the server. See the screencast for details.
- At the coffee shop, Open Chicken of the VNC on the client and connect to the ip address noted in step 2. Bonjour won’t help you across the Internet - you may as well turn it off. And you can’t use the server’s actual address. You have to use the address of the router. The router will pass the request to the server, based on the port forwarding you set up in the previous step.
If you don’t have a router at home your Mac is probably connected directly to the DSL/Cable Modem. In that case, the server’s address and the http://whatismyip.com address are likely the same. (Some modems act as firewalls, in which case they could be different!) Use that address from the coffee shop.
Consider getting a router. For forty dollars you can add an important layer of security and the convenience of wireless access.
More to think about:
- VNC is not notably secure. You’re relying on a single password to keep intruders out.
- Consider running third party VNC server software, like OSXvnc. It allows you to run the server on a port other than 5900, helping to hide your service from hackers.
- You can use RealVNC on Windows computers to remote control your Mac instead of Chicken of the VNC. There’s a free Personal Edition.
- There are other ways, using far more secure tools, to remotely control your Mac. Murphy will cover tools like ssh next week. In the meantime, brush up on your Terminal skills!
More on ports: A port number is what an application uses to identify itself to the network. There is all kinds of traffic flowing to your networked computer. The port directs the traffic to the proper application. Traffic finds the computer by its ip address, then goes on to find the right application by its port address.
More on port forwarding.
Watch Now | Permalink
9. March 2007 at 1:18 pm :
Nice article.
Curious though….a lot of ISP’s will change your IP address from time to time (the IP of the modem that is). That means that the “http://whatismyip.com” site will give back a different IP.
Is there a way to maybe automate a browser to go to that page and then email the screen capture (with the IP) back to you?
So, from where you are, you send an email to your MAC with a subject that would trigger automater to run firefox at “whatsmyip” and then grab the screen and reply back?!?!
9. March 2007 at 1:26 pm :
You could definitely do something like that.
This might be easier:
http://www.dyndns.com/services/dns/dyndns/
But if you want to have other things happen on your Mac when you send it an email with a certain subject, check out the link below. You can kick off AppleScript or Automator with an email.
http://murphymac.com/sleep-your-mac-by-email/
10. March 2007 at 4:09 am :
This looks like it would be handy… but couldn’t get the two Macs (both running 10.4.8) to connect… spent 3 hours fooling with it.
I think both machines must have stealth mode disabled, and be able to ping one another… but even then they wouldn’t connect.
Bob
10. March 2007 at 4:21 am :
Oh man, three hours! Been there. But not for VNC. It shouldn’t be that hard!
Both machines on the same network? Did you try it with Bonjour turned on in Chicken of the VNC?
Could you ping successfully? I assume Stealth mode overrides services you’ve allowed in. But I don’t know for sure, I don’t use it because I’m behind a hardware firewall.
Did you try connecting by ip address with Chicken of the VNC?
I’ve been using this for years and have never had a problem. Just tonight I connected to my G5 from a hotspot. Something strange is going on. Feel free to email me some more details.
10. March 2007 at 5:03 am :
Thanks for the quick reply!
I was trying to connect over the internet… neither machine, a G5 iMac host and later model G4 eMac server have routers, and are just connected directly to DSL modems. Both machines initially had OSX’s built in firewall on, UDP traffic blocked and stealth mode on.
With stealth mode turned off (on both machines), and the article instructions followed, the machines could ping one another just fine.
Connection attempts were made using IP addresses. Addresses & passwords were checked multiple times. It just kept reporting ‘Unable to connect’.
Near the end I even tossed Chicken’s pref’s and started again… no change.
I still suspect the issue, once found will be something trivial…
Great web site, Thanks! I’ve learned a lot.
Bob
10. March 2007 at 5:42 am :
Hmmm. Some of the newer dsl modems run NAT inside - so machines on the other side of the DSL modem from the Internet actually have a private ip instead of the ISP public ip. Could this be the case with the machine you were trying to contact? Probably not since you got a ping back.
Even if it’s not NAT - the DSL modem could still be blocking unsolicited traffic, like the Mac Stealth mode.
It would be best to try it first with machines on the same network, even using a Windows machine as the client.
Are you sure you pressed Start on the server? After you configure the password you still need to start the sharing.
Don’t know what else to tell you. You’re right, it’s probably some little thing. Was someone configuring the other machine following instructions over the phone?? That can be tons of fun. Ha.
Good luck. Let me know if you find success. It’s a very convenient tool.
13. March 2007 at 11:29 pm :
Works on my local network, but not over the internet. Starts to load page, then I get an error.
“Zlib inflate error: invalid block type”
14. March 2007 at 10:43 am :
Greg -
Check your router when you’re setting up the port forwarding. See if you enabled both TCP and UDP. They should both be enabled for port 5900. Some routers don’t specify TCP and UDP, some do.
17. March 2007 at 11:57 pm :
Thanks for the screencast…you really simplified a confusing process for us network wannabes. I can now easily provide tech support for my familys’ macs in various locations. Very nice, indeed!
19. March 2007 at 4:13 am :
Thanks for the feedback - I appreciate it.
And I agree, having VNC access to someone is WAY better than trying phone support!
21. July 2007 at 4:00 am :
Thanks for the screencast. When I go into System Preferences: Sharing: Remote Desktop, I don’t have the VNC checkbox anywhere. Am I missing something? I’m on 10.3.9.
21. July 2007 at 12:53 pm :
Nevermind. Needed Tiger.
1. August 2007 at 11:03 pm :
Hello,
Thanks for the tips. Couple quick questions though…
I am configuring my father’s computer so that I can “see” his screen. He’s on a different network, using a Mac with a wireless router. He enables apple remote desktop login, I use Chicken of the VNC software on my mac to see and control his computer.
Here’s my question, when I set up his router to forward the ports so this will work, do I use the ports for apple remote desktop or VNC? (The ports overlap (5900) but are different - according to http://www.portforwarding.com)
Also, which IP address do I enter into Chicken of the VNC? His router IP, his static IP that we assigned or his computer’s IP.
Thanks for the help,
Rob
21. August 2007 at 5:55 am :
Chicken of the VNC says it’s compatible with 10.3.9 … is that just as a client? Can CotVNC control 10.3.9?
15. September 2007 at 12:14 pm :
More info please…. Your topic about cken of the VNC - Murphy Mac needs more comments. I\’d like to spend me Saturday nights reading about how to run a coffee shop
20. September 2007 at 7:05 pm :
Hey!
First off, thanks for all the info.
Second, I have a mac and will be needing to access my work computer which runs on Windows. Can I use Chicken of the VNC for this or do I have to use another VNC?
Thanks again!
21. September 2007 at 2:15 pm :
You can use Chicken of the VNC to connect to a windows computer running a vnc service.
Another product you might find interesting: logmein.com
21. September 2007 at 7:59 pm :
Great! Thanks…
Yeah, I was looking into that one as well.
15. October 2007 at 12:43 am :
Love your site Murphy!!!!…
Guess the computer I am working has a modem that must be working as a firewall..Is there a way round this without getting a router?
Funny thing, with the mac firewall running you can still VNC into your Mac (but with doorstop running you simply can’t). It seems the mac provides a false sense of security and will make you feel good knowing your firewall is running but actually isn’t…Hummmm
Haven’t tried with stealth mode activated.
Here is a cool 3rd party firewall software that works..
http://www.opendoor.com/doorstop/
As for the folks having trouble opening port 5900 you can watch this:
http://www.macminicolo.net/videos/ServerVideo3.mov
30. November 2007 at 6:40 pm :
Hi,
I am trying to get cotVNC running to connect to a linux server that has TightVNC running on it. When I give the ip in host box: 192.168.xxx.xxx and 1 in the display (port 5901 is open) it seems to connect but I do not get a window letting me access the server. When I did full screen I got a grey screen. Another thing is that I tried was to run from the terminal and I got this message:
2007-11-30 11:12:37.510 Chicken of the VNC[705:10b] Server reports Version RFB 003.130
I would be grateful if you could help me out in setting this up.
Thanks,
verrami
30. November 2007 at 9:20 pm :
verrami -
try 0 for the display. displays are totally independent of the port. is the server running on port 5901? If so, you need to connect to 192.168.xxx.xxx:5901
1. December 2007 at 4:15 am :
Thanks for the reply. I tried with ip:5901 but got a RFBConnection gray box. I am able to connect to the server but its just that I am not getting the follow up window that lets me access the server.
I got VNC Viewer and JollysFastVNC to get to the server but they have functional issues like not having right-click ability etc.
24. March 2008 at 10:08 am :
Hi Murphy,
I was wondering if you did the tutorial on accessing a mac by SSH over the internet(that you mentioned above).
BTW, your screencast was flawless. I have been trying ANY way to connect over the internet and this tut made it work. Thanks!
(but now i’m anxious to do it securely)
24. March 2008 at 5:35 pm :
Chris -
Take a look at the ssh post and this post about sending an application’s data over ssh.
16. November 2008 at 11:04 am :
Thank you!
The screen cast just saved my job!