| 1270523517|%a|agohover |
|
1270523517|%Y|agohover |
![]() iTunes via iPhone © James Kanjo, 2010 |
After recently converting to MobileMe, I decided to explore the special features of my Mac that I've always been avoiding. These are the features which require a MobileMe subscription to work.
One of these features is “Back to My Mac”, which allows you to essentially control your computer remotely. This is a really cool feature that I certainly would love to do!
Because Apple base their products on the “it just works” philosophy, you can expect that “Back to My Mac” works like a charm, every time. And just as you would expect from Apple, you can access your Mac from any computer, Mac or PC… Wait a second…
You're telling me that “Back to My Mac” ONLY WORKS FROM A MAC????
Grrr. Fine. I'll just use it from my Apple iPhone instead.
WHAT???? An iPhone DOESN'T COUNT AS A MAC???
You can't even use Back to My Mac from an iPhone. But there is an alternative to remote-controlling your computer: VNC
Virtual Network Computing is a special protocol that, simply said, allows you to see another computer's display, and control the mouse/keyboard input devices. Thus enabling your computer to be remotely controlled.
Setting it up was a learning experience. I enabled “Screen Sharing” on my Mac's Sharing Preferences, and made my Wireless router redirect the 5900 port to the 5900 port of my computer in the home network. Port 5900 is specifically designed, though not necessarily required, for remote controlling a desktop.
When a client makes a request for port 5900 on my router, I don't really want to remotely control the desktop of my router1, so the router needs to redirect the client to port 5900 of my computer. How do I do this? I just change the Port Mapping settings of my Router to map port 5900 to my computer's IP address2.
After the connection has been made, you can set up your computer to require a VNC password… this is recommended, otherwise literally anybody could access your computer.
Now here's the joyful part of the whole process. Every time my router disconnects from the internet, it's IP address changes to what my ISP assigns it with. This will happen whenever I turn off my modem or router, whenever the ISP decides to refresh everybody's IP address, and whenever there is a power outage. Once your IP address has changed, you suddenly don't have access to your computer remotely. So how do we find out this vital piece of information???
It's as simple as an email. On my Mac in the Mail.app, I have set up a special Mail rule that says:
Whenever an email from James arrives, that has the subject Return IP Address, perform this AppleScript and delete the message
All I need to do is send myself an email with the subject “Return IP Address”. Then a special AppleScript will be performed. I have programmed this AppleScript to email an image of your IP address to the email address you specify (it needs to be hardcoded, sorry):
do shell script "cd ~/Desktop; curl -fO 'http://www.ipnow.org/images/iprand.jpg'"
set theAddress to "INSERT_EMAIL_ADDRESS_TO_SEND_IP-ADDRESS_TO"
set theSubject to "Returning IP Address"
set theBody to "The current IP Address in use is:"
set theAttachment to (path to desktop as Unicode text) & "iprand.jpg"
tell application "Mail"
set theMessage to make new outgoing message with properties {subject:theSubject, content:theBody & return & return}
tell theMessage
make new to recipient at end of to recipients with properties {address:theAddress}
tell content
make new attachment with properties {file name:(theAttachment as alias)} at after the last paragraph
end tell
end tell
send theMessage
end tell
do shell script ("rm " & "~/Desktop/iprand.jpg")
So now if your home network's IP address has changed, just send your self that special email, and you should get a reply containing your email address.
There is an automated alternative to this, which requires your computer to be constantly connected to an external server (a much easier solution), but I'd prefer to keep my IP address as my own business than have it registered at some strange server3.
REMEMBER: You're computer at home needs to be turned on, and not in sleep mode so that it can process your email. Having the screensaver turned on is fine.
So now I just use the iTeleport iPhone App to access my computer anytime, globally.
λ James Kanjo
Calendar:
Subscribers:

Of course, you wouldn't have to do that if you had a Static IP address. Yours must be dynamic…..
~ Kenneth Tsang — jxeeno.com — my new blog | @jxeeno Twitter | My Site
Wikidot Community via IRC (#wikidot on irc.freenode.net)
Of course :)
Static IP addresses are uncommon in households… it's something that you pay extra $$$ to have.
λ James Kanjo
Blog | Wikidot Expert | λ and Proud
Web Developer | HTML | CSS | JavaScript
There is also the program TeamViewer, which works cross-platform. I find that for remote support, TeamViewer works best.
http://www.teamviewer.com/index.aspx
Post preview:
Close preview