Wednesday, 21 November 2012

How to take a remote screenshot in OS X

There are several options for taking remote screenshots and specifying what to take a remote screenshot of in OS X.

Taking a screenshot in OS X is a popular option for capturing activity on your computer, whether for communicating instructions to people or documenting events that are happening on your system. Usually screenshots are taken when sitting at the local system, but if needed you can also do so remotely by several different means.
The easiest way to take a remote screenshot is by using the Screen Sharing service in OS X. By enabling this in the Sharing system preferences and then connecting to the remote system to view its screen, you are provided a couple of ways to take a screenshot.
Since through Screen Sharing you are virtually placed in front of the remote machine, the first option is to use the standard screenshot hotkeys such as Shift-Command-3 to invoke the screenshot function on the remote system. By doing this, you can take a screenshot as if you were sitting in front of it, and then be able to upload the captured image to the location of your choice or otherwise manage it.
The second approach is to use the Screen Sharing application's ability to capture a screenshot. To do this, when you have the remote desktop session established, go to the Connection menu on your current computer and choose "Save Screen Capture As" to save the image in the location of your choice. You can also switch to the Finder or another application, then invoke screenshot hotkeys locally to take a picture of the Screen Sharing application window; however, this will also capture window elements such as the toolbar.

Unfortunately, when connected to the Screen Sharing service, your system will interact somewhat with the remote one, which may be detected by anyone using the remote system. By invoking screenshot commands on the system, you will create visible files on the current user's desktop, or if you move your mouse cursor or type a key, the remote system will pick up these inputs.
This second approach has the benefit of being less intrusive, so if someone else is in front of the remote computer, you can quickly display the screen and snap a shot of its display without disrupting their workflow.
Another less-intrusive approach to taking screenshots on a remote system is to use the "screencapture" command in an established SSH connection. To do so, simply type "screencapture FILE" where FILE is the full path to the image file to be saved. The image will be of the current user's window server session, so whatever is being displayed for the account you're logged into will be captured in the screenshot.
Unfortunately, the use of "screencapture" through an SSH session will work only if the current user has an active window session running. Therefore, you will not be able to take a screenshot with this command unless the account is logged in locally on the system.
Additionally, if your account is active on the second system but another account is also being used, then while you can take a screenshot, it will be of the window server session for your user account only. This means that even though another user may be logged on and using the system, you will only take a screenshot of the windows and desktop of your account.
These restrictions result in some limitations from the default use of the screencapture command, such as the inability to take screenshots of another account's activity when they are using the system, and the inability to take screenshots of the log-in window. However, despite this default behavior you can take a screenshot of any output the system is currently displaying by running the screencapture command under the root account. To do so, in your SSH connection run "sudo screencapture FILE" and you will save the captured image of the current display output, be it another account or the log-in window.

No comments:

Post a Comment