Open-source KVM software
Go to file
crs 6f19fcfe39 Fixed doxygen formatting error. 2004-03-14 17:50:37 +00:00
cmd Added win32 support for power management. 2004-03-13 17:13:55 +00:00
config Changes to support building on solaris, irix, and darwin. Also 2002-12-25 10:35:59 +00:00
dist removed PORTING from binary distribution. 2002-09-02 17:49:05 +00:00
doc Moved CPrimaryScreen and CSecondaryScreen to the lib/synergy 2003-01-05 21:48:54 +00:00
examples added EXTRA_* files to get `make dist' doing the right thing. 2002-07-31 16:27:06 +00:00
lib Fixed doxygen formatting error. 2004-03-14 17:50:37 +00:00
nodist Added ability to filter out filespec prefixes and removed @... 2002-12-25 19:20:12 +00:00
AUTHORS changed formatting and other documentation edits. 2002-08-02 17:53:23 +00:00
BUGS Documentation update. 2002-12-25 23:49:42 +00:00
COPYING added files for release. 2002-08-01 18:07:48 +00:00
ChangeLog Updated ChangeLog. 2003-07-21 18:03:21 +00:00
FAQ Merged documentation updates in 1.0 into mainline. 2003-07-19 22:12:54 +00:00
HISTORY changed formatting and other documentation edits. 2002-08-02 17:53:23 +00:00
INSTALL Added documentation for xtestIsXineramaUnaware option. 2003-05-17 14:10:11 +00:00
Makefile.am Added a dist-pkg target to put the binary distribution files into 2003-01-18 10:49:13 +00:00
NEWS Merged documentation updates in 1.0 into mainline. 2003-07-19 22:12:54 +00:00
PORTING Documentation updates. 2003-03-22 11:49:23 +00:00
README Merged documentation updates in 1.0 into mainline. 2003-07-19 22:12:54 +00:00
TODO Merged documentation updates in 1.0 into mainline. 2003-07-19 22:12:54 +00:00
acinclude.m4 Added check for inet_aton and a simple implementation for platforms 2004-03-10 20:35:03 +00:00
all.dsp Win32 project configuration fixes. 2003-04-16 20:59:25 +00:00
configure.in Added support for DPMS in X11 screen saver. DPMS is the extension 2004-03-10 22:03:01 +00:00
synergy.dsw Removed most HTTP stuff. It doesn't seem like the appropriate 2004-02-01 20:56:52 +00:00

README

Synergy
=======

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.  It's intended for users
with multiple computers on their desk since each system uses its
own display.

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.
Furthermore, it synchronizes screen savers so they all start and stop
together and, if screen locking is enabled, only one screen requires
a password to unlock them all.

Synergy is open source and released under the GNU Public License (GPL).

The synergy home page is:
http://synergy2.sourceforge.net/

The synergy project page is:
http://sourceforge.net/projects/synergy2/

Report bugs to:
http://sourceforge.net/tracker/?func=add&group_id=59275&atid=490467


Please see the following files for more information:
AUTHORS   -- The list of synergy's authors
BUGS      -- A list of known bugs and limitations
COPYING   -- The license synergy is release under
FAQ       -- Frequently asked questions about synergy
HISTORY   -- A brief history of synergy
INSTALL   -- Detailed build and installation instructions
NEWS      -- News about the synergy project
PORTING   -- Porting guide for developers
TODO      -- List of things to add to synergy


System Requirements
-------------------

* All operating systems:
  keyboard,
  mouse,
  TCP/IP networking;

* Microsoft Windows 95, Windows 98, Windows Me (the Windows 96 family);

* Microsoft Windows NT, Windows 2000, Windows XP (the Windows NT family);

* Unix:
  X Windows version 11 revision 4 or up with the XTEST extension
    (use `xdpyinfo | grep XTEST' to check for XTEST).

In this document, "Unix" means any of the following:  Linux, Solaris,
Irix.  Synergy may compile and run on other Unix variants, too.  Patches
for other platforms are welcome (including patches that package binaries);
See the contact information available off of the synergy home page or use
the patch page on sourceforge.


Installation
------------

See INSTALL for detailed build and installation instructions and for
more information on configuring synergy.


Quick Start
-----------
Synergy lets you use one keyboard and mouse across multiple computers.
To do so it requires that all the computers are connected to each other
via TCP/IP networking.  Most systems come with this installed.

The first step is to pick which keyboard and mouse you want to share.
The computer with that keyboard and mouse is called the "primary
screen" and it runs the synergy server.  All of the other computers
are "secondary screens" and run the synergy client.  The Windows NT
family, starting with NT 4 with service pack 3, and Unix are the best
choices.  The Windows version provides a convenient GUI for
configuration.

Second, you install the software.  Choose the appropriate package
and install it.  On Windows you should unzip the files into the
`Program Files' directory;  all the files will be put into a new
directory named `Synergy' under `Program Files'.  You must install
the software on all the computers that will share the mouse and
keyboard.

Third, you configure and start the server.
  Windows
  -------
  Run `synergy' by double clicking on it.  This brings up a dialog.
  Configure the server:

  * Click the `Server' radio button
  * Click `Add' to add the server to the `Screens' list
    * Enter the name of server (the computer name is recommended)
    * Enter other names the server is known by
    * Click OK
  * Use `Add' to add your other computers
    * Using a computer's name as its screen name is recommended
  * Use the controls under `Layout' to link screens together
    * Click (once) on the server's name in the `Screens' list
    * Choose the screen to the left of the server
      * Use `---' if there is no screen to the left of the server
    * Choose the screens to the right, above and below the server
    * Repeat the above steps for all the other screens
  * Use `Options...' to set desired options.
  * If the server's screen name is not the server's computer name:
    * Click `Advanced...'
    * Enter the server's screen name next to `Screen Name'
    * Click `OK'

  Now click `Test'.  The server will start and you'll see a console window
  with log messages telling you about synergy's progress.  If an error
  occurs you'll get a dialog box telling you synergy is about to quit;
  read the log messages to determine the problem then correct it and try
  `Test' again.

  Unix
  ----
  Create a text file named synergy.conf with the following:

	section: screens
	   <screen1>:
	   <screen2>:
	end
	section: links
	   <screen1>:
		   right = <screen2>
	   <screen2>:
		   left = <screen1>
	end

  Replace each occurrence of `<screen1>' with the host name of the
  primary screen computer and `<screen2>' with the host name of a
  secondary screen computer.  In the above example, <screen2> is to
  the right of <screen1> and <screen1> is to the left of <screen2>.
  If necessary you should replace `right' and `left' with `left',
  `right', 'up', or `down'.  If you have more than two computers
  you can add those too:  add each computer's host name in the
  `screens' section and add the appropriate links.

  Now start the server.  Normally synergy wants to run "in the
  background."  It detaches from the terminal and doesn't have a
  visible window, effectively disappearing from view.  Until you're
  sure your configuration works you should start synergy "in the
  foreground" using the `-f' command line option:

    synergys -f --config synergy.conf

  Check the reported messages for errors.  Use ctrl+c to stop synergy,
  correct any problems, and start it again.

Finally, start the clients.
  Windows
  -------
  Run `synergy' on the client by double clicking on it.  Configure the
  client:

  * Click the `Client' radio button
  * Enter the server's computer name in `Server Host Name'
    * Do not use any of the server's screen names, unless one of those
      is also the computer name
  * If the client's screen name is not the client's computer name:
    * Click `Advanced...'
    * Enter the client's screen name next to `Screen Name'
    * Click `OK'
  * Click `Test'

  If an error occurs you'll get a dialog box telling you synergy is
  about to quit;  read the log messages to determine the problem then
  correct it and try `Test' again.

  Unix
  ----

  To start a client, enter the following:

	synergyc -f <server-host-name>

  where `<server-host-name>' is replaced by the name of the computer
  running the synergy server.  If an error is reported use ctrl+c to
  stop synergy, fix the error, and try again.

Both the client and server should immediately report the connection
or an error.  If successful, you should now be able to move the
mouse off the appropriate edge of your server's screen and have it
appear on the client's screen.  If you're running the synery server
on Windows 95, 98, or Me then make sure the synergy log window is
not the active window;  just click on another window, like synergy's
`Running Test...' window, if it is.  Use the mouse and keyboard
normally except use the edge of the screens to jump to other screens.
You can also cut-and-paste across computers.  Currently, only text
transfers between computers.  Start the remaining clients.

Once the configuration is verified, see the instructions in INSTALL
under `Starting Automatically on ...' for details on running synergy
in the background and on starting synergy automatically when you start
your computers.


Tips and Tricks
---------------
* Be aware that not all keystrokes can be handled by synergy.  In
  particular, ctrl+alt+del is not handled.  However, synergy can
  convert ctrl+alt+pause into ctrl+alt+del on the client side.
  (Synergy must be installed as a service on the client for this to
  work on the Windows NT family.)  Some non-standard keys may not
  work, especially "multimedia" buttons, though several are
  correctly handled.

* A screen can be its own neighbor.  That allows a screen to "wrap".
  For example, if a configuration linked the left and right sides of
  a screen to itself then moving off the left of the screen would put
  the mouse at the right of the screen and vice versa.

* You cannot switch screens when a key or mouse button is pressed.

* You cannot switch screens when the scroll lock it toggled on.  Use
  this to prevent unintentional switching.

* Turn off mouse driven virtual desktop switching on X windows.  It
  will interfere with synergy.  Use keyboard shortcuts instead.

* Synergy's screen saver synchronization works best with xscreensaver
  under X windows.  Synergy works better with xscreensaver if it is
  using one of the screen saver extensions.  Prior to xscreensaver 4.0
  you can use `-mit-extension', `-sgi-extension', or `-xidle-extension'
  command line options to enable an extension (assuming your server has
  the extension).  Starting with 4.0 you must enable the corresponding
  option in your .xscreensaver file.

* Synergy automatically converts newlines in clipboard text (Unix
  expects \n to end each line while Windows expects \r\n).

* Clients can be started and stopped at any time.  When a screen is
  not connected, the mouse will jump over that screen as if the mouse
  had moved all the way across it and jumped to the next screen.

* A client's keyboard and mouse are fully functional while synergy is
  running.  You can use them in case synergy locks up.

* Strong authentication and encryption is available by using SSH.  See
  the INSTALL file for more information.  Synergy does not otherwise
  provide secure communications and it should not be used on or over
  untrusted networks.

* Synergy doesn't work if a 16-bit Windows application has the focus
  on Windows 95/98/Me.  This is due to limitations of Windows.  One
  commonly used 16-bit application is the command prompt (command.exe)
  and this includes synergy's log window when running in test mode.


Bug Reports
-----------

Synergy is being improved all the time but we can only fix problems
that we know about.  Please let us know of any problems you encounter,
including confusing or unhelpful documentation.  File reports at:

  http://sourceforge.net/tracker/?func=add&group_id=59275&atid=490467