Turn Leopard's Screen Sharing into a better "Apple Remote Desktop lite"

Sat, 12/15/2007 - 19:38 — Chauncey Dupree
1716

 

We brought you early coverage and the first news of Leopard's Screen Sharing capabilities back in August but Apple legal made us take it down.

Today, Macworld's Rob Grifiths shows us how to turn Leopard's built-in Screen Sharing into a full-fledged screen sharing application - with a lot of he features that are sold in Apple Remote Desktop.  It only takes a few lines of code in the terminal.

1. Find the screen sharing application and put it in the dock.  It is at /System/Library/CoreServices/Screen Sharing.app

2. Run this in terminal:

defaults write com.apple.ScreenSharing ShowBonjourBrowser_Debug 1

You will now be able to open Screen Sharing and see local computers on your network that can be controlled.  Close it again so you can add some more functionality...

3.  Now, to add a bunch of buttons that are also found in Apple Remote Desktop, type in this command (it is one line):

 

defaults write com.apple.ScreenSharing \
'NSToolbar Configuration ControlToolbar' -dict-add 'TB Item Identifiers' \
'(Scale,Control,Share,Curtain,Capture,FullScreen,GetClipboard,SendClipboard,Quality)'

Now restart Screen Sharing.  You should see all of the goodies that you also see in Apple Remote desktop.  Macworld runs down the list:

 

 

toolbar

So what do these new buttons do? Here’s a quick rundown on each.

button1

Switch between controlling the remote Mac (the default) and simply observing the other machine.

button2

Switch between allowing the remote Mac’s keyboard and mouse to be used (the default) and locking them out.

button3

This button will lock the other Mac’s screen, displaying an all-black background, a huge lock icon, and the text you enter after clicking this button. Note that there’s a minor bug here; you’ll actually see the name of a variable that Apple left in the text field, too—so if you type “Using remotely,” the displayed message will be “Using remotelylockedByString.” This button is off by default, meaning the other Mac’s screen displays what you’re doing.

button4

Click this button to capture the remote Mac’s screen to a local file. You’ll capture the full screen, and the system will ask you to pick a name and save location for the file.

button5

Toggle between windowed (the default) and full screen modes. In full screen mode, the toolbar floats in the top left of the screen. To exit full screen mode, click the “X” button on the toolbar.

button6

Not really a button at all, this is the quality slider. If you’re finding that screen updates are going slowly, for instance, you can reduce the quality—all the way down to a badly dithered black-and-white representation—to speed things up.

( Filed Under: )

Comments

I typed the two things in

1113

I typed the two things in but it won't go into the Remote Desktop Goodies. What is happening?

make sure the second one is

109

make sure the second one is only one line.  Other than tat, dunno - it worked for us...

Are there reverse commands?

116

Are there reverse commands? Or is this a permanent change?

When you runt he command

115

When you runt he command make sure you go to the VIEW menu and select SHOW TOOLBAR.  I too didnt think the commands worked even rebooted and I didnt see anything.  For the heck of it I went to the show toolbar and VOILA there were the xtra buttons.

Nice tip.....

To revert the first command

911

To revert the first command change the 1 at the end to a 0. For the toolbar, just hold down control and drag each toolbar item off.

Excellent tip - I also

89

Excellent tip - I also initially had an issue with the second command - but for those with trouble try to copy the whole command to a text editor and remove the line breaks and the two \ - worked for me after that.

If you do not see the buttons, then start Screen Sharing and then click:
View > Show Toolbar

OMG. This really works. How

126

OMG. This really works. How incredible. Amazing.

Yeah. It is. Leopard is so

109

Can this be used for

148

Can this be used for computers out of local network? i.e., across Internet?

Yes. I have this working for

99

Yes. I have this working for a remote computer. Just make sure you have IP access to the computer to be controlled including the proper port for screen sharing through any router/firewalls that might be there. For me that meant setting up the router to do port forwarding to my remote Mac.

For me, screen sharing was

108

For me, screen sharing was already the killer feature in Leopard (I run a headless Mac-mini as a Web Server) I'd previously used Chicken-of-the-VNC.
Screen sharing is so much better, but now you have now taken it to the next level.

Thanks

the view toolbar menu item

1311

the view toolbar menu item is grayed out for me... help?

I have the same problem with

710

I have the same problem with a grayed out View toolbar menu. I have not restarted my system after executing the two lines. Is a system restart necessary?

This is not clear for me,

89

This is not clear for me, can I control other mac running under Tiger, or the controlled machine must be under Leopard too?

OK, I found the answer: I

83

OK, I found the answer: I can control Tiger :)
Toolbar menu is visible AFTER you connect to other computer. Copy/paste is the best way to execute that long command.

will this work if I set it

125

will this work if I set it up and control my other computer which is a pc? How will I control the pc? How will I put it on my network? Please help!

To connect to a windows

99

To connect to a windows based machine, i would recommend downloading microsofts's remote desktop for mac.

Apple's screen sharing is intended for OS X only.

thanks but is there one that

98

thanks but is there one that has the " goodies" that screen sharing would have to spy on my windows from my mac?

If you install VNC on your

139

If you install VNC on your PC, you can control it from your mac.  IT isn't as reliable as Windows remote dektop tho

is there anything free like

114

is there anything free like that?

yeah - we like RealVNC or

811

yeah - we like RealVNC or TightVNC

please give me a download

74

please give me a download link with a remote control program that I can use on my mac to spy on my windows pc with all of the "goodies" that screen sharing would have. please!!

windows remote dekstop is

127

windows remote dekstop is free... will work much nicer than vnc when controlling windows. so enable that on the pc and download the osx windows remote desktop app

thanks, thats really a

1012

thanks, thats really a wonderful little hack. now if screensharing would default to observe and not to the control mode, i would be a happy camper!

Does anyone know how to

94

Does anyone know how to change the default to observing instead of controlling?  I would like to default to observing so that I can move the mouse without it affecting the remote screen.

Thanks.

oops.  didn't mean to reask

813

oops.  didn't mean to reask about the default to observe mode.  Sorry.  I need to learn to read...

How can I switch on screen

69

How can I switch on screen sharing from a commandline tool? I have sshd running but not screensharing.

To open Screen Sharing.app

99

To open Screen Sharing.app from the Terminal:

sudo open /System/Library/CoreServices/Screen\ Sharing.app

Not sure if the sudo is necessary, but I would guess that it is, because of where Screen Sharing is located.

BTW: Thanks for the great tip! I normally use Screen Sharing to monitor, moderate and troubleshoot my daughter's eMac. The locking feature is an easy way to tell her "You've had enough computer time - now clean up your room!"

Any idea how to remove the odd string from the end of the lock message?

Does anybody know how to

611

Does anybody know how to remove an item from the My Computers list? I've added a few by mistake whilst incorrectly typing IPs and would like to wipe them out. I'm okay clearing the entire thing if thats the only way to do it.

The only way I found to do

811

The only way I found to do it is to manually edit the preferences file located here:


~/Library/Preferences/com.apple.ScreenSharing.plist

First QUIT Screen Sharing, becuase if you don't, when you do, it will write it's preferences back to the file overwriting the changes that you've made. Make a backup of it first if you're not fully comfortable editing it. The worse case is that you corrupt the file, you have to delete the entire thing, and start with a fresh set of default preferences.

Then, search for the set of <key> and <dict> tags for the computer/IP that you want to remove. An example is shown below for IP address 192.168.2.42.


<key>192.168.2.42</key>
<dict>
     <key>hostName</key>
     <string>192.168.2.42</string>
     <key>name</key>
     <string>192.168.2.42</string>
     <key>sortOrder</key>
     <string>2</string>
</dict>

Make sure you have the right pair. The <key> entry is above its <dict> entry. All you have to do now is delete it and save the file.

When you relaunch Screen Sharing, the computers that you've removed from the text file will be removed from the My Computers list.