Synergy

From AwkwardTV

Jump to: navigation, search

Contents

Introduction

Synergy is an open source cross platform tool designed for controlling multiple screens on multiple computers using a single keyboard and mouse. Synergy will work as long as each computer is connected over TCP/IP. It is not VNC control. The mouse actually moves from one screen to the next. Synergy also supports copying and pasting from server to client.

Using it with AppleTV eliminates the need to have a keyboard and mouse connected to the AppleTV either via USB or any other means such as Bluetooth. As long as you can see your ATV from your computer, it's perfect. Why plug in another keyboard and mouse when you've already got one. After all, who wants to keep a KB and Mouse in their home entertainment unit! Ugly!

Prerequisites

  • An SSH enabled AppleTV
  • A computer running OS X or Windows with a keyboard and mouse (In this example I am using a Intel MacBook Pro Core2Duo)
  • AwkwardTV Applications Menu Plugin
  • System Preferences
  • Mouse Locator Enabled
  • An Application Installed that you would like to use a mouse for e.g. Firefox

Enabling USB for keyboard and mouse support

Not sure if this is really required but I had it done before I started. If someone would like to try without I'd be interested. I used the NitoTV Smart Installer to patch the kernel for this function.

Installing System Preferences

Install System Preferences onto your AppleTV. This is needed to enable the mouse pointer in the first place.

Enable the Mouse Pointer

Enable the Mouse Pointer on your AppleTV.

Installation

Download and Configure Synergy

  • Download the latest release Synergy Binary for OS X from synergy sourceforge page
  • Extract the downloaded file (synergy-1.3.1-1.OSX.tar.gz) to your Desktop
  • Edit synergy.conf with your machine specific information. Your host names will probably be different. Here is a copy of mine:
# synergy configuration file
#
# comments begin with the # character and continue to the end of
# line.  comments may appear anywhere the syntax permits.

section: screens
	# two hosts named:  macbook.local, and appletv.local
	macbook.local:
	appletv.local:
end

section: links
	# AppleTV is above the Macbook
	macbook.local:
		up    = appletv.local

	# Macbook is below AppleTV
	appletv.local:
		down    = macbook.local

	# You need to specify both directions or once you move from
	# one screen to the next you won't be able to get back
end

Install Synergy Client On AppleTV

  • Copy synergyc and synergy.conf to /Users/frontrow/Applications/ on your ATV
  • Make sure synergyc is executable chmod 755 synergyc
  • Create the file /Users/frontrow/Applications/killsynergy and make it executable
  • Edit killsynergy with the following:
#!/bin/sh
kill $(ps ax | grep synergy | awk '{print $1}')

Install Synergy Server On MacBook

  • Copy synergys and synergy.conf to somewhere useful on your Mac. I used /Applications/synergy
  • Create a file on your desktop called StartSynergy.command
  • Edit StartSynergy.command with:
#!/bin/sh
/Applications/synergy/synergys -f --config /Applications/synergy/synergy.conf

Install and Configure AwkwardTV Applications Menu

This can be done from the AwkwardTV menu if you patched your AppleTV with a patchstick

Configure the Applications Menu by editing the file /Users/frontrow/Documents/Applist.plist. I have created two Application Items, one to start the synergy client and one to stop it when you're not using it. It should be OK to leave the client running although it seems unnecessary if you're not going to be using it. Here is the relevent sections from mine:

    <key>0</key>
    <dict>
      <key>args</key>
      <string>--restart -f macbook.local</string>
      <key>remotewatcher</key>
      <false/>
      <key>fireandforget</key>
      <false/>
      <key>menu</key>
      <string>StartSynergyClient</string>
      <key>killfinder</key>
      <true/>
      <key>path</key>
      <string>/Users/frontrow/Applications/synergyc</string>
    </dict>
    <key>4</key>
    <dict>
      <key>args</key>
      <string></string>
      <key>remotewatcher</key>
      <false/>
      <key>fireandforget</key>
      <false/>
      <key>menu</key>
      <string>StopSynergyClient</string>
      <key>killfinder</key>
      <true/>
      <key>path</key>
      <string>/Users/frontrow/Applications/killsynergy</string>
    </dict>


Running

It doesn't seem to matter really which order you start the server and client in. I tend to start the server first and then the client though. Start the server by double-clicking the startsynergy.command file you created on your desktop. This will launch a terminal window and you should see the status of the Synergy server.

On your ATV, open the Applications Menu and select StartSynergyClient. Keep an eye on your Macbook screen and if everything's gone well you should see appletv.local connected.

Then start your favorite mouse dependent application. Such as Firefox. You can then just simply move your mouse off the top of the macbook screen and you will see it magically move onto your ATV connected TV. You can then use the keyboard and mouse from your MacBook to do things with your AppleTV.

Enjoy!


--Emanuele.mazza 17:33, 4 August 2008 (CEST)

Got this error:

bash-2.05b# ./Synergy.app/synergyc 10.1.0.12 dyld: Library not loaded: /System/Library/Frameworks/ScreenSaver.framework/Versions/A/ScreenSaver Referenced from: /mnt/Scratch/Users/frontrow/Applications/./Synergy.app/synergyc Reason: image not found Trace/BPT trap

bash-2.05b# whoami root

and ( of course ) Synergy does not start.

More Info

More information including additional command line options and installation for Windows users can be found here

Feel free to update or edit this page.

Cheers

Dotcom78

Personal tools