TweetFollow Us on Twitter

Remote Control

Volume Number: 20 (2004)
Issue Number: 12
Column Tag: Programming

Remote Control

by Brad Belyeu

It's Not Just For Your TV

Welcome

The purpose of having a remote control for you home entertainment center (other than a good thumb workout) is to save you the effort and time of getting out of your recliner to change channels or adjust the volume. It's a great idea, and everyone uses one. Remote control of your Mac is just as easy and convenient. Anyone who has more than one computer has valid reasons to use remote computing. Most people probably don't make use of this great functionality simply because they don't understand how it can make things so much easier for them. The advantages of a TV remote are pretty obvious, but unless we stop to think about it the advantages of remote controlling another computer are not quite as obvious. We'll take a how-to look at some of the powerful things that can be done with different forms of remote computing.

Take Command Line Control

Thanks to the Unix underpinnings of OS X, remote computing is built right into our operating system. You can enable secure command line remote login via SSH in System Preferences Sharing pane.


Secure SHell (SSH) came about due to the increasing security needs when transferring data over the Internet. Back in the early days of the Internet, a lot of data was sent as plain text. Back in the "good old days", you didn't need to worry about who was watching. Unix applications like rsh, rcp, & rlogin were perfectly acceptable for logging into a computer remotely. Now any ten year old that knows how to download and use a packet sniffer can intercept plain text transmissions. SSH provides security by creating a "tunnel" between two computers. Every packet of data sent between the computers is encrypted using an authentication key shared between the computers. If SSH is used correctly, it can make remote computing just as secure as sitting in front of the machine itself.

Secure SHell (SSH) came about due to the increasing security needs when transferring data over the Internet. Back in the early days of the Internet, a lot of data was sent as plain text. Back in the "good old days", you didn't need to worry about who was watching. Unix applications like rsh, rcp, & rlogin were perfectly acceptable for logging into a computer remotely. Now any ten year old that knows how to download and use a packet sniffer can intercept plain text transmissions. SSH provides security by creating a "tunnel" between two computers. Every packet of data sent between the computers is encrypted using an authentication key shared between the computers. If SSH is used correctly, it can make remote computing just as secure as sitting in front of the machine itself.

ssh username@remotehost 

You will then be prompted to enter your password. After entering it correctly your current working directory becomes the home folder of the user you logged in as. To make this meaningful, lets run Software Update on another Mac on your network. To list the available updates, try:

sudo softwareupdate -l

This will list all available updates. It will give you output saying, "Software Update found the following new or updated software" after which it will list each available update. Using the -i argument will install updates. You can specify each one to be installed individually by specifying the updates name.

sudo softwareupdate -i name_of_update 

You can choose to install all "required" updates by using the -r flag in place of the update name. Using the -a command will install all available updates.

You can choose to install all "required" updates by using the -r flag in place of the update name. Using the -a command will install all available updates.

top -u 

This will list all running applications on the remote machine. The -u argument will sort processes by processor usage. The processes at the top of the list are using the most system resources and are more likely to be locking the system up. Take a note of the PID (process ID) to the left of the application name. You can press the Q key to quit the 'top' command, then you can use the 'kill' command to terminate the offending process.

sudo kill process_id 

This will hopefully kill the offending application so you can use your Mac again. If it doesn't kill the application, try using the argument -9 before the process id. The -9 flag is used to send a non-catchable, non-ignorable 'kill' command.

Let's say it's late and you've been using your PowerBook and Airport network to check your email one last time before you retire for the evening. Suddenly you remember that you left the Mac on in the study. Instead of getting out of your warm, cozy bed, just use SSH again to save the day, or night. After logging into the remote system, use the command:

sudo shutdown -h -now 

The -h option halts the system and shuts it down. You can use the -r option in its place to restart the computer instead of shutting it down. The -now option can be replaced with +anynumber to shutdown the computer a certain number of minutes later.

Another great security feature of SSH is port forwarding. You can forward TCP/IP traffic through an SSH shell to secure your data over the Internet. Port forwarding can be used with FTP, HTTP, POP3, SMTP, etc; this can allow you to connect securely to any of these types of servers. The data will be sent through the SSH tunnel. It works like an encrypted subway system connecting two points. Normally the traffic goes over its respected port (80 for HTTP, for example), but when you use port forwarding it is actually sent over SSH's port (22). The syntax is:

ssh -L local_port:hostname:remote_port username@hostname 

To forward your outgoing mail port, you could use the example below.

sudo ssh -L 25:smtp_server_name:25 username host 

If you are running Mac OS X Server, almost any System Preference option can be set through the command line 'systemsetup' command. If you are running a copy of OS X Server view the man page for 'systemsetup' to view all available options.

VNC- Virtual Network Computing

Virtual Network Computing was developed by AT&T laboratories as an open-source cross platform graphical interface for remote desktop computing. It is currently on version 3.3.7. VNC requires a server application and client application to communicate. The server software must be running first on the computer that you want to connect to before the client software can connect to it. Major advantages of VNC include cost (its free!), small & simple file size, platform-independency, and the fact that one desktop can be shared with several computers. No state is stored at the viewer, which means if you're working on something remotely and your computer crashes or locks up nothing will be lost. It is all stored completely on the server. A good & free VNC server application for Mac OS X is OSXvnc by Redstone Software Inc. My VNC client of choice is VNCDimension, a freeware application from AT&T laboratory developers. My favorite part of VNC is that it is cross-platform. If someone has a VNC server running on a pc, it can be accessed from a Macintosh. VNC loads only the viewer application locally. All other work is processed remotely. I will never use a memory hogging virtual pc application on my Mac again. VNC can be used to run applications off your pc while saving tons of processing power on your Mac. You can initiate any program and it will run remotely. Understanding that most of the computers in the world run Microsoft Windows, it is sometimes necessary to run Windows applications. With the cost of Virtual PC starting at $249 (Win XP Home Ver 7), it is worth the extra couple hundred dollars to me to have the extra processing power and storage of actually owning a Windows pc. I run TightVNC freeware on my pc.


Imagine the extra productivity this allows! Of course, I use VNC more often on external networks than I do on my internal network. VNC allows for connections across the Internet as well. I recommend using an SSH session when connecting over an insecure network such as the Internet via port forwarding techniques explained earlier. For details on setting up VNC over SSH, see Aaron Adams article in MacTech Vol 20, No 7 2004. Other VNC clients worth trying are VNCThing and Chicken of the VNC. ShareMyDesktop is another good VNC server.

VNC is a great way to do simple remote computing but there are professional applications which are much more powerful and feature rich than most VNC clients. Let's take a look at these.

Professional Applications

Whether you professionally service computers or you're just the 'computer guy' for your friends and family, you might want to consider purchasing a professional remote desktop application such as Timbuktu. It'll save you a lot of time and money if you make frequent trips to fix small software related problems. Also if you have an Xserve you want to control without hooking up a monitor to it, remote computing applications are a great solution. If you want to share your desktop with up to fifty other Macs in a training type environment, Apple Remote Desktop would be the perfect application. Timbuktu is great for one to one computer connections to fix problems, but ARD seems to be a better application for a lab or classroom type environment.

Apple Remote Desktop can be used to sleep, wake, restart or shutdown a group of Mac OS X systems. Software packages can be installed onto multiple computers at once, and they can even be scheduled to install at times when you network will have its lightest traffic load. ARD can connect to a VNC server running on any platform. It allows you to copy files remotely, and you can also have a real-time text chat with the user sitting at the remote computer. ARD supports Unix commands being sent to remote Macs. Sharing your screen with up to fifty other Macs allows teachers or trainers to demonstrate on-screen to students. If you're using ARD to troubleshoot a problem, it allows you to get a complete hardware report of remote machines. ARD also has a software difference report, which compares installed packages on the admin computer with other computers in a group. Timbuktu has most of the same options as ARD, but it also allows for voice communications. Unfortunately, due to the cost, both of these products are frequently restricted to commercial use.


Brad Belyeu is the President of ABConsulting based out of Oklahoma City, OK. He is an Apple Certified Technician and a certified member of the Apple Consultant Network.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Latest Forum Discussions

See All

Combo Quest (Games)
Combo Quest 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: Combo Quest is an epic, time tap role-playing adventure. In this unique masterpiece, you are a knight on a heroic quest to retrieve... | Read more »
Hero Emblems (Games)
Hero Emblems 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: ** 25% OFF for a limited time to celebrate the release ** ** Note for iPhone 6 user: If it doesn't run fullscreen on your device... | Read more »
Puzzle Blitz (Games)
Puzzle Blitz 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Puzzle Blitz is a frantic puzzle solving race against the clock! Solve as many puzzles as you can, before time runs out! You have... | Read more »
Sky Patrol (Games)
Sky Patrol 1.0.1 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0.1 (iTunes) Description: 'Strategic Twist On The Classic Shooter Genre' - Indie Game Mag... | Read more »
The Princess Bride - The Official Game...
The Princess Bride - The Official Game 1.1 Device: iOS Universal Category: Games Price: $3.99, Version: 1.1 (iTunes) Description: An epic game based on the beloved classic movie? Inconceivable! Play the world of The Princess Bride... | Read more »
Frozen Synapse (Games)
Frozen Synapse 1.0 Device: iOS iPhone Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Frozen Synapse is a multi-award-winning tactical game. (Full cross-play with desktop and tablet versions) 9/10 Edge 9/10 Eurogamer... | Read more »
Space Marshals (Games)
Space Marshals 1.0.1 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0.1 (iTunes) Description: ### IMPORTANT ### Please note that iPhone 4 is not supported. Space Marshals is a Sci-fi Wild West adventure taking place... | Read more »
Battle Slimes (Games)
Battle Slimes 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: BATTLE SLIMES is a fun local multiplayer game. Control speedy & bouncy slime blobs as you compete with friends and family.... | Read more »
Spectrum - 3D Avenue (Games)
Spectrum - 3D Avenue 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: "Spectrum is a pretty cool take on twitchy/reaction-based gameplay with enough complexity and style to stand out from the... | Read more »
Drop Wizard (Games)
Drop Wizard 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Bring back the joy of arcade games! Drop Wizard is an action arcade game where you play as Teo, a wizard on a quest to save his... | Read more »

Price Scanner via MacPrices.net

Apple’s M4 Mac minis on sale for record-low p...
B&H Photo has M4 and M4 Pro Mac minis in stock and on sale right now for up to $150 off Apple’s MSRP, each including free 1-2 day shipping to most US addresses. Prices start at only $469: – M4... Read more
Deal Alert! Mac Studio with M4 Max CPU on sal...
B&H Photo has the standard-configuration Mac Studio model with Apple’s M4 Max CPU in stock today and on sale for $300 off MSRP, now $1699 (10-Core CPU and 32GB RAM/512GB SSD). B&H also... Read more

Jobs Board

All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.