barrier/doc/running.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 &amp; 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 &amp; 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>&nbsp;</td><td><span class="code">-d,</span></td>
<td><span class="code">--debug <span class="arg">level</span></span></td>
<td>&nbsp;&nbsp;</td><td>use debugging level <span class="arg">level</span></td>
</tr>
<tr>
<td>&nbsp;</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>&nbsp;</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>&nbsp;</td><td><span class="code">&nbsp;</span></td>
<td><span class="code">--display <span class="arg">display</span></span></td>
<td>&nbsp;&nbsp;</td><td>connect to X server at <span class="arg">display</span> (X11 only)</td>
</tr>
<tr>
<td>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</td><td><span class="code">-a,</span></td>
<td><span class="code">--address <span class="arg">address</span></span></td>
<td>&nbsp;&nbsp;</td><td>listen for connections on address <span class="arg">address</span></td>
</tr>
<tr>
<td>&nbsp;</td><td><span class="code">-c,</span></td>
<td><span class="code">--config <span class="arg">pathname</span></span></td>
<td>&nbsp;&nbsp;</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>