395 lines
17 KiB
HTML
395 lines
17 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
|
||
|
<meta name="keywords" content="Virtual Screen, Open Source, Software" />
|
||
|
<meta name="description" content="Mouse and Keyboard Sharing" />
|
||
|
<link rel="stylesheet" type="text/css" href="synergy.css" media="screen" />
|
||
|
<title>Synergy User Guide</title>
|
||
|
</head>
|
||
|
<body class="main">
|
||
|
<p>
|
||
|
</p><h3>Running Synergy</h3><p>
|
||
|
</p><p>
|
||
|
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.
|
||
|
</p><p>
|
||
|
</p><h4>Step 1 - Choose a server</h4><p>
|
||
|
</p><p>
|
||
|
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.
|
||
|
</p><p>
|
||
|
</p><h4>Step 2 - Install the software</h4><p>
|
||
|
</p><p>
|
||
|
Second, you install the software. Choose the appropriate package
|
||
|
and install it. For example, on Windows you would run
|
||
|
<span class="code">SynergyInstaller</span>. You must install the
|
||
|
software on all the computers that will share the mouse and keyboard
|
||
|
(clients and server). On OS X you'll just have a folder with some
|
||
|
documentation and two programs. You can put this folder anywhere.
|
||
|
</p><p>
|
||
|
</p><h4>Step 3 - Configure and start the server</h4><p>
|
||
|
</p><p>
|
||
|
Next you configure the server. You'll tell synergy the name of
|
||
|
the primary and secondary screens, which screens are next to which,
|
||
|
and choose desired options. On Windows there's a dialog box for
|
||
|
setting the configuration. On other systems you'll create a simple
|
||
|
text file.
|
||
|
</p><p>
|
||
|
<a name="asymmetric"></a>
|
||
|
Note that when you tell synergy that screen <span class="code">A</span>
|
||
|
is to the left of screen <span class="code">B</span> this does <b>not</b>
|
||
|
imply that <span class="code">B</span> is to the right of
|
||
|
<span class="code">A</span>. You must explicitly indicate both
|
||
|
relations. If you don't do both then when you're running synergy you'll
|
||
|
find you're unable to leave one of the screens.
|
||
|
</p><p>
|
||
|
<b>Windows</b><br>
|
||
|
On Windows run synergy by double clicking on the
|
||
|
<span class="code">synergy</span> file. This brings up a dialog.
|
||
|
Configure the server:
|
||
|
<ul>
|
||
|
<li>Click the <span class="code">Share this computer's keyboard and mouse (server)</span> radio button
|
||
|
<li>Click the <span class="code">Screens & Links Configure...</span> button
|
||
|
<li>Click the <span class="code">+</span> button to add the server to the
|
||
|
<span class="code">Screens</span> list
|
||
|
<ul>
|
||
|
<li>Enter the name of server (the computer's name is the recommended name)
|
||
|
<li>Optionally enter other names the server is known by
|
||
|
<li>Click <span class="code">OK</span>
|
||
|
</ul>
|
||
|
<li>Use the <span class="code">+</span> button to add your other computers
|
||
|
<ul>
|
||
|
<li>Using a computer's name as its screen name is recommended
|
||
|
<li>Choose desired screen options on the <span class="code">Add Screen</span> dialog
|
||
|
</ul>
|
||
|
<li>Use the controls under <span class="code">Links</span> to link screens together
|
||
|
<ul>
|
||
|
<li>Click (once) on the server's name in the <span class="code">Screens</span> list
|
||
|
<li>Choose the screen to the left of the server; use <span class="code">---</span>
|
||
|
if there is no screen to the left of the server
|
||
|
<li>Choose the screens to the right, above and below the server
|
||
|
<li>Repeat the above steps for all the other screens
|
||
|
</ul>
|
||
|
<li>Click <span class="code">OK</span> to close the <span class="code">Screens & Links</span> dialog
|
||
|
<li>Use <span class="code">Options...</span> to set desired options
|
||
|
<li>If the server's screen name is not the server's computer name:
|
||
|
<ul>
|
||
|
<li>Click <span class="code">Advanced...</span>
|
||
|
<li>Enter the server's screen name next to
|
||
|
<span class="code">Screen Name</span>
|
||
|
<li>Click <span class="code">OK</span>
|
||
|
</ul>
|
||
|
</ul>
|
||
|
</p><p>
|
||
|
Now click <span class="code">Test</span>. 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 one or more dialog boxes telling
|
||
|
you what the errors are; read the errors to determine the problem then
|
||
|
correct them and try <span class="code">Test</span> again. See Step 5
|
||
|
for typical errors.
|
||
|
</p><p>
|
||
|
<b>Unix or Mac OS X</b><br>
|
||
|
Create a text file named <span class="code">synergy.conf</span> with the
|
||
|
following:
|
||
|
<pre>
|
||
|
section: screens
|
||
|
<span class="arg">screen1</span>:
|
||
|
<span class="arg">screen2</span>:
|
||
|
end
|
||
|
section: links
|
||
|
<span class="arg">screen1</span>:
|
||
|
right = <span class="arg">screen2</span>
|
||
|
<span class="arg">screen2</span>:
|
||
|
left = <span class="arg">screen1</span>
|
||
|
end
|
||
|
</pre>
|
||
|
Replace each occurrence of <span class="arg">screen1</span> with the host name
|
||
|
of the primary screen computer (as reported by the
|
||
|
<span class="code">hostname</span> program) and <span class="arg">screen2</span>
|
||
|
with the host name of a secondary screen computer. In the above example,
|
||
|
<span class="arg">screen2</span> is to the right of
|
||
|
<span class="arg">screen1</span> and <span class="arg">screen1</span> is to the
|
||
|
left of <span class="arg">screen2</span>. If necessary you should replace
|
||
|
<span class="code">right</span> and <span class="code">left</span> with
|
||
|
<span class="code">left</span>, <span class="code">right</span>,
|
||
|
<span class="code">up</span>, or <span class="code">down</span>. If you
|
||
|
have more than two computers you can add those too: add each computer's host
|
||
|
name in the <span class="code">screens</span> section and add the
|
||
|
appropriate links. See the <a href="configuration.html">configuration
|
||
|
guide</a> for more configuration possibilities.
|
||
|
</p><p>
|
||
|
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 <span class="code">-f</span>
|
||
|
command line option.
|
||
|
</p><p>
|
||
|
On unix type the command below in a shell. If synergys is not in your
|
||
|
PATH then use the full pathname.
|
||
|
<pre>
|
||
|
synergys -f --config synergy.conf
|
||
|
</pre>
|
||
|
On OS X open Terminal in the Utilities folder in the Applications folder.
|
||
|
Drag the synergys program from the synergy folder onto the Terminal window.
|
||
|
The path to the synergys program will appear. Add the following to the
|
||
|
same line, type a space at the end of the line but don't press enter:
|
||
|
<pre>
|
||
|
-f --config
|
||
|
</pre>
|
||
|
Now drag the synergy.conf file onto the Terminal window and press enter.
|
||
|
Check the reported messages for errors. Use ctrl+c to stop synergy if
|
||
|
it didn't stop automatically, correct any problems, and start it again.
|
||
|
</p><p>
|
||
|
</p><h4>Step 4 - Start the clients</h4><p>
|
||
|
</p><p>
|
||
|
Next you start the client on each computer that will share the server's
|
||
|
keyboard and mouse.
|
||
|
</p><p>
|
||
|
<b>Windows</b><br>
|
||
|
On Windows run synergy by double clicking on the
|
||
|
<span class="code">synergy</span> file. This brings up a dialog.
|
||
|
Configure the client:
|
||
|
<ul>
|
||
|
<li>Click the <span class="code">Use another computer's shared keyboard and mouse (client)</span> radio button
|
||
|
<li>Enter the server's computer name next to <span class="code">Other Computer's Host Name</span>
|
||
|
<ul>
|
||
|
<li>This is not the server's screen name, unless you made that the
|
||
|
server's host name as recommended
|
||
|
</ul>
|
||
|
<li>If the client's screen name is not the client's computer name:
|
||
|
<ul>
|
||
|
<li>Click <span class="code">Advanced...</span>
|
||
|
<li>Enter the client's screen name next to <span class="code">Screen Name</span>
|
||
|
<li>Click <span class="code">OK</span>
|
||
|
</ul>
|
||
|
</ul>
|
||
|
</p><p>
|
||
|
Now click <span class="code">Test</span>.
|
||
|
</p><p>
|
||
|
<b>Unix or Mac OS X</b><br>
|
||
|
To start a client on unix, enter the following:
|
||
|
<pre>
|
||
|
synergyc -f <span class="arg">server-host-name</span>
|
||
|
</pre>
|
||
|
where <span class="arg">server-host-name</span> is replaced by the host
|
||
|
name of the computer running the synergy server. If synergyc is not in
|
||
|
your PATH then use the full pathname.
|
||
|
</p><p>
|
||
|
On OS X open Terminal in the Utilities folder in the Applications folder.
|
||
|
Drag the synergyc program from the synergy folder onto the Terminal window.
|
||
|
The path to the synergys program will appear. Add the following to the
|
||
|
same line and press enter:
|
||
|
<pre>
|
||
|
-f <span class="arg">server-host-name</span>
|
||
|
</pre>
|
||
|
</p><p>
|
||
|
When you added the client to the server's configuration you chose a
|
||
|
name for the client. If that name was not client's host name then
|
||
|
you must tell the client the name you used. Instead of the above
|
||
|
command use this instead:
|
||
|
<pre>
|
||
|
synergyc -f --name <span class="arg">name</span> <span class="arg">server-host-name</span>
|
||
|
</pre>
|
||
|
where <span class="arg">name</span> is the name for the client in
|
||
|
the server's configuration. (On OS X drag the synergyc program to the
|
||
|
Terminal window rather than typing synergyc.)
|
||
|
</p><p>
|
||
|
</p><h4>Step 5 - Test</h4><p>
|
||
|
</p><p>
|
||
|
Clients should immediately report a successful connection or one or
|
||
|
more error messages. Some typical problems and possible solutions are
|
||
|
below. See the <a href="trouble.html">troubleshooting</a> and the
|
||
|
<a href="faq.html">FAQ</a> pages for more help.
|
||
|
<ul>
|
||
|
<li>failed to open screen (X11 only)
|
||
|
</p><p>
|
||
|
Check permission to open the X display;<br>
|
||
|
check that the DISPLAY environment variable is set<br>
|
||
|
use the <span class="code">--display</span> command line option.
|
||
|
</p><p>
|
||
|
<li>address already in use
|
||
|
</p><p>
|
||
|
Another program (maybe another copy of synergy) is using the synergy port;
|
||
|
stop the other program or choose a different port in the
|
||
|
<span class="code">Advanced...</span> dialog. If you change the port
|
||
|
you must make the same change on all of the clients, too.
|
||
|
</p><p>
|
||
|
<li>connection forcefully rejected
|
||
|
</p><p>
|
||
|
The synergy client successfully contacted the server but synergy wasn't
|
||
|
running or it's running on a different port. You may also see this if
|
||
|
there's a firewall blocking the host or port. Make sure synergy is
|
||
|
running on the server and check for a firewall.
|
||
|
</p><p>
|
||
|
<li>already connected
|
||
|
</p><p>
|
||
|
Check that the synergy client isn't already running.
|
||
|
</p><p>
|
||
|
<li>refused client
|
||
|
</p><p>
|
||
|
Add the client to the server's configuration file.
|
||
|
</p><p>
|
||
|
<li>connection timed out
|
||
|
</p><p>
|
||
|
Check that <span class="arg">server-host-name</span> is correct.<br>
|
||
|
Check that you don't have a firewall blocking the server or synergy port.
|
||
|
</p><p>
|
||
|
<li>connection failed
|
||
|
</p><p>
|
||
|
Check that <span class="arg">server-host-name</span> is correct.
|
||
|
</p><p>
|
||
|
</ul>
|
||
|
If you get the error "<span class="code">Xlib: No protocol specified</span>"
|
||
|
you're probably running synergy as root while logged in as another user.
|
||
|
X11 may prevent this for security reasons. Either run synergy as the same
|
||
|
user that's logged in or (not recommended) use
|
||
|
<nobr>"<span class="code">xhost +</span>"</nobr> to allow anyone to connect
|
||
|
to the display.
|
||
|
</p><p>
|
||
|
When successful you should be able to move the mouse off the appropriate
|
||
|
edges of your server's screen and have it appear on a client screen.
|
||
|
Try to move the mouse to each screen and check all the configured links.
|
||
|
Check the mouse buttons and wheel and try the keyboard on each client.
|
||
|
You can also cut-and-paste text, HTML, and images across computers (HTML
|
||
|
and images are not supported on OS X yet).
|
||
|
</p><p>
|
||
|
</p><h4>Step 6 - Run</h4><p>
|
||
|
</p><p>
|
||
|
Once everything works correctly, stop all the clients then the server.
|
||
|
Then start the server with the <span class="code">Start</span> button
|
||
|
on Windows and without the <span class="code">-f</span> option on Unix
|
||
|
and Mac OS X. Finally start the clients similarly. On Windows before
|
||
|
clicking <span class="code">Start</span> you may want to set the
|
||
|
<span class="code">Logging Level</span> to
|
||
|
<span class="code">Warning</span> so the logging window doesn't pop
|
||
|
up (because you currently can't close it, just minimize it).
|
||
|
</p><p>
|
||
|
You can also configure synergy to start automatically when your computer
|
||
|
starts or when you log in. See the <a href="autostart.html">autostart
|
||
|
guide</a> for more information.
|
||
|
</p><p>
|
||
|
</p><h4><a name="options"></a>Command Line Options Guide</h4><p>
|
||
|
</p><p>
|
||
|
<b><a name="commonOptions"></a>Common Command Line Options</b><br>
|
||
|
The following options are supported by <span class="code">synergys</span>
|
||
|
and <span class="code">synergyc</span>.
|
||
|
<table>
|
||
|
<tr>
|
||
|
<td> </td><td><span class="code">-d,</span></td>
|
||
|
<td><span class="code">--debug <span class="arg">level</span></span></td>
|
||
|
<td> </td><td>use debugging level <span class="arg">level</span></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td> </td><td><span class="code"></span></td>
|
||
|
<td><span class="code">--daemon</span></td>
|
||
|
<td></td><td>run as a daemon (Unix) or background (Windows)</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td> </td><td><span class="code">-f,</span></td>
|
||
|
<td><span class="code">--no-daemon</span></td>
|
||
|
<td></td><td>run in the foreground</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td> </td><td><span class="code"> </span></td>
|
||
|
<td><span class="code">--display <span class="arg">display</span></span></td>
|
||
|
<td> </td><td>connect to X server at <span class="arg">display</span> (X11 only)</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td> </td><td><span class="code">-n,</span></td>
|
||
|
<td><span class="code">--name <span class="arg">name</span></span></td>
|
||
|
<td></td><td>use <span class="arg">name</span> instead of the hostname</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td> </td><td><span class="code"></span></td>
|
||
|
<td><span class="code">--restart</span></td>
|
||
|
<td></td><td>automatically restart on failures</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td> </td><td><span class="code">-1,</span></td>
|
||
|
<td><span class="code">--no-restart</span></td>
|
||
|
<td></td><td>do not restart on failure</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td> </td><td><span class="code">-h,</span></td>
|
||
|
<td><span class="code">--help</span></td>
|
||
|
<td></td><td>print help and exit</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td> </td><td><span class="code"></span></td>
|
||
|
<td><span class="code">--version</span></td>
|
||
|
<td></td><td>print version information and exit</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</p><p>
|
||
|
Debug levels are from highest to lowest: <span class="code">FATAL</span>,
|
||
|
<span class="code">ERROR</span>, <span class="code">WARNING</span>,
|
||
|
<span class="code">NOTE</span>, <span class="code">INFO</span>,
|
||
|
<span class="code">DEBUG</span>, <span class="code">DEBUG1</span>, and
|
||
|
<span class="code">DEBUG2</span>. Only messages at or above the given
|
||
|
level are logged. Messages are logged to a terminal window when
|
||
|
running in the foreground. Unix logs messages to syslog when running
|
||
|
as a daemon. The Windows NT family logs messages to the event log
|
||
|
when running as a service. The Windows 95 family shows FATAL log
|
||
|
messages in a message box and others in a terminal window when running
|
||
|
as a service.
|
||
|
</p><p>
|
||
|
The <span class="code">--name</span> option lets the client or server
|
||
|
use a name other than its hostname for its screen. This name is used
|
||
|
when checking the configuration.
|
||
|
</p><p>
|
||
|
Neither the client nor server will automatically restart if an error
|
||
|
occurs that is sure to happen every time. For example, the server
|
||
|
will exit immediately if it can't find itself in the configuration.
|
||
|
On X11 both the client and server will also terminate if the
|
||
|
connection to the X server is lost (usually because it died).
|
||
|
</p><p>
|
||
|
<b>Server Command Line Options</b><br>
|
||
|
</p><p>
|
||
|
<pre>
|
||
|
synergys [options]
|
||
|
</pre>
|
||
|
The server accepts the <a href="#commonOptions">common options</a> and:
|
||
|
</p><p>
|
||
|
<table>
|
||
|
<tr>
|
||
|
<td> </td><td><span class="code">-a,</span></td>
|
||
|
<td><span class="code">--address <span class="arg">address</span></span></td>
|
||
|
<td> </td><td>listen for connections on address <span class="arg">address</span></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td> </td><td><span class="code">-c,</span></td>
|
||
|
<td><span class="code">--config <span class="arg">pathname</span></span></td>
|
||
|
<td> </td><td>read configuration from <span class="arg">pathname</span></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</p><p>
|
||
|
<span class="arg">address</span> has one of the following forms:
|
||
|
<pre>
|
||
|
<span class="arg">hostname</span>
|
||
|
:<span class="arg">port</span>
|
||
|
<span class="arg">hostname</span>:<span class="arg">port</span>
|
||
|
</pre>
|
||
|
<span class="arg">hostname</span> is a hostname or IP address of a network
|
||
|
interface on the server system (e.g. <span class="code">somehost</span>
|
||
|
or <span class="code">192.168.1.100</span>). <span class="arg">port</span>
|
||
|
is a port number from 1 to 65535. <span class="arg">hostname</span> defaults to
|
||
|
the system's hostname and <span class="arg">port</span> defaults to 24800.
|
||
|
</p><p>
|
||
|
<b>Client Command Line Options</b><br>
|
||
|
</p><p>
|
||
|
<pre>
|
||
|
synergyc [options] <span class="arg">address</span>[:<span class="arg">port</span>]
|
||
|
</pre>
|
||
|
<span class="arg">address</span> is the hostname or IP address of
|
||
|
the server and <span class="arg">port</span> is the optional network
|
||
|
port on the server to connect to. The client accepts the
|
||
|
<a href="#commonOptions">common options</a>.
|
||
|
</p>
|
||
|
</body>
|
||
|
|
||
|
</html>
|