If you are managing Macs and PCs, then you will frequently connect to other computers or virtual machines through screen sharing, secure shell or other means. Here is a simple trick to make those connections easier:
Open your favored UI text editor (Text Edit will do) and type
<hostname> with your username and hostname for a Mac you frequently share the screen with.
Then select the entire text and drag it to the desktop. It will create a file with “@” sign on the icon. When you double click this file, Screen Sharing opens and asks for the password (unless it is stored in the Keychain) and connects the remote session.
Now rename this file to
VNC <hostname>. Then activate Spotlight (cmd-space) and start typing “VNC” and the hostname. After a few characters the VNC link file should be the top result. Hit return and the session starts.
As an extra bonus you can put these files in a folder in your cloud file system of choice (iCloud Drive, Dropbox, Google Drive, Box, etc.) and they will sync to all your Macs.
You can do the same with any URI scheme:
Microsoft Remote Desktop/RDP
The new Microsoft Remote Desktop application available in the Mac App Store also supports
rdp URI schemes, however the syntax is a bit odd. To connect to a remote host you have to use:
You can find more options for this URI scheme in this technote. One I have found useful is
screen mode id where a value of
1 means to open the remote screen in a window a value of
2 means full screen mode.
Looking into the files
If inspect the file generated by dragging, you can see that it is a property list file with a single key
URL and a string value containing the link.
Files for a
vnc URI get the
http[s] URIs get the
ftp URIs get the
.ftploc extension and everything else seems to get
.inetloc extensions. (There may be more, let me know if you find any.)
This makes it easy to write a short script that simplifies the creation of these internet location files:
./create_netloc.py http://munki.example.com/munkireport-php/ Munkireport
rdp links: since the ‘&’ is special in shell commands you need to quote the uri if any are present.