synergy: [noun] a mutually advantageous conjunction of distinct elements
Synergy lets you easily share a single mouse and keyboard between multiple computers with different operating systems, each with its own display, without special hardware. Redirecting the mouse and keyboard is as simple as moving the mouse off the edge of your screen. Synergy also merges the clipboards of all the systems into one, allowing cut-and-paste between systems.
I have this old computer that as use as a backup and multimedia server. I have hooked it to an overhead projector and a decent sound system, now you know what I am up to over the weekends. For all this time ssh and Remote Desktop Viewer have served me very faithully. But I started wondering is this it, can I use my mouse and keyboard on both machines but on different displays, and lo and behold, ladies and gentlemen I present to you Synergy.
So lets get to it.Scenario
There is a Dell (Inspiron 1520) aka WorkStation, running Ubuntu 9.10 also the Synergy server and as a second machine, home built server aka Storage running Ubuntu 8.04LTS.
WorkStation: Side [left] | Hostname [feruzi.trilabs.co.tz] | IP Address [192.168.3.10]Storage: Side [right] | Hostname [storage.trilabs.co.tz] | IP Address [192.168.3.9]
Installing from the Command Line
Start the terminal (you can also use Synaptic Package Manager) and run the following command on both machines.$ sudo aptitude update && sudo aptitude install synergyPLEASE NOTE: For MS Windows and MacOS users visit the site for more information.
Configuring the Synergy server
In your home directory create a file calledsynergy.confand in in it is where the configureation for my set up.
section: screens feruzi.trilabs.co.tz: storage.trilabs.co.tz: end section: aliases feruzi.trilabs.co.tz: 192.168.3.10 storage.trilabs.co.tz: 192.168.3.9 end section: links feruzi.trilabs.co.tz: right = storage.trilabs.co.tz storage.trilabs.co.tz: left = feruzi.trilabs.co.tz end section: options screenSaverSync = false end
section: screens
Screen section is a list of screen names, one name per line, each followed by a colon. Names are arbitrary strings but they must be unique. The hostname of each computer is recommended, and that is what I have used.section: aliases
aliases section is a list of screen names just like in the screens section except each screen is followed by a list of aliases, one per line, not followed by a colon. An alias is a screen name and must be unique. During screen name lookup each alias is equivalent to the screen name it aliases. Because my DNS was not setup properly I assigned it to my IP address.section: links
links section is a list of screen names just like in the screens section except each screen is followed by a list of links, one per line. Each link has the form {left|right|up|down}[PLEASE NOTE: There is more you can do here, again visit the site for more information.
section: options
options section is a list of lines of the form name = value. These set the global options. There is a lot of other options you can set, visit the site for more information.Starting up Synergy server and clients
To start up the server, on feruzi.trilabs.co.tz run the following command,
$ synergys -f --config synergy.confthe output should be something like this, depending on your setting and operating systems.
INFO: synergys.cpp,1042: Synergy server 1.3.1 on Linux 2.6.31-15-generic #50-Ubuntu SMP Tue Nov 10 14:54:29 UTC 2009 i686 DEBUG: synergys.cpp,1051: opening configuration "synergy.conf" DEBUG: synergys.cpp,1062: configuration read successfully DEBUG: CXWindowsScreen.cpp,847: XOpenDisplay(":0.0") DEBUG: CXWindowsScreenSaver.cpp,339: xscreensaver window: 0x00000000 DEBUG: CXWindowsScreen.cpp,117: screen shape: 0,0 1280x800 DEBUG: CXWindowsScreen.cpp,118: window is 0x04800004 DEBUG: CScreen.cpp,38: opened display DEBUG: CXWindowsScreen.cpp,679: registered hotkey ScrollLock (id=ef14 mask=0000) as id=1 NOTE: synergys.cpp,500: started server INFO: CServer.cpp,1141: screen "feruzi" shape changed
And the cliet, in this case on storage.trilabs.co.tz, ssh into the client machine and run the following command and we are ready to rumble.
$ synergyc -f --name storage 192.168.3.10the output should be something like this, depending on your setting and operating systems.
INFO: synergyc.cpp,716: Synergy client 1.3.1 on Linux 2.6.27-15-generic #1 SMP Tue Oct 20 06:52:09 UTC 2009 i686 DEBUG: CXWindowsScreen.cpp,841: XOpenDisplay(":0.0") DEBUG: CXWindowsScreenSaver.cpp,339: xscreensaver window: 0x00000000 DEBUG: CXWindowsScreen.cpp,111: screen shape: 0,0 1400x1050 DEBUG: CXWindowsScreen.cpp,112: window is 0x03000004 DEBUG: CScreen.cpp,38: opened display NOTE: synergyc.cpp,330: started client DEBUG: CXWindowsClipboard.cpp,313: open clipboard 0 DEBUG: CXWindowsClipboard.cpp,266: empty clipboard 0 DEBUG: CXWindowsClipboard.cpp,289: grabbed clipboard 0 DEBUG: CXWindowsClipboard.cpp,348: close clipboard 0 DEBUG: CXWindowsClipboard.cpp,313: open clipboard 1 DEBUG: CXWindowsClipboard.cpp,266: empty clipboard 1 DEBUG: CXWindowsClipboard.cpp,289: grabbed clipboard 1 DEBUG: CXWindowsClipboard.cpp,348: close clipboard 1 NOTE: synergyc.cpp,247: connected to server
And that is it. Have fun, questions and comments are welcome.
No comments:
Post a Comment