mirror of
https://github.com/debauchee/barrier.git
synced 2024-12-27 13:16:11 +03:00
Updated documentation. Converted most documation to HTML.
This commit is contained in:
parent
1623701fc9
commit
4be61c3817
7
AUTHORS
7
AUTHORS
@ -1,7 +0,0 @@
|
||||
Synergy Authors
|
||||
===============
|
||||
|
||||
Chris Schoeneman <crs23@bigfoot.com> -- Creator, owner, X11, Win32
|
||||
Ryan Breen <ryan@ryanbreen.com> -- Initial Mac OS X port
|
||||
Guido Poschta <moolder@gmx.net> -- Windows installer
|
||||
Bertrand Landry Hetu <bertrand@landryhetu.com> -- Mac OS X port
|
12
BUGS
12
BUGS
@ -1,12 +0,0 @@
|
||||
Known Bugs in Synergy
|
||||
=====================
|
||||
|
||||
View known bugs at:
|
||||
http://sourceforge.net/tracker/?group_id=59275&atid=490467
|
||||
|
||||
Report bugs at:
|
||||
http://sourceforge.net/tracker/?group_id=59275&atid=490467
|
||||
|
||||
When reporting bugs, please include the version of the operating
|
||||
system you're using (on the server and relevant clients) and what
|
||||
locales you use.
|
199
FAQ
199
FAQ
@ -1,199 +0,0 @@
|
||||
Synergy Frequently Asked Questions
|
||||
==================================
|
||||
|
||||
Questions
|
||||
---------
|
||||
1. Why doesn't ctrl+alt+del work on secondary screens?
|
||||
2. Can the server and client be using different operating systems?
|
||||
3. What's the difference between synergy and x2x, x2vnc, etc?
|
||||
4. What does "Cannot initialize hook library" mean?
|
||||
5. What security/encryption does synergy provide?
|
||||
6. What should I call my screens in the configuration?
|
||||
7. Why do my CapsLock and NumLock keys act funny?
|
||||
8. Can synergy share the display in addition to the mouse and keyboard?
|
||||
9. Can synergy do drag and drop between computers?
|
||||
10. Do AltGr or Mode-Switch or ISO_Level3_Shift work?
|
||||
11. Why isn't synergy ported to platform XYZ?
|
||||
12. My client can't connect. What's wrong?
|
||||
13. Linking fails on Solaris. What's wrong?
|
||||
14. The screen saver never starts. Why not?
|
||||
15. I can't switch screens anymore for no apparent reason. Why?
|
||||
16. I get the error 'Xlib: No protocol specified'. Why?
|
||||
17. The cursor goes to secondary screen but won't come back. Why?
|
||||
18. The cursor wraps from one edge of the screen to the opposite. Why?
|
||||
|
||||
Answers
|
||||
-------
|
||||
1. Why doesn't ctrl+alt+del work on secondary screens?
|
||||
|
||||
Synergy isn't able to capture ctrl+alt+del on PC compatible
|
||||
systems because it's handled completely differently than
|
||||
other keystrokes. However, when the mouse is on a client
|
||||
screen, pressing ctrl+alt+pause will simulate ctrl+alt+del
|
||||
on the client. (A client running on Windows NT, 2000, or XP
|
||||
must be running as a service for this to work.)
|
||||
|
||||
2. Can the server and client be using different operating systems?
|
||||
|
||||
Yes. The synergy network protocol is platform neutral so
|
||||
synergy doesn't care what operating systems are running on
|
||||
the server and clients.
|
||||
|
||||
3. What's the difference between synergy and x2x, x2vnc, etc?
|
||||
|
||||
Unlike x2x, synergy supports any number of computers and
|
||||
it doesn't require X on Microsoft Windows platforms. It
|
||||
also has more advanced clipboard support and synchronizes
|
||||
screensavers. x2vnc is also limited to two computers,
|
||||
requires the separate vnc package, and is really only
|
||||
appropriate for using an X system to control a non-X system.
|
||||
However, the right tool for the job is whatever tool works
|
||||
best for you.
|
||||
|
||||
4. What does "Cannot initialize hook library" mean?
|
||||
|
||||
This error can occur on a synergy server running on a
|
||||
Microsoft Windows operating system. It means that synergy
|
||||
is already running or possibly was not shut down properly.
|
||||
If it's running then first end the synergy task. If it's
|
||||
not then try logging off and back on or rebooting then
|
||||
starting synergy again.
|
||||
|
||||
5. What security/encryption does synergy provide?
|
||||
|
||||
Synergy provides no built-in encryption or authentication.
|
||||
Given that, synergy should not be used on or over any untrusted
|
||||
network, especially the Internet. It's generally fine for home
|
||||
networks. Future versions may provide built-in encryption and
|
||||
authentication.
|
||||
|
||||
Strong encryption and authentication is available through SSH
|
||||
(secure shell). Run the SSH daemon (i.e. server) on the same
|
||||
computer that you run the synergy server. It requires no
|
||||
special configuration to support synergy. On each synergy
|
||||
client system, run SSH with port forwarding:
|
||||
|
||||
ssh -f -N -L 24800:<server-hostname>:24800 <server-hostname>
|
||||
|
||||
where <server-hostname> is the name of the SSH/synergy server.
|
||||
Once ssh authenticates itself, start the synergy client
|
||||
normally except use `localhost' or `127.0.0.1' as the server's
|
||||
address. SSH will then encrypt all communication on behalf of
|
||||
synergy. Authentication is handled by the SSH authentication.
|
||||
|
||||
A free implementation of SSH for Linux and many Unix systems
|
||||
called OpenSSH is available from http://www.openssh.com/. For
|
||||
Windows there's a port of OpenSSH using Cygwin
|
||||
(http://www.cygwin.com/).
|
||||
|
||||
6. What should I call my screens in the configuration?
|
||||
|
||||
You can use any unique name in the configuration file for each
|
||||
screen but it's easiest to use the hostname of the computer.
|
||||
That's the computer name not including the domain. For example,
|
||||
a computer with the fully qualified domain name `xyz.foo.com' has
|
||||
the hostname `xyz'. There should also be an alias for `xyz' to
|
||||
`xyz.foo.com'. If you don't use the computer's hostname, you
|
||||
have to tell synergy the name of the screen using a command line
|
||||
option, or the startup dialog on Windows.
|
||||
|
||||
7. Why do my CapsLock and NumLock keys act funny?
|
||||
|
||||
Some systems treat the Caps-Lock and Num-Lock keys differently
|
||||
than all the others. Whereas most keys report going down when
|
||||
physically pressed and going up when physically released, on
|
||||
these systems the Caps-Lock and Num-Lock keys report going down
|
||||
when being activated and going up when being deactivated. That
|
||||
is, when you press and release, say, Caps-Lock to activate it, it
|
||||
only reports going down, and when you press and release to
|
||||
deactivate it, it only reports going up. This confuses synergy.
|
||||
|
||||
You can solve the problem by changing your configuration file.
|
||||
In the screens section, following each screen that has the
|
||||
problem, add either or both of these lines as appropriate:
|
||||
|
||||
halfDuplexCapsLock = true
|
||||
halfDuplexNumLock = true
|
||||
|
||||
Then restart synergy on the server.
|
||||
|
||||
8. Can synergy share the display in addition to the mouse and keyboard?
|
||||
|
||||
No. Synergy is a KM solution not a KVM (keyboard, video, mouse)
|
||||
solution. However, future versions will probably support KVM.
|
||||
Hopefully, this will make synergy suitable for managing large
|
||||
numbers of headless servers.
|
||||
|
||||
9. Can synergy do drag and drop between computers?
|
||||
|
||||
No. That's a very cool idea and it'll be explored. However, it's
|
||||
also clearly difficult and may take a long time to implement.
|
||||
|
||||
10. Does AltGr/Mode-Switch/ISO_Level3_Shift work?
|
||||
|
||||
Yes, as of 1.0.12 synergy has full support for AltGr/Mode-switch.
|
||||
That includes support for most (all?) European keyboard layouts.
|
||||
All systems should be using the same keyboard layout, though, for
|
||||
all characters to work. (Any character missing from a client's
|
||||
layout cannot be generated by synergy.) There is experimental
|
||||
support for ISO_Level3_Shift in 1.1.3.
|
||||
|
||||
11. Why isn't synergy ported to platform XYZ?
|
||||
|
||||
Probably because the developers don't have access to platform XYZ
|
||||
and/or are unfamiliar with development on XYZ. Also, synergy has
|
||||
inherently non-portable aspects so there's a not insignificant
|
||||
effort involved in porting.
|
||||
|
||||
12. My client can't connect. What's wrong?
|
||||
|
||||
A common mistake when starting the client is to give the wrong
|
||||
server host name. The last synergyc command line option (Unix)
|
||||
or the "Server Host Name" edit field (Windows) should be the
|
||||
host name (or IP address) of the server *not* the client's host
|
||||
name. If you get the error "connection failed: cannot connect
|
||||
socket" followed by "the attempt to connect was forcefully
|
||||
rejected" or "connection refused" then the server isn't started,
|
||||
can't bind the address, or the client is connecting to the wrong
|
||||
host name/address or port.
|
||||
|
||||
13. Linking fails on Solaris. What's wrong?
|
||||
|
||||
Did you add `--x-includes=/usr/openwin/include
|
||||
--x-libraries=/usr/openwin/lib' (without the linebreak) to the
|
||||
`configure' command line? Solaris puts the X11 includes and
|
||||
libraries in an unusual place and the above lets synergy find
|
||||
them.
|
||||
|
||||
14. The screen saver never starts. Why not?
|
||||
|
||||
If the synergy server is on X Windows then the screen saver will
|
||||
not start while the mouse is on a client screen. This is a
|
||||
consequence of how X Windows, synergy and xscreensaver work.
|
||||
|
||||
15. I can't switch screens anymore for no apparent reason. Why?
|
||||
|
||||
This should not happen with 1.1.3 and up. Earlier versions of
|
||||
synergy would not allow switching screens when a key was down and
|
||||
sometimes it would believe a key was down when it was not.
|
||||
|
||||
16. I get the error 'Xlib: No protocol specified'. Why?
|
||||
|
||||
You're running synergy without authorization to connect to the
|
||||
X display. Typically the reason is running synergy as root when
|
||||
logged in as non-root. Just run synergy as the same user that's
|
||||
logged in.
|
||||
|
||||
17. The cursor goes to secondary screen but won't come back. Why?
|
||||
|
||||
Your configuration is incorrect. You must indicate the neighbors
|
||||
of every screen. Just because you've configured 'Apple' to be to
|
||||
the left of 'Orange' does not mean that 'Orange' is to the right
|
||||
of 'Apple'. You must provide both in the configuration.
|
||||
|
||||
18. The cursor wraps from one edge of the screen to the opposite. Why?
|
||||
|
||||
Because you told it to. If you list 'Orange' to be to the left of
|
||||
'Orange' then moving the mouse off the left edge of 'Orange' will
|
||||
make it jump to the right edge. Remove the offending line from the
|
||||
configuration if you don't want that behavior.
|
656
INSTALL
656
INSTALL
@ -1,656 +0,0 @@
|
||||
Synergy Installation Instructions
|
||||
=================================
|
||||
|
||||
Prerequisites for building
|
||||
--------------------------
|
||||
|
||||
To build synergy from the sources you'll need the following:
|
||||
|
||||
Windows:
|
||||
* VC++ 6.0 or up
|
||||
|
||||
Unix:
|
||||
* gcc 2.95 (or up)
|
||||
* X11R4 or up headers and libraries
|
||||
|
||||
Mac OS X:
|
||||
* XCode; or gcc 2.95 (or up) and make
|
||||
|
||||
In this document, "Unix" means any of the supported Unix or Unix-like
|
||||
(e.g. Linux) operating systems.
|
||||
|
||||
|
||||
Configuring the build
|
||||
---------------------
|
||||
|
||||
This step is only necessary when building on Unix or Mac OS X if not
|
||||
using XCode.
|
||||
|
||||
To configure the build for your platform use the configure script:
|
||||
|
||||
./configure
|
||||
|
||||
For a list of options to configure use:
|
||||
|
||||
./configure --help
|
||||
|
||||
On Solaris you may need to use:
|
||||
|
||||
./configure --x-includes=/usr/openwin/include --x-libraries=/usr/openwin/lib
|
||||
|
||||
so synergy can find the X11 includes and libraries.
|
||||
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
Windows:
|
||||
Start VC++ and open `synergy.dsw'. Set the active configuration
|
||||
(Build | Set Active Configuration) to `All - Debug' or `All - Release'
|
||||
then build. Binaries are built into ./debug or ./build.
|
||||
|
||||
Unix or Mac OS X without XCode:
|
||||
Simply enter:
|
||||
|
||||
make
|
||||
|
||||
This will build the client and server and leave them in their
|
||||
respective source directories.
|
||||
|
||||
Mac OS X with XCode:
|
||||
Start XCode and open the synery.xcode project. Build the 'all'
|
||||
project using the Deployment flavor.
|
||||
|
||||
|
||||
Installing
|
||||
----------
|
||||
|
||||
Windows:
|
||||
You'll need NSIS, the Nullsoft Scriptable Install System, available
|
||||
from http://nsis.sourceforge.net/. Build `All - Release' then build
|
||||
'Installer - Release'. This creates SynergyInstaller.exe in the top
|
||||
level directory. Run this to install.
|
||||
|
||||
Alternatively, you can simply copy the following files from the Debug
|
||||
or Release directory to a directory you choose (perhaps under the
|
||||
Program Files directory):
|
||||
|
||||
* synergy.exe
|
||||
* synergyc.exe
|
||||
* synergys.exe
|
||||
* synrgyhk.dll
|
||||
|
||||
Unix or Mac OS X without XCode:
|
||||
make install
|
||||
|
||||
will install the client and server into /usr/local/bin unless you
|
||||
specified a different directory when you ran configure.
|
||||
|
||||
Mac OS X with XCode:
|
||||
Copy the following files from ./build to a convenient location:
|
||||
|
||||
* synergyc
|
||||
* synergys
|
||||
|
||||
See `Starting Automatically on ...' below for details on how to have
|
||||
synergy start up automatically when the computer starts.
|
||||
|
||||
|
||||
Running on Windows
|
||||
------------------
|
||||
|
||||
Double click `synergy' on the server computer. The server is the
|
||||
computer that shares its mouse and keyboard. This brings up a
|
||||
dialog that lets you configure the server then test out the
|
||||
configuration or start the server.
|
||||
|
||||
First configure the server. Click the `Server' radio button
|
||||
|
||||
* Click the `Server' radio button
|
||||
* Click `Add' to add the server to the `Screens' list
|
||||
* Enter the name of server (the computer's 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
|
||||
* Choose desired screen options on the `Add' dialog
|
||||
* 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'
|
||||
* Click `Test'
|
||||
|
||||
Note that when you link screens together you must explictly link in both
|
||||
directions. For instance, if you have computer A on the left of B then
|
||||
you must indicate A is to the left of B *and* that B is to the right of
|
||||
A. If you don't do both then you'll find you're unable to leave one of
|
||||
the screens.
|
||||
|
||||
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 `Test' again.
|
||||
|
||||
Now that the server is running, you'll need to start a client. On any
|
||||
client computer, double click `synergy'. Of course, you'll need to
|
||||
have installed the four files listed under `Installing' above on the
|
||||
client computer. Then 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 all goes well, the client connects to the server successfully and
|
||||
the mouse and keyboard are shared. 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 `Test' again. When
|
||||
everything is working correctly, install the software on the other
|
||||
client computers (if any) and repeat the steps for configuring the
|
||||
client on each.
|
||||
|
||||
Once the clients and server are working you can stop the clients and
|
||||
server by clicking the `Stop' button on each computer or by right
|
||||
clicking on the tray icon (by the clock in the task bar) and choosing
|
||||
`Quit'. Then click `Start' on the server computer then on each of
|
||||
the clients. Synergy will start and the dialog window will close.
|
||||
You can stop synergy or check on its status using the tray icon.
|
||||
|
||||
See `Starting Automatically on Windows' below for configuring synergy
|
||||
to start automatically when the computer starts.
|
||||
|
||||
|
||||
Configuring the Server on Unix or Mac OS X
|
||||
------------------------------------------
|
||||
|
||||
The synergy server requires configuration. The configuration file is a
|
||||
plain text file broken into sections. Each section has the form:
|
||||
|
||||
section: <name>
|
||||
<args>
|
||||
end
|
||||
|
||||
Comments are introduced by `#' and continue to the end of the line.
|
||||
The file can have the following sections. The `screens' section must
|
||||
appear before the `links' and `aliases' sections. Use any text editor
|
||||
to create the configuration file.
|
||||
|
||||
* screens
|
||||
<args> 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.
|
||||
There must be a screen name for the server and each client.
|
||||
Each screen can specify a number of options. Options have the
|
||||
form `name = value' and a listed one per line after the screen
|
||||
name.
|
||||
|
||||
Example:
|
||||
|
||||
section: screens
|
||||
moe:
|
||||
larry:
|
||||
halfDuplexCapsLock = true
|
||||
halfDuplexNumLock = true
|
||||
curly:
|
||||
meta = alt
|
||||
end
|
||||
|
||||
This declares three screens named: moe, larry, and curly.
|
||||
Screen `larry' has half-duplex caps lock and num lock keys
|
||||
(see below) and screen `curly' converts the meta modifier key
|
||||
to the alt key.
|
||||
|
||||
Screen can have the following options:
|
||||
|
||||
halfDuplexCapsLock = {true|false}
|
||||
This computer has a caps lock key that doesn't report a
|
||||
press and a release event when the user presses it but
|
||||
instead reports a press event when it's turned on and a
|
||||
release event when it's turned off. If caps lock acts
|
||||
strangely on all screens then you may need this option
|
||||
on the server screen. If it acts strangely on one
|
||||
screen then that screen may need the option.
|
||||
|
||||
halfDuplexNumLock = {true|false}
|
||||
This is identical to halfDuplexCapsLock except it
|
||||
applies to the num lock key.
|
||||
|
||||
xtestIsXineramaUnaware = {true|false}
|
||||
This option works around a bug in the XTest extension
|
||||
when used in combination with Xinerama. It affects
|
||||
X11 clients only. Not all versions of the XTest
|
||||
extension are aware of the Xinerama extension. As a
|
||||
result, they do not move the mouse correctly when
|
||||
using multiple Xinerama screens. This option is
|
||||
currently true by default. If you know your XTest
|
||||
extension is Xinerama aware then set this option to
|
||||
false.
|
||||
|
||||
shift = {shift|ctrl|alt|meta|super|none}
|
||||
ctrl = {shift|ctrl|alt|meta|super|none}
|
||||
alt = {shift|ctrl|alt|meta|super|none}
|
||||
meta = {shift|ctrl|alt|meta|super|none}
|
||||
super = {shift|ctrl|alt|meta|super|none}
|
||||
Map a modifier key pressed on the server's keyboard to
|
||||
a different modifier on this client. This option only
|
||||
has an effect on a client screen; it's accepted and
|
||||
ignored on the server screen.
|
||||
|
||||
You can map, say, the shift key to shift (the default),
|
||||
ctrl, alt, meta, super or nothing. Normally, you
|
||||
wouldn't remap shift or ctrl. You might, however, have
|
||||
an X11 server with meta bound to the Alt keys. To use
|
||||
this server effectively with a windows client, which
|
||||
doesn't use meta but uses alt extensively, you'll want
|
||||
the windows client to map meta to alt (using `meta =
|
||||
alt').
|
||||
|
||||
* aliases
|
||||
<args> 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. So
|
||||
a client can connect using its canonical screen name or any
|
||||
of its aliases.
|
||||
|
||||
Example:
|
||||
|
||||
section: aliases
|
||||
larry:
|
||||
larry.stooges.com
|
||||
curly:
|
||||
shemp
|
||||
end
|
||||
|
||||
Screen `larry' is also known as `larry.stooges.com' and can
|
||||
connect as either name. Screen `curly' is also known as
|
||||
`shemp'. (Hey, it's just an example.)
|
||||
|
||||
* links
|
||||
<args> 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> =
|
||||
<name>'. A link indicates which screen is adjacent in the
|
||||
given direction.
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
section: links
|
||||
moe:
|
||||
right = larry
|
||||
up = curly
|
||||
larry:
|
||||
left = moe
|
||||
up = curly
|
||||
curly:
|
||||
down = larry
|
||||
end
|
||||
|
||||
This indicates that screen `larry' is to the right of screen
|
||||
`moe' (so moving the cursor off the right edge of moe would
|
||||
make it appear at the left edge of larry), `curly' is above
|
||||
'moe', `moe' is to the left of `larry', `curly' is above
|
||||
`larry', and `larry' is below `curly'. Note that links do
|
||||
not have to be symmetrical; moving up from moe then down
|
||||
from curly lands the cursor on larry.
|
||||
|
||||
* options
|
||||
<args> is a list of lines of the form `name = value'. These
|
||||
set the global options.
|
||||
|
||||
Example:
|
||||
|
||||
section: options
|
||||
heatbeat = 5000
|
||||
switchDelay = 500
|
||||
end
|
||||
|
||||
You can use the following options:
|
||||
|
||||
heartbeat = N
|
||||
The server will expect each client to send a message no
|
||||
less than every N milliseconds. If no message arrives
|
||||
from a client within 3N seconds the server forces that
|
||||
client to disconnect.
|
||||
|
||||
If synergy fails to detect clients disconnecting while
|
||||
the server is sleeping or vice versa, try using this
|
||||
option.
|
||||
|
||||
switchDelay = N
|
||||
Synergy won't switch screens when the mouse reaches the
|
||||
edge of a screen unless it stays on the edge for N
|
||||
milliseconds. This helps prevent unintentional
|
||||
switching when working near the edge of a screen.
|
||||
|
||||
switchDoubleTap = N
|
||||
Synergy won't switch screens when the mouse reaches the
|
||||
edge of a screen unless it's moved away from the edge
|
||||
and then back to the edge within N milliseconds. With
|
||||
the option you have to quickly tap the edge twice to
|
||||
switch. This helps prevent unintentional switching
|
||||
when working near the edge of a screen.
|
||||
|
||||
screenSaverSync = {true|false}
|
||||
If set to false then synergy won't synchronize screen
|
||||
savers. Client screen savers will start according to
|
||||
their individual configurations. The server screen
|
||||
saver won't start if there is input, even if that input
|
||||
is directed toward a client screen.
|
||||
|
||||
relativeMouseMoves = {true|false}
|
||||
If set to true then secondary screens move the mouse
|
||||
using relative rather than absolute mouse moves when
|
||||
and only when Scroll Lock is toggled on (i.e. the cursor
|
||||
is locked to the screen). This is intended to make
|
||||
synergy work better with certain games. If set to
|
||||
false or not set then all mouse moves are absolute.
|
||||
|
||||
You can use both the switchDelay and switchDoubleTap options at
|
||||
the same time. Synergy will switch when either requirement is
|
||||
satisfied.
|
||||
|
||||
The synergy server will try certain pathnames to load the configuration
|
||||
file if the user doesn't specify a path using the `--config' command
|
||||
line option. `synergys --help' reports those pathnames.
|
||||
|
||||
|
||||
Running the Server on Unix or Mac OS X
|
||||
--------------------------------------
|
||||
|
||||
Run the server on the computer that has the keyboard and mouse to
|
||||
be shared. You must have prepared a configuration file before
|
||||
starting the server. The server should be started before the
|
||||
clients but that's not required.
|
||||
|
||||
Run the synergy server on the server system using the following
|
||||
command line:
|
||||
|
||||
synergys -f --config <config-pathname>
|
||||
|
||||
Replace <config-pathname> with the path to the configuration file.
|
||||
The `-f' option causes synergys to run in the foreground. This is
|
||||
recommended until you've verified that the configuration works.
|
||||
If you didn't include the system's hostname in the configuration
|
||||
file (either as a screen name or an alias) then you'll have to add
|
||||
`--name <screen-name>' to the command line, where <screen-name> is
|
||||
a name in the configuration file. You can use `synergys --help'
|
||||
for a list of command line options.
|
||||
|
||||
See `Starting Automatically on Unix' below for running synergy
|
||||
automatically when the X server starts.
|
||||
|
||||
|
||||
Running the Client on Unix or Mac OS X
|
||||
--------------------------------------
|
||||
|
||||
Run the client on all computers that aren't the server using the
|
||||
following command line:
|
||||
|
||||
synergyc -f --no-camp <server-hostname>
|
||||
|
||||
Replace <server-hostname> with the hostname or address of the
|
||||
server system. The `-f' option causes synergy to run in the
|
||||
foreground. The `--no-camp' prevents synergy from retrying to
|
||||
connect to the server until it succeeds. Both are recommended
|
||||
until you've verified that the configuration works. If you
|
||||
didn't include the system's hostname in the configuration file
|
||||
(either as a screen name or an alias) then you'll have to add
|
||||
`--name <screen-name>' to the command line, where <screen-name>
|
||||
is a name in the configuration file.
|
||||
|
||||
The client should quickly report `connected to server'. If it
|
||||
does not but doesn't print an error and exit immediately then
|
||||
it's trying to connect to the server but cannot. It will time
|
||||
out in 30 seconds and exit (use ctrl+c to exit earlier). You
|
||||
should check that the server is running and is reachable over
|
||||
the network and try again.
|
||||
|
||||
If the client fails and exits it should print an error describing
|
||||
the problem. Here are typical problems and possible solutions:
|
||||
|
||||
* failed to open screen:
|
||||
check permission to open the X display;
|
||||
check that the DISPLAY environment variable is set.
|
||||
* already connected:
|
||||
check that the synergy client isn't already running.
|
||||
* refused client:
|
||||
add client to the server's configuration file.
|
||||
* connection failed:
|
||||
check <server-hostname>;
|
||||
the server cannot open the desired port, stop the
|
||||
program using that port (24800) and restart the
|
||||
server.
|
||||
|
||||
If you get the error "Xlib: No protocol specified" 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 'xhost +' to allow
|
||||
anyone to connect to the display.
|
||||
|
||||
Once all the clients are running, try moving the mouse to each
|
||||
screen. Be sure to check all the configured links.
|
||||
|
||||
See `Starting Automatically on Unix' below for running synergy
|
||||
automatically when the X server starts.
|
||||
|
||||
|
||||
Starting Automatically on Windows
|
||||
---------------------------------
|
||||
|
||||
When all the clients work you're ready to have synergy start
|
||||
automatically each time the system (re)starts. Click `Stop' on all
|
||||
the clients then on the server'. Now click the `Configure...' button
|
||||
by the text `Automatic Startup'. The `Auto Start' dialog will pop up.
|
||||
If an error occurs then correct the problem and click `Configure'
|
||||
again.
|
||||
|
||||
On the `Auto Start' dialog you'll configure synergy to start
|
||||
automatically when the computer starts or when you log in. You can
|
||||
also configure synergy to not start automatically. You can only
|
||||
start synergy automatically when the computer starts if you have
|
||||
sufficient access rights. The dialog will let you know if you have
|
||||
sufficient permission.
|
||||
|
||||
If synergy is already configured to automatically start then there
|
||||
will be two `Uninstall' buttons, at most one of which is enabled.
|
||||
Click the enabled button, if any, to configure synergy to not start
|
||||
automatically.
|
||||
|
||||
If synergy is not configured to start automatically then there will
|
||||
be two `Install' buttons. If you have sufficient permission to
|
||||
have synergy start automatically when the computer does then the
|
||||
`Install' button in the `When Computer Starts' box will be enabled.
|
||||
Click it to have synergy start for all users when the computer starts.
|
||||
In this case, synergy will be available during the login screen.
|
||||
Otherwise, click the `Install' button in the `When You Log In' box
|
||||
to have synergy automatically start when you log in.
|
||||
|
||||
|
||||
Starting Automatically on Unix
|
||||
------------------------------
|
||||
|
||||
Synergy requires an X server. That means a server must be
|
||||
running and synergy must be authorized to connect to that server.
|
||||
It's best to have the display manager start synergy. You'll need
|
||||
the necessary (probably root) permission to modify the display
|
||||
manager configuration files. If you don't have that permission
|
||||
you can start synergy after logging in via the .xsession file.
|
||||
|
||||
Typically, you need to edit three script files. The first file
|
||||
will start synergy before a user logs in, the second will kill
|
||||
that copy of synergy, and the third will start it again after
|
||||
the user logs in.
|
||||
|
||||
The contents of the scripts varies
|
||||
greatly between systems so there's no one definite place where
|
||||
you should insert your edits. However, these scripts often exit
|
||||
before reaching the bottom so put the edits near the top of the
|
||||
script.
|
||||
|
||||
The location and names of these files depend on the operating
|
||||
system and display manager you're using. A good guess for the
|
||||
location is /etc/X11. Typical file names are:
|
||||
|
||||
xdm gdm
|
||||
--- ---
|
||||
1) xdm/Xsetup gdm/Init/Default (*)
|
||||
2) xdm/Xstartup gdm/PostLogin/Default (*)
|
||||
3) xdm/Xsession gdm/Sessions/Default (*, **)
|
||||
|
||||
*) The Default' file is used if no other suitable file is found.
|
||||
gdm will try <displayname> (e.g. ':0', ':1') and <hostname> (e.g.
|
||||
'somehost'), in that order, before and instead of 'Default'.
|
||||
**) gdm may use gdm/Xsession, xdm/Xsession or dm/Xsession if
|
||||
gdm/Sessions/Default doesn't exist.
|
||||
|
||||
For a synergy client, add the following to the first file:
|
||||
|
||||
/usr/bin/killall synergyc
|
||||
sleep 1
|
||||
/usr/bin/synergyc [<options>] <synergy-server-hostname>
|
||||
|
||||
Of course, the path to synergyc depends on where you installed it
|
||||
so adjust as necessary.
|
||||
|
||||
Add to the second file:
|
||||
|
||||
/usr/bin/killall synergyc
|
||||
sleep 1
|
||||
|
||||
And to the third file:
|
||||
|
||||
/usr/bin/killall synergyc
|
||||
sleep 1
|
||||
/usr/bin/synergyc [<options>] <synergy-server-hostname>
|
||||
|
||||
Note that <options> must not include '-f' or '--no-daemon' or
|
||||
the script will never exit and you won't be able to log in.
|
||||
|
||||
The changes are the same for the synergy server except replace
|
||||
'synergyc' with 'synergys' and use the appropriate synergys
|
||||
command line options. Note that the first script is run as root
|
||||
so synergys will look for the configuration file in root's home
|
||||
directory then in /etc. Make sure it exists in one of those
|
||||
places or use the '--config <config-pathname' option to specify
|
||||
its location.
|
||||
|
||||
Note that some display managers (xdm and kdm, but not gdm) grab
|
||||
the keyboard and do not release it until the user logs in for
|
||||
security reasons. This prevents a synergy server from sharing
|
||||
the mouse and keyboard until the user logs in. It doesn't
|
||||
prevent a synergy client from synthesizing mouse and keyboard
|
||||
input, though.
|
||||
|
||||
|
||||
Starting Automatically on Mac OS X
|
||||
----------------------------------
|
||||
|
||||
TBD
|
||||
|
||||
|
||||
Network Security
|
||||
----------------
|
||||
|
||||
Synergy has no built-in support for encryption or authentication.
|
||||
The server accepts connections from any computer. The server and
|
||||
clients send all data unencrypted which means the clipboard and
|
||||
mouse and keyboard events (e.g. typed passwords) are easily
|
||||
examined by anyone listening on the network. Therefore, do not
|
||||
run synergy on untrusted networks except as follows.
|
||||
|
||||
You can use SSH (secure shell) to provide strong authentication
|
||||
and encryption to synergy without modifying either SSH or synergy.
|
||||
On Linux and Unix a free implementation of SSH called OpenSSH is
|
||||
available at http://www.openssh.com/. On Windows you can use the
|
||||
Cygwin version of OpenSSH.
|
||||
|
||||
First, install the SSH server (sshd) on the computer running the
|
||||
synergy server. Next, install the SSH client (ssh) on each
|
||||
synergy client computer. Start the SSH and synergy servers
|
||||
normally. Then, for each client, start the SSH client with port
|
||||
forwarding:
|
||||
|
||||
ssh -f -N -L 24800:<server-hostname>:24800 <server-hostname>
|
||||
|
||||
where <server-hostname> is the name or address of the SSH and
|
||||
synergy server host. 24800 is the default synergy port; replace
|
||||
it with whichever port you use if you don't use the default. Once
|
||||
ssh authenticates with the server, start the synergy client as
|
||||
usual except use `localhost' or `127.0.0.1' for the server
|
||||
address. Synergy will then pass all communication through SSH
|
||||
which encrypts it, passes it over the network, decrypts it, and
|
||||
hands it back to synergy. Authentication is provided by SSH's
|
||||
authentication.
|
||||
|
||||
|
||||
|
||||
Common Command Line Options
|
||||
---------------------------
|
||||
-d, --debug <level> use debugging level <level>
|
||||
--daemon run as a daemon (Unix) or background (Windows)
|
||||
-f, --no-daemon run in the foreground
|
||||
-n, --name <name> use <name> instead of the hostname
|
||||
--restart automatically restart on failures
|
||||
-1, --no-restart do not restart on failure
|
||||
-h, --help print help and exit
|
||||
--version print version information and exit
|
||||
|
||||
Debug levels are from highest to lowest: FATAL, ERROR, WARNING, NOTE,
|
||||
INFO, DEBUG, DEBUG1, and DEBUG2. 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.
|
||||
|
||||
The `--name' option lets the client or server use a name other than
|
||||
its hostname for its screen. This name is used when checking the
|
||||
configuration.
|
||||
|
||||
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. Since xdm will normally restart
|
||||
the X server and synergy, this is the correct behavior.
|
||||
|
||||
|
||||
Server Command Line Options
|
||||
---------------------------
|
||||
-a, --address <address> listen for connections on the given address
|
||||
-c, --config <pathname> read configuration from <pathname>
|
||||
|
||||
<address> has one of the following forms:
|
||||
<hostname>
|
||||
:<port>
|
||||
<hostname>:<port>
|
||||
<hostname> is a hostname or address of a network interface on the
|
||||
server system. <port> is a port number from 1 to 65535. <hostname>
|
||||
defaults to the system's hostname and <port> defaults to 24800.
|
||||
|
||||
|
||||
Client Command Line Options
|
||||
---------------------------
|
||||
--camp retry connection to server until successful
|
||||
--no-camp try connection to server only once
|
||||
<address> address of server
|
||||
|
||||
see the "server command line options" for a description of <address>
|
||||
but note that there is no default <hostname> though there is a
|
||||
default <port>.
|
24
Makefile.am
24
Makefile.am
@ -16,19 +16,14 @@ NULL =
|
||||
SUBDIRS = \
|
||||
lib \
|
||||
cmd \
|
||||
doc \
|
||||
dist \
|
||||
$(NULL)
|
||||
|
||||
EXTRA_DIST = \
|
||||
BUGS \
|
||||
FAQ \
|
||||
HISTORY \
|
||||
PORTING \
|
||||
TODO \
|
||||
all.dsp \
|
||||
synergy.dsw \
|
||||
synergy.xcode/project.pbxproj \
|
||||
doc/doxygen.cfg.in \
|
||||
examples/synergy.conf \
|
||||
$(NULL)
|
||||
|
||||
@ -42,25 +37,20 @@ MAINTAINERCLEANFILES = \
|
||||
configure \
|
||||
stamp-h.in \
|
||||
stamp-h1 \
|
||||
doc/doxygen.cfg \
|
||||
doc/doxygen/html/* \
|
||||
$(NULL)
|
||||
|
||||
PKG_FILES = \
|
||||
AUTHORS \
|
||||
BUGS \
|
||||
COPYING \
|
||||
ChangeLog \
|
||||
FAQ \
|
||||
HISTORY \
|
||||
INSTALL \
|
||||
NEWS \
|
||||
README \
|
||||
TODO \
|
||||
cmd/synergyc/synergyc \
|
||||
cmd/synergys/synergys \
|
||||
examples/synergy.conf \
|
||||
$(NULL)
|
||||
PKG_DOC_FILES = \
|
||||
doc/PORTING \
|
||||
doc/*.html \
|
||||
doc/*.css \
|
||||
$(NULL)
|
||||
PKG_PROG_FILES = \
|
||||
synergyc \
|
||||
synergys \
|
||||
@ -95,7 +85,9 @@ dist-pkg: all
|
||||
rm -rf $(PKGTOPDIR)
|
||||
mkdir $(PKGTOPDIR)
|
||||
mkdir $(PKGTOPDIR)/@PACKAGE@-@VERSION@
|
||||
mkdir $(PKGTOPDIR)/@PACKAGE@-@VERSION@/doc
|
||||
cp $(PKG_FILES) $(PKGTOPDIR)/@PACKAGE@-@VERSION@
|
||||
cp $(PKG_DOC_FILES) $(PKGTOPDIR)/@PACKAGE@-@VERSION@/doc
|
||||
(cd $(PKGTOPDIR)/@PACKAGE@-@VERSION@; \
|
||||
chmod 644 *; \
|
||||
chmod 755 $(PKG_PROG_FILES); \
|
||||
|
248
NEWS
248
NEWS
@ -1,248 +0,0 @@
|
||||
Synergy News
|
||||
============
|
||||
|
||||
* Jun-13-2004 - Synergy 1.1.7 released
|
||||
|
||||
Made following changes:
|
||||
* Added OS X precompiled header file forgotten in last build
|
||||
* Fixed bug in fix for 'unexpected async reply' on X11
|
||||
* Removed dependency on "browser" service on win32
|
||||
* Fixed assertion failure when connection fails immediately
|
||||
* Fixed failure to connect on AIX
|
||||
* Fixed error in conversion from multibyte to wide characters
|
||||
* Maybe fixed win32 screen saver detection
|
||||
|
||||
* May-26-2004 - Synergy 1.1.6 released
|
||||
|
||||
Made following changes:
|
||||
* Added preliminary Mac OS X support (client and server)
|
||||
* Fixed ctrl+alt+del emulation on win32
|
||||
* Fixed ctrl+alt+del on win32 server acting on both client and server
|
||||
* Fixed handling of screen resolution changes on win32
|
||||
* Fixed 'unexpected async reply' on X11
|
||||
* Added dependency to win32 service to avoid startup race condition
|
||||
* Fixed reference count bug
|
||||
* Keyboard input focus now restored on X11 (fixes loss of input in some games)
|
||||
|
||||
The OS X port does not yet support:
|
||||
* HTML and bitmap clipboard data
|
||||
* Screen saver synchronization
|
||||
* Non-US English keyboards
|
||||
|
||||
* May-05-2004 - Synergy 1.1.5 released
|
||||
|
||||
Made following changes:
|
||||
* No longer switching screens when a mouse button is down
|
||||
* Worked around win32 mouse hook bug, fixing switch on double tap
|
||||
* Added support for HTML and bitmap (image/bmp) clipboard data
|
||||
* Physical mouse no longer necessary on win32 secondary screens to see cursor
|
||||
* Added experimental relative mouse moves on secondary screen option
|
||||
* Fixed win32 lock up when closing server with clients still connected
|
||||
* Fixed bug in handling duplicate connections
|
||||
* Fixed pthread mutex initialization
|
||||
* Made synergy dependent on NetBT on win32 (for service startup order)
|
||||
* Automake fixes; now mostly works on darwin and MinGW
|
||||
* Fixed builds on Solaris 9, FreeBSD, and OpenBSD
|
||||
* Partial support for MSYS/MinGW builds (NOT COMPLETE)
|
||||
* Partial merge of OS X port (NOT COMPLETE)
|
||||
|
||||
* Mar-31-2004 - Synergy 1.1.4 released
|
||||
|
||||
Made following changes:
|
||||
* Fixed lookup of hosts by name of win32
|
||||
* Reverted tray icon code to 1.0.15 version; seems to fix the bugs
|
||||
* Fixed crash when caps, num, or scroll lock not in key map on X11
|
||||
* Fixed double tap and wait to switch features
|
||||
|
||||
* Mar-28-2004 - Synergy 1.1.3 released
|
||||
|
||||
Made following changes:
|
||||
* Major code refactoring; reduced use of threads, added event queue
|
||||
* Removed unused HTTP support code
|
||||
* No longer interfering with mouse when scroll lock is toggled on
|
||||
* Fixed minor mispositioning of mouse on win32
|
||||
* Unix portability fixes
|
||||
* Added support for power management
|
||||
* Improved keyboard handling and bug fixes
|
||||
* Fixed dead key handling
|
||||
|
||||
Note: the tray icon on windows is known to not work correctly when
|
||||
running the synergy server on Windows 95/95/Me.
|
||||
|
||||
* Aug-24-2003 - Synergy 1.0.14 released
|
||||
|
||||
Made following changes:
|
||||
* Fixed bugs in setting win32 process/thread priority
|
||||
* Fixed resource leak in opening win32 system log
|
||||
* Fixed win32 launcher not getting non-default advanced options
|
||||
* Synergy log copied to clipboard now transferred to other screens
|
||||
* Hack to work around lesstif clipboard removed (fixes pasting on X)
|
||||
|
||||
* Jul-20-2003 - Synergy 1.0.12 released
|
||||
|
||||
This release finally completes support for non-ASCII characters,
|
||||
fully supporting most (all?) European keyboard layouts including
|
||||
dead key composition. This release includes changes from several
|
||||
experimental versions (1.0.9, 1.0.11, 1.1.0, 1.1.1, 1.1.2, and
|
||||
1.1.3).
|
||||
|
||||
Made following changes:
|
||||
* Added non-ASCII support to win32 and X11
|
||||
* Added dead key support to win32 and X11
|
||||
* Fixed AltGr handling
|
||||
* Added ctrl+alt+del simulation using ctrl+alt+pause
|
||||
* Fixed loss of key event when user releases ctrl+alt+del
|
||||
* Fixed incorrect synthesis of pointer-keys event on X11
|
||||
* Fixed Xinerama support
|
||||
* Made some clipboard fixes on win32 and X11
|
||||
* Add tray icon menu item to copy log to clipboard
|
||||
* Fixed mouse warping on unconnected client
|
||||
* Stopped unconnected client from filling up event logs
|
||||
|
||||
* May-10-2003 - Synergy 1.0.8 released
|
||||
|
||||
Made following changes:
|
||||
* Fixed hook forwarding (fixing interaction with objectbar)
|
||||
* Fixed "Windows" key handling and added support Win+E, Win+F, etc
|
||||
* Added win 95/98/me support for Alt+Tab, Alt+Esc, Ctrl+Esc
|
||||
* Fixed scroll lock locking to server screen
|
||||
* Fixed screen flashing on X11 and Windows
|
||||
* Fixed compile problem on 64 bit systems
|
||||
* Fixed Xinerama support
|
||||
* Now allowing screen names that include underscores
|
||||
* Improved non-ASCII key handling on Windows
|
||||
* Fixed lagginess
|
||||
* Fixed failure to capture all mouse input on Windows
|
||||
* Fixed auto-repeat bugs on X11
|
||||
* Added option to disable screen saver synchronization
|
||||
* Added support for 4th and 5th mouse buttons on Windows
|
||||
* Added support for "Internet" and "Multimedia" keys
|
||||
* Fixed jumping from client to itself (mouse wrapping)
|
||||
|
||||
* Mar-27-2003 - Synergy 1.0.6 released
|
||||
|
||||
Made following changes:
|
||||
* Added tray icon on win32
|
||||
* Fixed multi-monitor support on win32
|
||||
* Fixed win32 screen saver detection on NT/2k/XP
|
||||
* Added per-screen options to remap modifier keys
|
||||
* Added global options for restricting screen jumping
|
||||
* Added global option for detecting unresponsive clients
|
||||
* Added more logging for why screen jump won't happen
|
||||
* Fixed problem sending the CLIPBOARD to motif/lesstif apps
|
||||
* Win32 launcher now remembers non-config-file state
|
||||
|
||||
* Feb-18-2003 - Synergy 1.0.3 released
|
||||
|
||||
Made following changes:
|
||||
* Support for X11 keymaps with only uppercase letters
|
||||
* Fixed memory leaks
|
||||
* Added documentation on using synergy with SSH
|
||||
* Fixed unnecessary left-handed mouse button swapping
|
||||
* Fixed debug build error on win32
|
||||
* Reduced frequency of large cursor jumps when leaving win32 server
|
||||
* Changed cursor motion on win32 multimon to relative moves only
|
||||
|
||||
|
||||
* Jan-25-2003 - Synergy 1.0.2 released
|
||||
|
||||
Made following changes:
|
||||
* Fixed out-of-bounds array lookup in the BSD and Windows network code
|
||||
* Added ability to set screen options from Windows launch dialog
|
||||
|
||||
|
||||
* Jan-22-2003 - Synergy 1.0.1 released
|
||||
|
||||
Made following changes:
|
||||
* Fixed running as a service on Windows NT family
|
||||
|
||||
|
||||
* Jan-20-2003 - Synergy 1.0.0 released
|
||||
|
||||
Made following changes:
|
||||
* Refactored to centralize platform dependent code
|
||||
* Added support for mouse wheel on Windows NT (SP3 and up)
|
||||
* Portability improvements
|
||||
* Added more documentation
|
||||
* Fixes for working with xscreensaver
|
||||
* Fixes for circular screen links
|
||||
|
||||
This release has been tested on Linux and Windows. It builds and
|
||||
is believed to run on Solaris and FreeBSD. It is believed to
|
||||
build and run on Irix and AIX. It builds but does not work on
|
||||
MacOS X.
|
||||
|
||||
|
||||
* Dec-25-2002 - Synergy 0.9.14 released
|
||||
|
||||
Made following changes:
|
||||
* Fixed solaris compile problems (untested)
|
||||
* Fixed irix compile problems (untested)
|
||||
* Fixed windows client not reconnecting when server dies bug
|
||||
* Fixed loss of ctrl+alt from windows server to non-windows clients
|
||||
* Fixed handling of password protected windows client screen saver
|
||||
* Now handling any number of pointer buttons on X11
|
||||
* Toggle key states now restored when leaving clients
|
||||
* Added support for per-screen config options
|
||||
* Added config options for half-duplex toggle keys on X11
|
||||
* Enabled class diagrams in doxygen documentation
|
||||
|
||||
|
||||
* Nov-05-2002 - Synergy 0.9.13 released
|
||||
|
||||
Made following changes:
|
||||
* Fixed solaris compile problems (untested)
|
||||
* Fixed MacOS X compile problems (semi-functional)
|
||||
* Fixed gcc-3.2 compile problems
|
||||
* Fixed some thread startup and shutdown bugs
|
||||
* Server now quits if bind() fails with an error other than in use
|
||||
* Fixed bug in moving mouse on Win98 without multiple monitors
|
||||
* Fixed bug in handling TCP socket errors on read and write
|
||||
* Fixed spurious screen saver activation on X11
|
||||
* Unix platforms can now read Win32 configuration files
|
||||
* Minor error reporting fixes
|
||||
|
||||
|
||||
* Sep-14-2002 - Synergy 0.9.12 released
|
||||
|
||||
Made following changes:
|
||||
* Win32 was not reporting log messages properly when run from synergy.exe
|
||||
* Network error messages weren't reporting useful information
|
||||
* Synergy won't build on gcc 3.2; added workaround for known problem
|
||||
* X11 wasn't handling some keys/key combinations correctly
|
||||
* Added option to change logging level when testing from synergy.exe
|
||||
|
||||
|
||||
* Sep-04-2002 - Synergy 0.9.11 released
|
||||
|
||||
Fixed following bugs:
|
||||
* Worked around missing SendInput() on windows 95/NT 4 prior to SP3
|
||||
* Fixed keyboard mapping on X11 synergy client
|
||||
|
||||
|
||||
* Sep-02-2002 - Synergy 0.9.10 released
|
||||
|
||||
Fixed following bugs:
|
||||
* The Pause/Break and KP_Enter buttons were not working correctly on windows
|
||||
* Configuration options were being lost on windows after a reboot
|
||||
* Added support for AltGr/ModeSwitch keys
|
||||
* Added support for auto-start on windows when not administrator
|
||||
* Improved autoconf
|
||||
* Added workaround for lack of sstream header on g++ 2.95.
|
||||
|
||||
|
||||
* Aug-18-2002 - Synergy 0.9.9 released
|
||||
|
||||
Fixed three bugs:
|
||||
* The PrintScrn button was not working correctly on windows
|
||||
* The Win32 server could hang when a client disconnected
|
||||
* Using the mouse wheel could hang the X server
|
||||
|
||||
|
||||
* Aug-11-2002 - Synergy 0.9.8 released
|
||||
|
||||
Supports any number of clients under Linux or Windows 95 or NT4
|
||||
or later. Includes mouse and keyboard sharing, clipboard
|
||||
synchronization and screen saver synchronization. Supports ASCII
|
||||
keystrokes, 5 button mouse with wheel, and Unicode text clipboard
|
||||
format.
|
259
README
259
README
@ -18,261 +18,4 @@ 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 95 family);
|
||||
|
||||
* Microsoft Windows NT, Windows 2000, Windows XP (the Windows NT family);
|
||||
|
||||
* Mac OS X 10.2 or higher;
|
||||
|
||||
* 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.
|
||||
|
||||
The Mac OS X port is incomplete. It does not synchronize the screen saver,
|
||||
only text clipboard data works (i.e. HTML and bitmap data do not work),
|
||||
non-US English keyboards are untested and probably don't work, and there
|
||||
may be problems with mouse pointer and mouse wheel acceleration. Other
|
||||
problems should be filed as bugs (see BUGS).
|
||||
|
||||
|
||||
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.
|
||||
|
||||
Second, you install the software. Choose the appropriate package
|
||||
and install it. On Windows you should run SynergyInstaller. You
|
||||
must install the software on all the computers that will share the
|
||||
mouse and keyboard.
|
||||
|
||||
Third, you configure and start the server. The Windows version
|
||||
provides a convenient GUI for configuration. Other platforms
|
||||
require creating a simple text file.
|
||||
|
||||
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's 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'
|
||||
|
||||
Note that when you link screens together you must explictly link in both
|
||||
directions. For instance, if you have computer A on the left of B then
|
||||
you must indicate A is to the left of B *and* that B is to the right of
|
||||
A. If you don't do both then you'll find you're unable to leave one of
|
||||
the screens.
|
||||
|
||||
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 or MacOS X
|
||||
---------------
|
||||
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 or MacOS X
|
||||
---------------
|
||||
|
||||
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 text, HTML, and images across computers
|
||||
(HTML and images are not supported on OS X yet). 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 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
|
||||
Please see doc/index.html for more information.
|
||||
|
58
TODO
58
TODO
@ -1,58 +0,0 @@
|
||||
Synergy To Do List
|
||||
==================
|
||||
|
||||
Things to do to synergy, in no particular order:
|
||||
|
||||
* Provide GUI configuration
|
||||
|
||||
There's a GUI tool on win32 but no other platforms. Also, it'd be
|
||||
nice if the tool allowed users to drag screen icons around to set
|
||||
the links between them (though this assumes links are symmetrical
|
||||
and synergy supports asymmetrical links).
|
||||
|
||||
* Provide taskbar feedback
|
||||
|
||||
There's a tray icon on win32 for checking synergy's current status
|
||||
and to quit synergy. It'd be nice to have something similar on
|
||||
other platforms.
|
||||
|
||||
* Port to other platforms
|
||||
|
||||
The MacOS X port is usable but still incomplete.
|
||||
|
||||
* Write man/html pages
|
||||
|
||||
* Add more clipboard formats
|
||||
|
||||
Synergy currently supports text, html and BMP bitmaps on the clipboard.
|
||||
It should support more formats, such as other image types and sound.
|
||||
For each format, some canonical type must be chosen. For text, that's
|
||||
UTF-8 with \n for newlines. Whatever it is it should losslessly support
|
||||
any type it might be converted to. The type is converted to each
|
||||
platform's native type. For example, BMP for images on win32.
|
||||
|
||||
Then there are major new features:
|
||||
|
||||
* Provide a KVM mode
|
||||
|
||||
In this mode synergy would share the monitor in addition to the
|
||||
keyboard and mouse.
|
||||
|
||||
* Support for limited drag and drop between systems
|
||||
|
||||
* Support for (virtual) terminals on unix
|
||||
|
||||
This would be useful in KVM mode to administer several remote
|
||||
headless systems that you don't want running X just so synergy
|
||||
can work.
|
||||
|
||||
* Configurable keys
|
||||
|
||||
This includes shortcuts to jump to different screens, always
|
||||
directing certain keystrokes to the same system, never sending
|
||||
certain keystrokes to some systems, and remapping keys on the
|
||||
server to other keys on the clients.
|
||||
|
||||
* On-the-fly configuration
|
||||
|
||||
There should be a way of reconfiguring synergy while it's running.
|
@ -186,6 +186,7 @@ dist/Makefile
|
||||
dist/nullsoft/Makefile
|
||||
dist/rpm/Makefile
|
||||
dist/rpm/synergy.spec
|
||||
doc/Makefile
|
||||
doc/doxygen.cfg
|
||||
lib/Makefile
|
||||
lib/arch/Makefile
|
||||
|
40
doc/Makefile.am
Normal file
40
doc/Makefile.am
Normal file
@ -0,0 +1,40 @@
|
||||
# synergy -- mouse and keyboard sharing utility
|
||||
# Copyright (C) 2002 Chris Schoeneman
|
||||
#
|
||||
# This package is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# found in the file COPYING that should have accompanied this file.
|
||||
#
|
||||
# This package is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
## Process this file with automake to produce Makefile.in
|
||||
NULL =
|
||||
|
||||
EXTRA_DIST = \
|
||||
PORTING \
|
||||
doxygen.cfg.in \
|
||||
synergy.css \
|
||||
authors.html \
|
||||
autostart.html \
|
||||
compiling.html \
|
||||
configuration.html \
|
||||
developer.html \
|
||||
faq.html \
|
||||
history.html \
|
||||
index.html \
|
||||
license.html \
|
||||
news.html \
|
||||
running.html \
|
||||
security.html \
|
||||
tips.html \
|
||||
todo.html \
|
||||
$(NULL)
|
||||
|
||||
MAINTAINERCLEANFILES = \
|
||||
Makefile.in \
|
||||
doc/doxygen.cfg \
|
||||
doc/doxygen/html/* \
|
||||
$(NULL)
|
30
doc/authors.html
Normal file
30
doc/authors.html
Normal file
@ -0,0 +1,30 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="synergy.css" media="screen" />
|
||||
<title>Synergy Authors</title>
|
||||
</head>
|
||||
<body class="main">
|
||||
<h3>Synergy Authors</h3>
|
||||
<p>
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="mailto:crs23@users.sourceforge.net">Chris Schoeneman</a></td>
|
||||
<td>Creator, owner, primary developer</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="mailto:ryan@ryanbreen.com">Ryan Breen</a></td>
|
||||
<td>Initial Mac OS X port</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="mailto:moolder@gmx.net">Guido Poschta</a></td>
|
||||
<td>Windows installer</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="mailto:bertrand@landryhetu.com">Bertrand Landry Hetu</a></td>
|
||||
<td>Mac OS X port</td>
|
||||
</tr>
|
||||
</table>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
159
doc/autostart.html
Normal file
159
doc/autostart.html
Normal file
@ -0,0 +1,159 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="synergy.css" media="screen" />
|
||||
<title>Synergy Autostart Guide</title>
|
||||
</head>
|
||||
<body class="main">
|
||||
<h3>Starting synergy automatically</h3>
|
||||
<p>
|
||||
You can configure synergy to start automatically when the computer
|
||||
starts or when you log in. The steps to do that are different on
|
||||
each platform. Note that changing these configurations doesn't
|
||||
actually start or stop synergy. The changes take effect the next
|
||||
time you start your computer or log in.
|
||||
</p>
|
||||
|
||||
<h4>Windows</h4>
|
||||
<p>
|
||||
Start synergy and click the <span class="code">Configure...</span> button
|
||||
by the text <span class="code">Automatic Startup</span>. The
|
||||
<span class="code">Auto Start</span> dialog will pop up.
|
||||
If an error occurs then correct the problem and click
|
||||
<span class="code">Configure</span> again.
|
||||
</p>
|
||||
<p>
|
||||
On the <span class="code">Auto Start</span> dialog you'll configure
|
||||
synergy to start or not start automatically when the computer starts
|
||||
or when you log in. You need Administrator access rights to start
|
||||
synergy automatically when the computer starts. The dialog will let
|
||||
you know if you have sufficient permission.
|
||||
</p>
|
||||
<p>
|
||||
If synergy is already configured to automatically start then there
|
||||
will be two <span class="code">Uninstall</span> buttons, at most one
|
||||
of which is enabled. Click the enabled button, if any, to tell
|
||||
synergy to not start automatically.
|
||||
</p>
|
||||
<p>
|
||||
If synergy is not configured to start automatically then there will
|
||||
be two <span class="code">Install</span> buttons. If you have
|
||||
sufficient permission to have synergy start automatically when the
|
||||
computer does then the <span class="code">Install</span> button in the
|
||||
<span class="code">When Computer Starts</span> box will be enabled.
|
||||
Click it to have synergy start for all users when the computer starts.
|
||||
In this case, synergy will be available during the login screen.
|
||||
Otherwise, click the <span class="code">Install</span> button in the
|
||||
<span class="code">When You Log In</span> box to have synergy
|
||||
automatically start when you log in.
|
||||
</p>
|
||||
|
||||
<h4>Unix</h4>
|
||||
<p>
|
||||
Synergy requires an X server. That means a server must be
|
||||
running and synergy must be authorized to connect to that server.
|
||||
It's best to have the display manager start synergy. You'll need
|
||||
the necessary (probably root) permission to modify the display
|
||||
manager configuration files. If you don't have that permission
|
||||
you can start synergy after logging in via the
|
||||
<span class="code">.xsession</span> file.
|
||||
</p>
|
||||
<p>
|
||||
Typically, you need to edit three script files. The first file
|
||||
will start synergy before a user logs in, the second will kill
|
||||
that copy of synergy, and the third will start it again after
|
||||
the user logs in.
|
||||
</p>
|
||||
<p>
|
||||
The contents of the scripts varies greatly between systems so
|
||||
there's no one definite place where you should insert your edits.
|
||||
However, these scripts often exit before reaching the bottom so
|
||||
put the edits near the top of the script.
|
||||
</p>
|
||||
<p>
|
||||
The location and names of these files depend on the operating
|
||||
system and display manager you're using. A good guess for the
|
||||
location is <span class="code">/etc/X11</span>. Typical file names
|
||||
are:
|
||||
</p>
|
||||
<p class="code">
|
||||
<table>
|
||||
<tr><td> </td> <td> </td> <td>xdm</td> <td> </td> <td>gdm</td></tr>
|
||||
<tr><td>1</td> <td></td> <td>xdm/Xsetup</td> <td></td> <td>gdm/Init/Default (*)</td></tr>
|
||||
<tr><td>2</td> <td></td> <td>xdm/Xstartup</td> <td></td> <td>gdm/PostLogin/Default (*)</td></tr>
|
||||
<tr><td>3</td> <td></td> <td>xdm/Xsession</td> <td></td> <td>gdm/Sessions/Default (*, **)</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
*) The <span class="code">Default</span> file is used if no other
|
||||
suitable file is found. <span class="code">gdm</span> will try
|
||||
<span class="arg">displayname</span> (e.g. <span class="code">:0</span>)
|
||||
and <span class="arg">hostname</span> (e.g. <span class="code">somehost</span>),
|
||||
in that order, before and instead of <span class="code">Default</span>.
|
||||
<br>
|
||||
**) gdm may use <span class="code">gdm/Xsession</span>,
|
||||
<span class="code">xdm/Xsession</span> or
|
||||
<span class="code">dm/Xsession</span> if
|
||||
<span class="code">gdm/Sessions/Default</span> doesn't exist.
|
||||
</p>
|
||||
<p>
|
||||
For a synergy client, add the following to the first file:
|
||||
<pre>
|
||||
/usr/bin/killall synergyc
|
||||
sleep 1
|
||||
/usr/bin/synergyc [<options>] <span class="arg">synergy-server-hostname</span>
|
||||
</pre>
|
||||
Of course, the path to synergyc depends on where you installed it
|
||||
so adjust as necessary.
|
||||
</p>
|
||||
<p>
|
||||
Add to the second file:
|
||||
<pre>
|
||||
/usr/bin/killall synergyc
|
||||
sleep 1
|
||||
</pre>
|
||||
</p>
|
||||
<p>
|
||||
And to the third file:
|
||||
<pre>
|
||||
/usr/bin/killall synergyc
|
||||
sleep 1
|
||||
/usr/bin/synergyc <span class="arg">[<options>]</span> <span class="arg">synergy-server-hostname</span>
|
||||
</pre>
|
||||
Note that <a href="running.html#options"><span class="arg"><options></span></a>
|
||||
must not include
|
||||
<span class="code">-f</span> or <span class="code">--no-daemon</span> or
|
||||
the script will never exit and you won't be able to log in.
|
||||
</p>
|
||||
<p>
|
||||
The changes are the same for the synergy server except replace
|
||||
<span class="code">synergyc</span> with <span class="code">synergys</span>
|
||||
and use the appropriate synergys <a href="running.html#options">command
|
||||
line options</a>. Note that the
|
||||
first script is run as root so synergys will look for the configuration
|
||||
file in root's home directory then in <span class="code">/etc</span>.
|
||||
Make sure it exists in one of those places or use the
|
||||
<span class="code">--config <span class="arg">config-pathname</span></span>
|
||||
option to specify its location.
|
||||
</p>
|
||||
<p>
|
||||
Note that some display managers (xdm and kdm, but not gdm) grab
|
||||
the keyboard and do not release it until the user logs in for
|
||||
security reasons. This prevents a synergy server from sharing
|
||||
the mouse and keyboard until the user logs in. It doesn't
|
||||
prevent a synergy client from synthesizing mouse and keyboard
|
||||
input, though.
|
||||
</p>
|
||||
<p>
|
||||
If you're configuring synergy to start only after you log in then edit
|
||||
your <span class="code">.xsession</span> file. Add just what you
|
||||
would add to the third file above.
|
||||
</p>
|
||||
|
||||
<h4>Mac OS X</h4>
|
||||
<p>
|
||||
TBD
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
126
doc/compiling.html
Normal file
126
doc/compiling.html
Normal file
@ -0,0 +1,126 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="synergy.css" media="screen" />
|
||||
<title>Building and Installing Synergy</title>
|
||||
</head>
|
||||
<body class="main">
|
||||
<h3>Prerequisites for building</h3>
|
||||
<p>
|
||||
To build synergy from the sources you'll need the following:
|
||||
|
||||
<ul>
|
||||
<li>Windows
|
||||
<ul>
|
||||
<li>VC++ 6.0 or up
|
||||
</ul>
|
||||
|
||||
<li>Unix
|
||||
<ul>
|
||||
<li>gcc 2.95 or up
|
||||
<li>X11R4 or up headers and libraries
|
||||
</ul>
|
||||
|
||||
<li>Mac OS X
|
||||
<ul>
|
||||
<li>XCode; or gcc 2.95 or up
|
||||
<li>Carbon development headers and libraries
|
||||
</ul>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<h3>Configuring the build</h3>
|
||||
<p>
|
||||
This step is not necessary when using VC++ or XCode.
|
||||
</p>
|
||||
<p>
|
||||
To configure the build for your platform use the configure script:
|
||||
<pre>
|
||||
./configure
|
||||
</pre>
|
||||
For a list of options to configure use:
|
||||
<pre>
|
||||
./configure --help
|
||||
</pre>
|
||||
On Solaris you may need to use:
|
||||
<pre>
|
||||
<nobr>./configure --x-includes=/usr/openwin/include --x-libraries=/usr/openwin/lib</nobr>
|
||||
</pre>
|
||||
so synergy can find the X11 includes and libraries.
|
||||
</p>
|
||||
|
||||
<h3>Building</h3>
|
||||
<ul>
|
||||
<li>Windows
|
||||
<p>
|
||||
Start VC++ and open <span class="code">synergy.dsw</span>. Set the
|
||||
active configuration (Build > Set Active Configuration) to
|
||||
<span class="code">All - Debug</span> or <span class="code">All -
|
||||
Release</span> then build. Binaries are built into
|
||||
<span class="code">./debug</span> or <span class="code">./build</span>.
|
||||
</p>
|
||||
|
||||
<li>Unix or Mac OS X without XCode
|
||||
<p>
|
||||
Simply enter:
|
||||
<pre>
|
||||
make
|
||||
</pre>
|
||||
This will build the client and server and leave them in their
|
||||
respective source directories.
|
||||
</p>
|
||||
|
||||
<li>Mac OS X with XCode
|
||||
<p>
|
||||
Start XCode and open the <span class="code">synery.xcode</span>
|
||||
project. Build the <span class="code">all</span> project using
|
||||
the <span class="code">Deployment</span> flavor.
|
||||
</p>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>Installing</h3>
|
||||
<ul>
|
||||
<li>Windows
|
||||
<p>
|
||||
You'll need <a href="http://nsis.sourceforge.net/">NSIS</a>, the
|
||||
Nullsoft Scriptable Install System. Build <span class="code">All -
|
||||
Release</span> then build <span class="code">Installer - Release</span>.
|
||||
This creates <span class="code">SynergyInstaller.exe</span> in the top
|
||||
level directory. Run this to install synergy.
|
||||
</p>
|
||||
<p>
|
||||
Alternatively, you can simply copy the following files from the
|
||||
<span class="code">debug</span> or <span class="code">build</span>
|
||||
directory to a directory you choose (perhaps under the
|
||||
<span class="code">Program Files</span> directory):
|
||||
|
||||
<ul class="code">
|
||||
<li>synergy.exe
|
||||
<li>synergyc.exe
|
||||
<li>synergys.exe
|
||||
<li>synrgyhk.dll
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<li>Unix or Mac OS X without XCode
|
||||
<p>
|
||||
<pre>
|
||||
make install
|
||||
</pre>
|
||||
will install the client and server into
|
||||
<span class="code">/usr/local/bin</span> unless you
|
||||
specified a different directory when you ran configure.
|
||||
</p>
|
||||
|
||||
<li>Mac OS X with XCode
|
||||
<p>
|
||||
Copy the following files from ./build to a convenient location:
|
||||
|
||||
<ul class="code">
|
||||
<li>synergyc
|
||||
<li>synergys
|
||||
</ul>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
275
doc/configuration.html
Normal file
275
doc/configuration.html
Normal file
@ -0,0 +1,275 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="synergy.css" media="screen" />
|
||||
<title>Synergy Configuration Guide</title>
|
||||
</head>
|
||||
<body class="main">
|
||||
<h3>Synergy Configuration File Format</h3>
|
||||
<p>
|
||||
The synergy server requires configuration. It will try certain
|
||||
pathnames to load the configuration file if you don't specify a
|
||||
path using the <span class="code">--config</span> command line
|
||||
option. <span class="code">synergys --help</span> reports those
|
||||
pathnames.
|
||||
</p>
|
||||
<p>
|
||||
The configuration file is a plain text file. Use any text editor
|
||||
to create the configuration file. The file is broken into sections
|
||||
and each section has the form:
|
||||
<pre>
|
||||
section: <span class="arg">name</span>
|
||||
<span class="arg">args</span>
|
||||
end
|
||||
</pre>
|
||||
Comments are introduced by <span class="code">#</span> and continue to
|
||||
the end of the line. <span class="arg">name</span> must be one of the
|
||||
following:
|
||||
<ul class="code">
|
||||
<li>screens
|
||||
<li>aliases
|
||||
<li>links
|
||||
<li>options
|
||||
</ul>
|
||||
See below for further explanation of each section type. The
|
||||
configuration file is case-sensitive so <span class="code">Section</span>,
|
||||
<span class="code">SECTION</span>, and <span class="code">section</span>
|
||||
are all different and only the last is valid. Screen names are the
|
||||
exception; screen names are case-insensitive.
|
||||
</p>
|
||||
<p>
|
||||
The file is parsed top to bottom and names cannot be used before
|
||||
they've been defined in the <span class="code">screens</span> or
|
||||
<span class="code">aliases</span> sections. So the
|
||||
<span class="code">links</span> and <span class="code">aliases</span>
|
||||
must appear after the <span class="code">screens</span> and links
|
||||
cannot refer to aliases unless the <span class="code">aliases</span>
|
||||
appear before the <span class="code">links</span>.
|
||||
</p>
|
||||
<h4>screens</h4>
|
||||
<p>
|
||||
<span class="arg">args</span> 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. (This
|
||||
is the computer's network name on win32 and the name reported by the
|
||||
program <span class="code">hostname</span> on Unix and OS X. Note
|
||||
that OS X may append <span class="code">.local</span> to the name you
|
||||
gave your computer; e.g. <span class="code">somehost.local</span>.)
|
||||
There must be a screen name for the server and each client. Each
|
||||
screen can specify a number of options. Options have the form
|
||||
<span class="code"><span class="arg">name</span> =
|
||||
<span class="arg">value</span></span> and are listed one per line
|
||||
after the screen name.
|
||||
</p>
|
||||
<p>
|
||||
Example:
|
||||
<pre>
|
||||
section: screens
|
||||
moe:
|
||||
larry:
|
||||
halfDuplexCapsLock = true
|
||||
halfDuplexNumLock = true
|
||||
curly:
|
||||
meta = alt
|
||||
end
|
||||
</pre>
|
||||
This declares three screens named <span class="code">moe</span>,
|
||||
<span class="code">larry</span>, and <span class="code">curly</span>.
|
||||
Screen <span class="code">larry</span> has half-duplex Caps Lock and
|
||||
Num Lock keys (see below) and screen <span class="code">curly</span>
|
||||
converts the meta modifier key to the alt modifier key.
|
||||
</p>
|
||||
<p>
|
||||
A screen can have the following options:
|
||||
<ul>
|
||||
<li><span class="code">halfDuplexCapsLock = {true|false}</span>
|
||||
<p>
|
||||
This computer has a Caps Lock key that doesn't report a
|
||||
press and a release event when the user presses it but
|
||||
instead reports a press event when it's turned on and a
|
||||
release event when it's turned off. If Caps Lock acts
|
||||
strangely on all screens then you may need to set this
|
||||
option to <span class="code">true</span>
|
||||
on the server screen. If it acts strangely on one
|
||||
screen then that screen may need the option set to
|
||||
<span class="code">true</span>.
|
||||
</p>
|
||||
<li><span class="code">halfDuplexNumLock = {true|false}</span>
|
||||
<p>
|
||||
This is identical to <span class="code">halfDuplexCapsLock</span>
|
||||
except it applies to the Num Lock key.
|
||||
</p>
|
||||
<li><span class="code">xtestIsXineramaUnaware = {true|false}</span>
|
||||
<p>
|
||||
This option works around a bug in the XTest extension
|
||||
when used in combination with Xinerama. It affects
|
||||
X11 clients only. Not all versions of the XTest
|
||||
extension are aware of the Xinerama extension. As a
|
||||
result, they do not move the mouse correctly when
|
||||
using multiple Xinerama screens. This option is
|
||||
currently <span class="code">true</span> by default. If
|
||||
you know your XTest extension is Xinerama aware then set
|
||||
this option to <span class="code">false</span>.
|
||||
</p>
|
||||
<li><span class="code">shift = {shift|ctrl|alt|meta|super|none}<br>
|
||||
ctrl = {shift|ctrl|alt|meta|super|none}<br>
|
||||
alt = {shift|ctrl|alt|meta|super|none}<br>
|
||||
meta = {shift|ctrl|alt|meta|super|none}<br>
|
||||
super = {shift|ctrl|alt|meta|super|none}</span>
|
||||
<p>
|
||||
Map a modifier key pressed on the server's keyboard to
|
||||
a different modifier on this client. This option only
|
||||
has an effect on a client screen; it's accepted and
|
||||
ignored on the server screen.
|
||||
</p>
|
||||
<p>
|
||||
You can map, say, the shift key to shift (the default),
|
||||
ctrl, alt, meta, super or nothing. Normally, you
|
||||
wouldn't remap shift or ctrl. You might, however, have
|
||||
an X11 server with meta bound to the Alt keys. To use
|
||||
this server effectively with a windows client, which
|
||||
doesn't use meta but uses alt extensively, you'll want
|
||||
the windows client to map meta to alt (using
|
||||
<span class="code">meta = alt</span>).
|
||||
</p>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<h4>aliases</h4>
|
||||
<p>
|
||||
<span class="arg">args</span> is a list of screen names just like
|
||||
in the <span class="code">screens</span> section except each screen
|
||||
is followed by a list of aliases, one per line, <b>not</b> 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. So a client can connect using its canonical screen name
|
||||
or any of its aliases.
|
||||
</p>
|
||||
<p>
|
||||
Example:
|
||||
<pre>
|
||||
section: aliases
|
||||
larry:
|
||||
larry.stooges.com
|
||||
curly:
|
||||
shemp
|
||||
end
|
||||
</pre>
|
||||
Screen <span class="code">larry</span> is also known as
|
||||
<span class="code">larry.stooges.com</span> and can connect as
|
||||
either name. Screen <span class="code">curly</span> is also
|
||||
known as <span class="code">shemp</span> (hey, it's just an example).
|
||||
</p>
|
||||
|
||||
<h4>links</h4>
|
||||
<p>
|
||||
<span class="arg">args</span> is a list of screen names just like
|
||||
in the <span class="code">screens</span> section except each screen
|
||||
is followed by a list of links, one per line. Each link has the
|
||||
form <span class="code">{left|right|up|down}</span> =
|
||||
<span class="code">name</span>. A link indicates which screen is
|
||||
adjacent in the given direction.
|
||||
</p>
|
||||
<p>
|
||||
Example:
|
||||
<pre>
|
||||
section: links
|
||||
moe:
|
||||
right = larry
|
||||
up = curly
|
||||
larry:
|
||||
left = moe
|
||||
up = curly
|
||||
curly:
|
||||
down = larry
|
||||
end
|
||||
</pre>
|
||||
This indicates that screen <span class="code">larry</span> is to
|
||||
the right of screen <span class="code">moe</span> (so moving the
|
||||
cursor off the right edge of <span class="code">moe</span> would
|
||||
make it appear at the left edge of <span class="code">larry</span>),
|
||||
<span class="code">curly</span> is above <span class="code">moe</span>,
|
||||
<span class="code">moe</span> is to the left of
|
||||
<span class="code">larry</span>, <span class="code">curly</span> is
|
||||
above <span class="code">larry</span>, and
|
||||
<span class="code">larry</span> is below
|
||||
<span class="code">curly</span>. Note that links do not have to be
|
||||
symmetrical; moving up from <span class="code">moe</span> then down
|
||||
from <span class="code">curly</span> lands the cursor on
|
||||
<span class="code">larry</span>.
|
||||
</p>
|
||||
|
||||
<h4>options</h4>
|
||||
<p>
|
||||
<span class="arg">args</span> is a list of lines of the form
|
||||
<span class="code">name = value</span>. These set the global
|
||||
options.
|
||||
</p>
|
||||
<p>
|
||||
Example:
|
||||
<pre>
|
||||
section: options
|
||||
heatbeat = 5000
|
||||
switchDelay = 500
|
||||
end
|
||||
</pre>
|
||||
</p>
|
||||
<p>
|
||||
You can use the following options:
|
||||
<ul>
|
||||
<li><span class="code">heartbeat = N</span>
|
||||
<p>
|
||||
The server will expect each client to send a message no
|
||||
less than every <span class="code">N</span> milliseconds.
|
||||
If no message arrives from a client within
|
||||
<span class="code">3N</span> seconds the server forces that
|
||||
client to disconnect.
|
||||
</p>
|
||||
<p>
|
||||
If synergy fails to detect clients disconnecting while
|
||||
the server is sleeping or vice versa, try using this
|
||||
option.
|
||||
</p>
|
||||
<li><span class="code">switchDelay = N</span>
|
||||
<p>
|
||||
Synergy won't switch screens when the mouse reaches the
|
||||
edge of a screen unless it stays on the edge for
|
||||
<span class="code">N</span>
|
||||
milliseconds. This helps prevent unintentional
|
||||
switching when working near the edge of a screen.
|
||||
</p>
|
||||
<li><span class="code">switchDoubleTap = N</span>
|
||||
<p>
|
||||
Synergy won't switch screens when the mouse reaches the
|
||||
edge of a screen unless it's moved away from the edge
|
||||
and then back to the edge within <span class="code">N</span>
|
||||
milliseconds. With
|
||||
the option you have to quickly tap the edge twice to
|
||||
switch. This helps prevent unintentional switching
|
||||
when working near the edge of a screen.
|
||||
</p>
|
||||
<li><span class="code">screenSaverSync = {true|false}</span>
|
||||
<p>
|
||||
If set to <span class="code">false</span> then synergy
|
||||
won't synchronize screen savers. Client screen savers
|
||||
will start according to their individual configurations.
|
||||
The server screen saver won't start if there is input,
|
||||
even if that input is directed toward a client screen.
|
||||
</p>
|
||||
<li><span class="code">relativeMouseMoves = {true|false}</span>
|
||||
<p>
|
||||
If set to <span class="code">true</span> then secondary
|
||||
screens move the mouse using relative rather than
|
||||
absolute mouse moves when and only when Scroll Lock is
|
||||
toggled on (i.e. the cursor is locked to the screen).
|
||||
This is intended to make synergy work better with certain
|
||||
games. If set to <span class="code">false</span> or not
|
||||
set then all mouse moves are absolute.
|
||||
</p>
|
||||
</ul>
|
||||
You can use both the <span class="code">switchDelay</span> and
|
||||
<span class="code">switchDoubleTap</span> options at the same
|
||||
time. Synergy will switch when either requirement is satisfied.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
84
doc/developer.html
Normal file
84
doc/developer.html
Normal file
@ -0,0 +1,84 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="synergy.css" media="screen" />
|
||||
<title>Synergy Developer's Guide</title>
|
||||
</head>
|
||||
<body class="main">
|
||||
<h3>Developer's Guide</h3>
|
||||
<p>
|
||||
Synergy is reasonably well commented so reading the source code
|
||||
should be enough to understand particular pieces. See the
|
||||
<a href="PORTING"><span class="code">doc/PORTING</span></a>
|
||||
file in the synergy source code for more high-level information.
|
||||
</p>
|
||||
|
||||
<h4>How it works</h4>
|
||||
<p>
|
||||
The theory behind synergy is simple: the server captures mouse,
|
||||
keyboard, clipboard, and screen saver events and forwards them to
|
||||
one or more clients. If input is directed to the server itself
|
||||
then the input is delivered normally. In practice, however, many
|
||||
complications arise.
|
||||
</p>
|
||||
<p>
|
||||
First, different keyboard mappings can produce different characters.
|
||||
Synergy attempts to generate the same character on the client as
|
||||
would've been generated on the server, including appropriate modifier
|
||||
keys (like Control and Alt). Non-character keys like Shift are also
|
||||
synthesized if possible. Sometimes the client simply cannot create
|
||||
the character or doesn't have a corresponding non-character key and
|
||||
synergy must discard the event. Note that synergy won't necessarily
|
||||
synthesize an event for the corresponding key on the client's
|
||||
keyboard. For example, if the client or server can't distinguish
|
||||
between the left and right shift keys then synergy can't be certain
|
||||
to synthesize the shift on the same side of the keyboard as the user
|
||||
pressed.
|
||||
</p>
|
||||
<p>
|
||||
Second, different systems have different clipboards and clipboard
|
||||
formats. The X window system has a system-wide selection and
|
||||
clipboard (and yet other buffers) while Microsoft Windows has only
|
||||
a system-wide clipboard. Synergy has to choose which of these
|
||||
buffers correspond to one another. Furthermore, different systems
|
||||
use different text encodings and line breaks. Synergy mediates and
|
||||
converts between them.
|
||||
</p>
|
||||
<p>
|
||||
Finally, there are no standards across operating systems for some
|
||||
operations that synergy requires. Among these are: intercepting
|
||||
and synthesizing events; enabling, disabling, starting and stopping
|
||||
the screen saver; detecting when the screen saver starts; reading
|
||||
and writing the clipboard(s).
|
||||
</p>
|
||||
<p>
|
||||
All this means that synergy must be customized to each operating
|
||||
system (or windowing system in the case of X windows). Synergy
|
||||
breaks platform differences into two groups. The first includes
|
||||
the mundane platform dependent things: file system stuff,
|
||||
multithreading, network I/O, multi-byte and wide character
|
||||
conversion, time and sleeping, message display and logging, and
|
||||
running a process detached from a terminal. This code lives in
|
||||
<span class="code">lib/arch</span>.
|
||||
</p>
|
||||
<p>
|
||||
The second includes screen and window management handling, user
|
||||
event handling, event synthesis, the clipboards, and the screen
|
||||
saver. This code lives in <span class="code">lib/platform</span>.
|
||||
</p>
|
||||
<p>
|
||||
For both groups, there are particular classes or interfaces that
|
||||
must be inherited and implemented for each platform. See the
|
||||
<a href="PORTING"><span class="code">doc/PORTING</span></a> file in
|
||||
the synergy source code for more information.
|
||||
</p>
|
||||
<h4>Auto-generated Documentation</h4>
|
||||
<p>
|
||||
Synergy can automatically generate documentation from the comments
|
||||
in the code using <a href="http://www.doxygen.org/">doxygen</a>.
|
||||
Use "<span class="code">make doxygen</span>" to build it yourself
|
||||
from the source code into the <span class="code">doc/doxygen/html</span>
|
||||
directory.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
249
doc/faq.html
Normal file
249
doc/faq.html
Normal file
@ -0,0 +1,249 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="synergy.css" media="screen" />
|
||||
<title>Synergy FAQ</title>
|
||||
</head>
|
||||
<body class="main">
|
||||
<h3>Synergy Frequently Asked Questions</h3>
|
||||
|
||||
<h4>Questions</h4>
|
||||
<ol class="faq">
|
||||
<li><a href="#faq1">Why doesn't ctrl+alt+del work on secondary screens?</a>
|
||||
<li><a href="#faq2">Can the server and client be using different operating systems?</a>
|
||||
<li><a href="#faq3">What's the difference between synergy and x2x, x2vnc, etc?</a>
|
||||
<li><a href="#faq4">What does "Cannot initialize hook library" mean?</a>
|
||||
<li><a href="#faq5">What security/encryption does synergy provide?</a>
|
||||
<li><a href="#faq6">What should I call my screens in the configuration?</a>
|
||||
<li><a href="#faq7">Why do my Caps-Lock and Num-Lock keys act funny?</a>
|
||||
<li><a href="#faq8">Can synergy share the display in addition to the mouse and keyboard?</a>
|
||||
<li><a href="#faq9">Can synergy do drag and drop between computers?</a>
|
||||
<li><a href="#faq10">Do AltGr or Mode-Switch or ISO_Level3_Shift work?</a>
|
||||
<li><a href="#faq11">Why isn't synergy ported to platform XYZ?</a>
|
||||
<li><a href="#faq12">My client can't connect. What's wrong?</a>
|
||||
<li><a href="#faq13">Linking fails on Solaris. What's wrong?</a>
|
||||
<li><a href="#faq14">The screen saver never starts. Why not?</a>
|
||||
<li><a href="#faq15">I can't switch screens anymore for no apparent reason. Why?</a>
|
||||
<li><a href="#faq16">I get the error 'Xlib: No protocol specified'. Why?</a>
|
||||
<li><a href="#faq17">The cursor goes to secondary screen but won't come back. Why?</a>
|
||||
<li><a href="#faq18">The cursor wraps from one edge of the screen to the opposite. Why?</a>
|
||||
</ol>
|
||||
|
||||
<h4>Answers</h4>
|
||||
<ol class="faq">
|
||||
<li><a name="faq1"></a><span class="fakelink">Why doesn't ctrl+alt+del work on secondary screens?</span>
|
||||
<p>
|
||||
Synergy isn't able to capture ctrl+alt+del on PC compatible
|
||||
systems because it's handled completely differently than
|
||||
other keystrokes. However, when the mouse is on a client
|
||||
screen, pressing ctrl+alt+pause will simulate ctrl+alt+del
|
||||
on the client. (A client running on Windows NT, 2000, or XP
|
||||
must be running as a service for this to work.)
|
||||
</p>
|
||||
|
||||
<li><a name="faq2"></a><span class="fakelink">Can the server and client be using different operating systems?</span>
|
||||
<p>
|
||||
Yes. The synergy network protocol is platform neutral so
|
||||
synergy doesn't care what operating systems are running on
|
||||
the server and clients.
|
||||
</p>
|
||||
|
||||
<li><a name="faq3"></a><span class="fakelink">What's the difference between synergy and
|
||||
<span class="code">x2x</span>, <span class="code">x2vnc</span>, etc?</span>
|
||||
<p>
|
||||
Unlike <span class="code">x2x</span>, synergy supports any number of computers and
|
||||
it doesn't require X on Microsoft Windows platforms. It
|
||||
also has more advanced clipboard support and synchronizes
|
||||
screensavers. <span class="code">x2vnc</span> is also limited to two computers,
|
||||
requires the separate vnc package, and is really only
|
||||
appropriate for using an X system to control a non-X system.
|
||||
However, the right tool for the job is whatever tool works
|
||||
best for you.
|
||||
</p>
|
||||
|
||||
<li><a name="faq4"></a><span class="fakelink">What does "Cannot initialize hook library" mean?</span>
|
||||
<p>
|
||||
This error can occur on a synergy server running on a
|
||||
Microsoft Windows operating system. It means that synergy
|
||||
is already running or possibly was not shut down properly.
|
||||
If it's running then first end the synergy task. If it's
|
||||
not then try logging off and back on or rebooting then
|
||||
starting synergy again.
|
||||
</p>
|
||||
|
||||
<li><a name="faq5"></a><span class="fakelink">What security/encryption does synergy provide?</span>
|
||||
<p>
|
||||
Synergy provides no built-in encryption or authentication.
|
||||
Given that, synergy should not be used on or over any untrusted
|
||||
network, especially the Internet. It's generally fine for home
|
||||
networks. Future versions may provide built-in encryption and
|
||||
authentication.
|
||||
</p>
|
||||
<p>
|
||||
Strong encryption and authentication is available through SSH
|
||||
(secure shell). Run the SSH daemon (i.e. server) on the same
|
||||
computer that you run the synergy server. It requires no
|
||||
special configuration to support synergy. On each synergy
|
||||
client system, run SSH with port forwarding:
|
||||
</p>
|
||||
<pre>
|
||||
ssh -f -N -L 24800:<span class="arg">server-hostname</arg>:24800 <span class="arg">server-hostname</arg>
|
||||
</pre>
|
||||
<p>
|
||||
where <span class="arg">server-hostname</span> is the name of the
|
||||
SSH/synergy server.
|
||||
Once ssh authenticates itself, start the synergy client
|
||||
normally except use <span class="code">localhost</span> or
|
||||
<span class="code">127.0.0.1</span> as the server's
|
||||
address. SSH will then encrypt all communication on behalf of
|
||||
synergy. Authentication is handled by the SSH authentication.
|
||||
</p>
|
||||
<p>
|
||||
A free implementation of SSH for Linux and many Unix systems is
|
||||
<a href="http://www.openssh.com/">OpenSSH</a>. For
|
||||
Windows there's a port of OpenSSH using
|
||||
<a href="http://www.cygwin.com/">Cygwin<a>.
|
||||
</p>
|
||||
|
||||
<li><a name="faq6"></a><span class="fakelink">What should I call my screens in the configuration?</span>
|
||||
<p>
|
||||
You can use any unique name in the configuration file for each
|
||||
screen but it's easiest to use the hostname of the computer.
|
||||
That's the computer name not including the domain. For example,
|
||||
a computer with the fully qualified domain name <span class="code">xyz.foo.com</span> has
|
||||
the hostname <span class="code">xyz</span>. There should also be an alias for <span class="code">xyz</span> to
|
||||
<span class="code">xyz.foo.com</span>. If you don't use the computer's hostname, you
|
||||
have to tell synergy the name of the screen using a command line
|
||||
option, or the startup dialog on Windows.
|
||||
</p>
|
||||
<p>
|
||||
Some systems are configured to report the fully qualified domain
|
||||
name as the hostname. For those systems it will be easier to use
|
||||
the FQDN as the screen name. Also note that a Mac OS X system
|
||||
named <span class="code">xyz</span> may report its hostname as
|
||||
<span class="code">xyz.local</span>. If that's the case for you
|
||||
then use <span class="code">xyz.local</span> as the screen name.
|
||||
</p>
|
||||
|
||||
<li><a name="faq7"></a><span class="fakelink">Why do my Caps-Lock and Num-Lock keys act funny?</span>
|
||||
<p>
|
||||
Some systems treat the Caps-Lock and Num-Lock keys differently
|
||||
than all the others. Whereas most keys report going down when
|
||||
physically pressed and going up when physically released, on
|
||||
these systems the Caps-Lock and Num-Lock keys report going down
|
||||
when being activated and going up when being deactivated. That
|
||||
is, when you press and release, say, Caps-Lock to activate it, it
|
||||
only reports going down, and when you press and release to
|
||||
deactivate it, it only reports going up. This confuses synergy.
|
||||
</p>
|
||||
<p>
|
||||
You can solve the problem by changing your configuration file.
|
||||
In the screens section, following each screen that has the
|
||||
problem, add either or both of these lines as appropriate:
|
||||
</p>
|
||||
<pre>
|
||||
halfDuplexCapsLock = true
|
||||
halfDuplexNumLock = true
|
||||
</pre>
|
||||
<p>
|
||||
Then restart synergy on the server.
|
||||
</p>
|
||||
|
||||
<li><a name="faq8"></a><span class="fakelink">Can synergy share the display in addition to the mouse and keyboard?</span>
|
||||
<p>
|
||||
No. Synergy is a KM solution not a KVM (keyboard, video, mouse)
|
||||
solution. However, future versions will probably support KVM.
|
||||
Hopefully, this will make synergy suitable for managing large
|
||||
numbers of headless servers.
|
||||
</p>
|
||||
|
||||
<li><a name="faq9"></a><span class="fakelink">Can synergy do drag and drop between computers?</span>
|
||||
<p>
|
||||
No. That's a very cool idea and it'll be explored. However, it's
|
||||
also clearly difficult and may take a long time to implement.
|
||||
</p>
|
||||
|
||||
<li><a name="faq10"></a><span class="fakelink">Does AltGr/Mode-Switch/ISO_Level3_Shift work?</span>
|
||||
<p>
|
||||
Yes, as of 1.0.12 synergy has full support for AltGr/Mode-switch.
|
||||
That includes support for most (all?) European keyboard layouts.
|
||||
All systems should be using the same keyboard layout, though, for
|
||||
all characters to work. (Any character missing from a client's
|
||||
layout cannot be generated by synergy.) There is experimental
|
||||
support for ISO_Level3_Shift in 1.1.3.
|
||||
</p>
|
||||
|
||||
<li><a name="faq11"></a><span class="fakelink">Why isn't synergy ported to platform XYZ?</span>
|
||||
<p>
|
||||
Probably because the developers don't have access to platform XYZ
|
||||
and/or are unfamiliar with development on XYZ. Also, synergy has
|
||||
inherently non-portable aspects so there's a not insignificant
|
||||
effort involved in porting.
|
||||
</p>
|
||||
|
||||
<li><a name="faq12"></a><span class="fakelink">My client can't connect. What's wrong?</span>
|
||||
<p>
|
||||
A common mistake when starting the client is to give the wrong
|
||||
server host name. The last synergyc command line option (Unix)
|
||||
or the "Server Host Name" edit field (Windows) should be the
|
||||
host name (or IP address) of the server <b>not</b> the client's host
|
||||
name. If you get the error <span class="code">connection failed: cannot connect
|
||||
socket</span> followed by <span class="code">the attempt to connect was forcefully
|
||||
rejected</span> or <span class="code">connection refused</span> then the server isn't started,
|
||||
can't bind the address, or the client is connecting to the wrong
|
||||
host name/address or port.
|
||||
</p>
|
||||
|
||||
<li><a name="faq13"></a><span class="fakelink">Linking fails on Solaris. What's wrong?</span>
|
||||
<p>
|
||||
Did you add
|
||||
</p>
|
||||
<pre>
|
||||
<nobr>--x-includes=/usr/openwin/include --x-libraries=/usr/openwin/lib</nobr>
|
||||
</pre>
|
||||
<p>
|
||||
to the <span class="code">configure</span> command line? Solaris puts
|
||||
the X11 includes and libraries in an unusual place and the above lets
|
||||
synergy find them.
|
||||
</p>
|
||||
|
||||
<li><a name="faq14"></a><span class="fakelink">The screen saver never starts. Why not?</span>
|
||||
<p>
|
||||
If the synergy server is on X Windows then the screen saver will
|
||||
not start while the mouse is on a client screen. This is a
|
||||
consequence of how X Windows, synergy and xscreensaver work.
|
||||
</p>
|
||||
|
||||
<li><a name="faq15"></a><span class="fakelink">I can't switch screens anymore for no apparent reason. Why?</span>
|
||||
<p>
|
||||
This should not happen with 1.1.3 and up. Earlier versions of
|
||||
synergy would not allow switching screens when a key was down and
|
||||
sometimes it would believe a key was down when it was not.
|
||||
</p>
|
||||
|
||||
<li><a name="faq16"></a><span class="fakelink">I get the error 'Xlib: No protocol specified'. Why?</span>
|
||||
<p>
|
||||
You're running synergy without authorization to connect to the
|
||||
X display. Typically the reason is running synergy as root when
|
||||
logged in as non-root. Just run synergy as the same user that's
|
||||
logged in.
|
||||
</p>
|
||||
|
||||
<li><a name="faq17"></a><span class="fakelink">The cursor goes to secondary screen but won't come back. Why?</span>
|
||||
<p>
|
||||
Your configuration is incorrect. You must indicate the neighbors
|
||||
of every screen. Just because you've configured 'Apple' to be to
|
||||
the left of 'Orange' does not mean that 'Orange' is to the right
|
||||
of 'Apple'. You must provide both in the configuration.
|
||||
</p>
|
||||
|
||||
<li><a name="faq18"></a><span class="fakelink">The cursor wraps from one edge of the screen to the opposite. Why?</span>
|
||||
<p>
|
||||
Because you told it to. If you list 'Orange' to be to the left of
|
||||
'Orange' then moving the mouse off the left edge of 'Orange' will
|
||||
make it jump to the right edge. Remove the offending line from the
|
||||
configuration if you don't want that behavior.
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,6 +1,12 @@
|
||||
History of Synergy
|
||||
==================
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="synergy.css" media="screen" />
|
||||
<title>Synergy History</title>
|
||||
</head>
|
||||
<body class="main">
|
||||
<h3>Synergy History</h3>
|
||||
<p>
|
||||
The first incarnation of synergy was CosmoSynergy, created by
|
||||
Richard Lee and Adam Feder then at Cosmo Software, Inc., a
|
||||
subsidiary of SGI (nee Silicon Graphics, Inc.), at the end of
|
||||
@ -10,7 +16,11 @@ both an Irix and a Windows box on their desks and switchboxes
|
||||
were expensive and annoying. CosmoSynergy was a great success
|
||||
but Cosmo Software declined to productize it and the company
|
||||
was later closed.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
Synergy is a from-scratch reimplementation of CosmoSynergy.
|
||||
It provides most of the features of the original and adds a
|
||||
few improvements.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
96
doc/index.html
Normal file
96
doc/index.html
Normal file
@ -0,0 +1,96 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="synergy.css" media="screen" />
|
||||
<title>Synergy Introduction</title>
|
||||
</head>
|
||||
<body class="main">
|
||||
<h3>Synergy</h3>
|
||||
<h4>Introduction</h4>
|
||||
<p>
|
||||
synergy: [noun] a mutually advantageous conjunction of distinct elements
|
||||
</p>
|
||||
<p>
|
||||
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 monitor(s).
|
||||
</p>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
<p>
|
||||
Synergy is open source and released under the
|
||||
<a href="license.html#GPL">GNU Public License (GPL)</a>.
|
||||
</p>
|
||||
<h4>Links</h4>
|
||||
<p>
|
||||
<b>Local</b><br>
|
||||
Getting started:<br>
|
||||
<a href="running.html">how to run synergy</a><br>
|
||||
<a href="compiling.html">how to build synergy</a><br>
|
||||
<br>
|
||||
Using synergy:<br>
|
||||
<a href="faq.html">FAQ</a><br>
|
||||
<a href="tips.html">tips on using synergy</a><br>
|
||||
<a href="autostart.html">autostart guide</a><br>
|
||||
<a href="configuration.html">configuration file format guide</a><br>
|
||||
<br>
|
||||
Future directions:<br>
|
||||
<a href="todo.html">roadmap to future enhancements</a><br>
|
||||
<br>
|
||||
For developers:<br>
|
||||
<a href="developer.html">developer's guide</a><br>
|
||||
<br>
|
||||
Security:<br>
|
||||
<a href="security.html">important note about security with synergy</a><br>
|
||||
<br>
|
||||
Miscellaneous documents:<br>
|
||||
<a href="authors.html">the authors of synergy</a><br>
|
||||
<a href="history.html">the history of synergy</a><br>
|
||||
<a href="license.html">the synergy license terms</a><br>
|
||||
<a href="news.html">news about synergy</a><br>
|
||||
<br>
|
||||
<b>Internet</b><br>
|
||||
<a href="http://synergy2.sourceforge.net/">synergy home page</a><br>
|
||||
<a href="http://sourceforge.net/projects/synergy2/">synergy project page</a><br>
|
||||
<a href="http://sourceforge.net/tracker/?func=browse&group_id=59275&atid=490467">synergy bug list</a><br>
|
||||
<a href="http://sourceforge.net/forum/?group_id=59275">synergy community forums</a><br>
|
||||
</p>
|
||||
<h4>System Requirements</h4>
|
||||
<p>
|
||||
<ul>
|
||||
<li>Microsoft Windows 95, Windows 98, Windows Me (the Windows 95 family)
|
||||
<li>Microsoft Windows NT, Windows 2000, Windows XP (the Windows NT family)
|
||||
<li>Mac OS X 10.2 or higher
|
||||
<li>Unix
|
||||
<ul>
|
||||
<li>X Windows version 11 revision 4 or up
|
||||
<li>XTEST extension<br>
|
||||
(use "<span class="code">xdpyinfo | grep XTEST</code>" to check for XTEST)
|
||||
</ul>
|
||||
</ul>
|
||||
All systems must support TCP/IP networking.
|
||||
</p>
|
||||
<p>
|
||||
"Unix" includes Linux, Solaris, Irix and other variants. Synergy has
|
||||
only been extensively tested on Linux and may not work completely or
|
||||
at all on other versions of Unix. Patches are welcome (including
|
||||
patches that package binaries) at the
|
||||
<a href="http://sourceforge.net/tracker/?group_id=59275&atid=490469">patches page</a>.
|
||||
</p>
|
||||
<p>
|
||||
The Mac OS X port is incomplete. It does not synchronize the screen saver,
|
||||
only text clipboard data works (i.e. HTML and bitmap data do not work),
|
||||
non-US English keyboards are untested and probably don't work, and there
|
||||
may be problems with mouse pointer and mouse wheel acceleration. Other
|
||||
problems should be <a href="http://sourceforge.net/tracker/?func=add&group_id=59275&atid=490467">filed as bugs</a>.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
@ -1,16 +1,25 @@
|
||||
Synergy is copyright (C) 2002 Chris Schoeneman.
|
||||
Synergy is distributed under the following license.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="synergy.css" media="screen" />
|
||||
<title>Synergy License and Copyright</title>
|
||||
</head>
|
||||
<body class="main">
|
||||
<h3>Synergy License and Copyright</h3>
|
||||
<p>
|
||||
Synergy is copyright (C) 2002 Chris Schoeneman.<br>
|
||||
Synergy is distributed under the GNU GENERAL PUBLIC LICENSE.
|
||||
</p>
|
||||
<h4><a name="GPL"></a>GNU GENERAL PUBLIC LICENSE</h4>
|
||||
<b>Version 2, June 1991</b>
|
||||
<p>
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.<br>
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
</p>
|
||||
<h4>Preamble</h4>
|
||||
<p>
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
@ -20,48 +29,55 @@ Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
</p>
|
||||
<h4>GNU GENERAL PUBLIC LICENSE<br>
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</h4>
|
||||
<p>
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
@ -71,14 +87,16 @@ that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
</p>
|
||||
<p>
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
@ -86,23 +104,31 @@ copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
</p>
|
||||
<p>
|
||||
<table><tr><td> </td>
|
||||
<td>
|
||||
<p>
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
@ -113,7 +139,10 @@ above, provided that you also meet all of these conditions:
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
</p>
|
||||
</td></tr></table>
|
||||
</p>
|
||||
<p>
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
@ -123,38 +152,50 @@ distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
</p>
|
||||
<p>
|
||||
<table><tr><td> </td>
|
||||
<td>
|
||||
<p>
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
</p>
|
||||
<p>
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
</p>
|
||||
<p>
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
</p>
|
||||
</td></tr></table>
|
||||
</p>
|
||||
<p>
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
@ -165,13 +206,15 @@ anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
@ -179,7 +222,8 @@ void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
@ -188,7 +232,8 @@ modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
@ -196,7 +241,8 @@ these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
@ -209,12 +255,14 @@ license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
@ -225,10 +273,12 @@ through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
@ -236,12 +286,14 @@ may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
@ -249,7 +301,8 @@ either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
@ -257,9 +310,11 @@ Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
</p>
|
||||
<p>
|
||||
<b>NO WARRANTY</b>
|
||||
</p>
|
||||
<p>
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE
|
||||
IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
|
||||
@ -270,7 +325,8 @@ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
|
||||
ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED
|
||||
TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY
|
||||
WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED
|
||||
@ -282,5 +338,9 @@ LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
|
||||
PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH
|
||||
HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
</p>
|
||||
<p>
|
||||
<b>END OF TERMS AND CONDITIONS</b>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
335
doc/news.html
Normal file
335
doc/news.html
Normal file
@ -0,0 +1,335 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="synergy.css" media="screen" />
|
||||
<title>Synergy News</title>
|
||||
</head>
|
||||
<body class="main">
|
||||
<h3>Synergy News</h3>
|
||||
|
||||
<span class="date">Jun-13-2004</span> - Synergy 1.1.7 released
|
||||
|
||||
<p>
|
||||
Made following changes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Added OS X precompiled header file forgotten in last build
|
||||
<li>Fixed bug in fix for 'unexpected async reply' on X11
|
||||
<li>Removed dependency on "browser" service on win32
|
||||
<li>Fixed assertion failure when connection fails immediately
|
||||
<li>Fixed failure to connect on AIX
|
||||
<li>Fixed error in conversion from multibyte to wide characters
|
||||
<li>Maybe fixed win32 screen saver detection
|
||||
</ul>
|
||||
|
||||
<span class="date">May-26-2004</span> - Synergy 1.1.6 released
|
||||
|
||||
<p>
|
||||
Made following changes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Added preliminary Mac OS X support (client and server)
|
||||
<li>Fixed ctrl+alt+del emulation on win32
|
||||
<li>Fixed ctrl+alt+del on win32 server acting on both client and server
|
||||
<li>Fixed handling of screen resolution changes on win32
|
||||
<li>Fixed 'unexpected async reply' on X11
|
||||
<li>Added dependency to win32 service to avoid startup race condition
|
||||
<li>Fixed reference count bug
|
||||
<li>Keyboard input focus now restored on X11 (fixes loss of input in some games)
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The OS X port does not yet support:
|
||||
</p>
|
||||
<ul>
|
||||
<li>HTML and bitmap clipboard data
|
||||
<li>Screen saver synchronization
|
||||
<li>Non-US English keyboards
|
||||
</ul>
|
||||
|
||||
<span class="date">May-05-2004</span> - Synergy 1.1.5 released
|
||||
|
||||
<p>
|
||||
Made following changes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>No longer switching screens when a mouse button is down
|
||||
<li>Worked around win32 mouse hook bug, fixing switch on double tap
|
||||
<li>Added support for HTML and bitmap (image/bmp) clipboard data
|
||||
<li>Physical mouse no longer necessary on win32 secondary screens to see cursor
|
||||
<li>Added experimental relative mouse moves on secondary screen option
|
||||
<li>Fixed win32 lock up when closing server with clients still connected
|
||||
<li>Fixed bug in handling duplicate connections
|
||||
<li>Fixed pthread mutex initialization
|
||||
<li>Made synergy dependent on NetBT on win32 (for service startup order)
|
||||
<li>Automake fixes; now mostly works on darwin and MinGW
|
||||
<li>Fixed builds on Solaris 9, FreeBSD, and OpenBSD
|
||||
<li>Partial support for MSYS/MinGW builds (NOT COMPLETE)
|
||||
<li>Partial merge of OS X port (NOT COMPLETE)
|
||||
</ul>
|
||||
|
||||
<span class="date">Mar-31-2004</span> - Synergy 1.1.4 released
|
||||
|
||||
<p>
|
||||
Made following changes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Fixed lookup of hosts by name of win32
|
||||
<li>Reverted tray icon code to 1.0.15 version; seems to fix the bugs
|
||||
<li>Fixed crash when caps, num, or scroll lock not in key map on X11
|
||||
<li>Fixed double tap and wait to switch features
|
||||
</ul>
|
||||
|
||||
<span class="date">Mar-28-2004</span> - Synergy 1.1.3 released
|
||||
|
||||
<p>
|
||||
Made following changes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Major code refactoring; reduced use of threads, added event queue
|
||||
<li>Removed unused HTTP support code
|
||||
<li>No longer interfering with mouse when scroll lock is toggled on
|
||||
<li>Fixed minor mispositioning of mouse on win32
|
||||
<li>Unix portability fixes
|
||||
<li>Added support for power management
|
||||
<li>Improved keyboard handling and bug fixes
|
||||
<li>Fixed dead key handling
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Note: the tray icon on windows is known to not work correctly when
|
||||
running the synergy server on Windows 95/95/Me.
|
||||
</p>
|
||||
|
||||
<span class="date">Aug-24-2003</span> - Synergy 1.0.14 released
|
||||
|
||||
<p>
|
||||
Made following changes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Fixed bugs in setting win32 process/thread priority
|
||||
<li>Fixed resource leak in opening win32 system log
|
||||
<li>Fixed win32 launcher not getting non-default advanced options
|
||||
<li>Synergy log copied to clipboard now transferred to other screens
|
||||
<li>Hack to work around lesstif clipboard removed (fixes pasting on X)
|
||||
</ul>
|
||||
|
||||
<span class="date">Jul-20-2003</span> - Synergy 1.0.12 released
|
||||
|
||||
<p>
|
||||
This release finally completes support for non-ASCII characters,
|
||||
fully supporting most (all?) European keyboard layouts including
|
||||
dead key composition. This release includes changes from several
|
||||
experimental versions (1.0.9, 1.0.11, 1.1.0, 1.1.1, 1.1.2, and
|
||||
1.1.3).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Made following changes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Added non-ASCII support to win32 and X11
|
||||
<li>Added dead key support to win32 and X11
|
||||
<li>Fixed AltGr handling
|
||||
<li>Added ctrl+alt+del simulation using ctrl+alt+pause
|
||||
<li>Fixed loss of key event when user releases ctrl+alt+del
|
||||
<li>Fixed incorrect synthesis of pointer-keys event on X11
|
||||
<li>Fixed Xinerama support
|
||||
<li>Made some clipboard fixes on win32 and X11
|
||||
<li>Add tray icon menu item to copy log to clipboard
|
||||
<li>Fixed mouse warping on unconnected client
|
||||
<li>Stopped unconnected client from filling up event logs
|
||||
</ul>
|
||||
|
||||
<span class="date">May-10-2003</span> - Synergy 1.0.8 released
|
||||
|
||||
<p>
|
||||
Made following changes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Fixed hook forwarding (fixing interaction with objectbar)
|
||||
<li>Fixed "Windows" key handling and added support Win+E, Win+F, etc
|
||||
<li>Added win 95/98/me support for Alt+Tab, Alt+Esc, Ctrl+Esc
|
||||
<li>Fixed scroll lock locking to server screen
|
||||
<li>Fixed screen flashing on X11 and Windows
|
||||
<li>Fixed compile problem on 64 bit systems
|
||||
<li>Fixed Xinerama support
|
||||
<li>Now allowing screen names that include underscores
|
||||
<li>Improved non-ASCII key handling on Windows
|
||||
<li>Fixed lagginess
|
||||
<li>Fixed failure to capture all mouse input on Windows
|
||||
<li>Fixed auto-repeat bugs on X11
|
||||
<li>Added option to disable screen saver synchronization
|
||||
<li>Added support for 4th and 5th mouse buttons on Windows
|
||||
<li>Added support for "Internet" and "Multimedia" keys
|
||||
<li>Fixed jumping from client to itself (mouse wrapping)
|
||||
</ul>
|
||||
|
||||
<span class="date">Mar-27-2003</span> - Synergy 1.0.6 released
|
||||
|
||||
<p>
|
||||
Made following changes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Added tray icon on win32
|
||||
<li>Fixed multi-monitor support on win32
|
||||
<li>Fixed win32 screen saver detection on NT/2k/XP
|
||||
<li>Added per-screen options to remap modifier keys
|
||||
<li>Added global options for restricting screen jumping
|
||||
<li>Added global option for detecting unresponsive clients
|
||||
<li>Added more logging for why screen jump won't happen
|
||||
<li>Fixed problem sending the CLIPBOARD to motif/lesstif apps
|
||||
<li>Win32 launcher now remembers non-config-file state
|
||||
</ul>
|
||||
|
||||
<span class="date">Feb-18-2003</span> - Synergy 1.0.3 released
|
||||
|
||||
<p>
|
||||
Made following changes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Support for X11 keymaps with only uppercase letters
|
||||
<li>Fixed memory leaks
|
||||
<li>Added documentation on using synergy with SSH
|
||||
<li>Fixed unnecessary left-handed mouse button swapping
|
||||
<li>Fixed debug build error on win32
|
||||
<li>Reduced frequency of large cursor jumps when leaving win32 server
|
||||
<li>Changed cursor motion on win32 multimon to relative moves only
|
||||
</ul>
|
||||
|
||||
<span class="date">Jan-25-2003</span> - Synergy 1.0.2 released
|
||||
|
||||
<p>
|
||||
Made following changes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Fixed out-of-bounds array lookup in the BSD and Windows network code
|
||||
<li>Added ability to set screen options from Windows launch dialog
|
||||
</ul>
|
||||
|
||||
<span class="date">Jan-22-2003</span> - Synergy 1.0.1 released
|
||||
|
||||
<p>
|
||||
Made following changes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Fixed running as a service on Windows NT family
|
||||
</ul>
|
||||
|
||||
<span class="date">Jan-20-2003</span> - Synergy 1.0.0 released
|
||||
|
||||
<p>
|
||||
Made following changes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Refactored to centralize platform dependent code
|
||||
<li>Added support for mouse wheel on Windows NT (SP3 and up)
|
||||
<li>Portability improvements
|
||||
<li>Added more documentation
|
||||
<li>Fixes for working with xscreensaver
|
||||
<li>Fixes for circular screen links
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
This release has been tested on Linux and Windows. It builds and
|
||||
is believed to run on Solaris and FreeBSD. It is believed to
|
||||
build and run on Irix and AIX. It builds but does not work on
|
||||
MacOS X.
|
||||
</p>
|
||||
|
||||
<span class="date">Dec-25-2002</span> - Synergy 0.9.14 released
|
||||
|
||||
<p>
|
||||
Made following changes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Fixed solaris compile problems (untested)
|
||||
<li>Fixed irix compile problems (untested)
|
||||
<li>Fixed windows client not reconnecting when server dies bug
|
||||
<li>Fixed loss of ctrl+alt from windows server to non-windows clients
|
||||
<li>Fixed handling of password protected windows client screen saver
|
||||
<li>Now handling any number of pointer buttons on X11
|
||||
<li>Toggle key states now restored when leaving clients
|
||||
<li>Added support for per-screen config options
|
||||
<li>Added config options for half-duplex toggle keys on X11
|
||||
<li>Enabled class diagrams in doxygen documentation
|
||||
</ul>
|
||||
|
||||
<span class="date">Nov-05-2002</span> - Synergy 0.9.13 released
|
||||
|
||||
<p>
|
||||
Made following changes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Fixed solaris compile problems (untested)
|
||||
<li>Fixed MacOS X compile problems (semi-functional)
|
||||
<li>Fixed gcc-3.2 compile problems
|
||||
<li>Fixed some thread startup and shutdown bugs
|
||||
<li>Server now quits if bind() fails with an error other than in use
|
||||
<li>Fixed bug in moving mouse on Win98 without multiple monitors
|
||||
<li>Fixed bug in handling TCP socket errors on read and write
|
||||
<li>Fixed spurious screen saver activation on X11
|
||||
<li>Unix platforms can now read Win32 configuration files
|
||||
<li>Minor error reporting fixes
|
||||
</ul>
|
||||
|
||||
<span class="date">Sep-14-2002</span> - Synergy 0.9.12 released
|
||||
|
||||
<p>
|
||||
Made following changes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Win32 was not reporting log messages properly when run from synergy.exe
|
||||
<li>Network error messages weren't reporting useful information
|
||||
<li>Synergy won't build on gcc 3.2; added workaround for known problem
|
||||
<li>X11 wasn't handling some keys/key combinations correctly
|
||||
<li>Added option to change logging level when testing from synergy.exe
|
||||
</ul>
|
||||
|
||||
<span class="date">Sep-04-2002</span> - Synergy 0.9.11 released
|
||||
|
||||
<p>
|
||||
Fixed following bugs:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Worked around missing SendInput() on windows 95/NT 4 prior to SP3
|
||||
<li>Fixed keyboard mapping on X11 synergy client
|
||||
</ul>
|
||||
|
||||
<span class="date">Sep-02-2002</span> - Synergy 0.9.10 released
|
||||
|
||||
<p>
|
||||
Fixed following bugs:
|
||||
</p>
|
||||
<ul>
|
||||
<li>The Pause/Break and KP_Enter buttons were not working correctly on windows
|
||||
<li>Configuration options were being lost on windows after a reboot
|
||||
<li>Added support for AltGr/ModeSwitch keys
|
||||
<li>Added support for auto-start on windows when not administrator
|
||||
<li>Improved autoconf
|
||||
<li>Added workaround for lack of sstream header on g++ 2.95.
|
||||
</ul>
|
||||
|
||||
<span class="date">Aug-18-2002</span> - Synergy 0.9.9 released
|
||||
|
||||
<p>
|
||||
Fixed three bugs:
|
||||
</p>
|
||||
<ul>
|
||||
<li>The PrintScrn button was not working correctly on windows
|
||||
<li>The Win32 server could hang when a client disconnected
|
||||
<li>Using the mouse wheel could hang the X server
|
||||
</ul>
|
||||
|
||||
<span class="date">Aug-11-2002</span> - Synergy 0.9.8 released
|
||||
|
||||
<p>
|
||||
Supports any number of clients under Linux or Windows 95 or NT4
|
||||
or later. Includes mouse and keyboard sharing, clipboard
|
||||
synchronization and screen saver synchronization. Supports ASCII
|
||||
keystrokes, 5 button mouse with wheel, and Unicode text clipboard
|
||||
format.
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
361
doc/running.html
Normal file
361
doc/running.html
Normal file
@ -0,0 +1,361 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="synergy.css" media="screen" />
|
||||
<title>Guide to Running Synergy</title>
|
||||
</head>
|
||||
<body class="main">
|
||||
<h3>Running Synergy</h3>
|
||||
<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>
|
||||
|
||||
<h4>Step 1 - Choose a server</h4>
|
||||
<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>
|
||||
|
||||
<h4>Step 2 - Install the software</h4>
|
||||
<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.
|
||||
</p>
|
||||
|
||||
<h4>Step 3 - Configure and start the server</h4>
|
||||
<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>
|
||||
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">Server</span> radio button
|
||||
<li>Click <span class="code">Add</span> 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 <span class="code">Add</span> 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</span> dialog
|
||||
</ul>
|
||||
<li>Use the controls under <span class="code">Layout</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>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.
|
||||
</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.
|
||||
<pre>
|
||||
synergys -f --config synergy.conf
|
||||
</pre>
|
||||
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>
|
||||
|
||||
<h4>Step 4 - Start the clients</h4>
|
||||
<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">Client</span> radio button
|
||||
<li>Enter the server's computer name in <span class="code">Server 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, 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.
|
||||
</p>
|
||||
<h4>Step 5 - Test</h4>
|
||||
<p>
|
||||
Clients should immediately report a successful connection or one or
|
||||
more error messages. Here are the typical problems and possible
|
||||
solutions:
|
||||
<ul>
|
||||
<li>failed to open screen (X11 only)
|
||||
<p>
|
||||
Check permission to open the X display;<br>
|
||||
check that the DISPLAY environment variable is set.
|
||||
</p>
|
||||
<li>already connected
|
||||
<p>
|
||||
Check that the synergy client isn't already running.
|
||||
</p>
|
||||
<li>refused client
|
||||
<p>
|
||||
Add the client to the server's configuration file.
|
||||
</p>
|
||||
<li>connection failed
|
||||
<p>
|
||||
check that <span class="arg">server-host-name</span> is
|
||||
correct;<br>the server cannot open the desired port, stop
|
||||
the program using that port (24800) and restart the server.
|
||||
</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>
|
||||
<h4>Step 6 - Run</h4>
|
||||
<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.
|
||||
</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>
|
||||
<h4><a name="options"></a>Command Line Options Guide</h4>
|
||||
<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>.
|
||||
</p>
|
||||
<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">-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>
|
||||
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>
|
||||
<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>
|
||||
<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> and:
|
||||
</p>
|
||||
<p>
|
||||
<table>
|
||||
<tr>
|
||||
<td> </td><td><span class="code"> </span></td>
|
||||
<td><span class="code">--camp</span></td>
|
||||
<td> </td><td>retry connection to server until successful</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td><td><span class="code"> </span></td>
|
||||
<td><span class="code">--no-camp</span></td>
|
||||
<td> </td><td>try connection to server only once</td>
|
||||
</tr>
|
||||
</table>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
56
doc/security.html
Normal file
56
doc/security.html
Normal file
@ -0,0 +1,56 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="synergy.css" media="screen" />
|
||||
<title>Synergy Security Guide</title>
|
||||
</head>
|
||||
<body class="main">
|
||||
<h3>Authentication and Encryption</h3>
|
||||
<p>
|
||||
Synergy does not do any authentication or encryption. Any computer
|
||||
can connect to the synergy server if it provides a screen name known
|
||||
to the server, and all data is transferred between the server and the
|
||||
clients unencrypted which means that anyone can, say, extract the
|
||||
key presses used to type a password. Therefore, synergy should not
|
||||
be used on untrusted networks.
|
||||
</p>
|
||||
<p>
|
||||
However, there are tools that can add authentication and encryption
|
||||
to synergy without modifying either those tools or synergy. One
|
||||
such tool is SSH (which stands for secure shell). A free implementation
|
||||
of SSH is called <a href="http://www.openssh.com/">OpenSSH</a> and runs
|
||||
on Linux, many Unixes, and Windows (in combination with
|
||||
<a href="http://www.cygwin.com/">Cygwin</a>).
|
||||
</p>
|
||||
|
||||
<h3>Configuring the Server</h3>
|
||||
<p>
|
||||
Install the OpenSSH server on the same computer as the synergy server.
|
||||
Configure the OpenSSH server as usual (synergy doesn't demand any
|
||||
special options in OpenSSH) and start it. Start the synergy server as
|
||||
usual; the synergy server requires no special options to work with
|
||||
OpenSSH.
|
||||
</p>
|
||||
|
||||
<h3>Configuring the Clients</h3>
|
||||
<p>
|
||||
Install the OpenSSH client on each synergy client computer. Then, on
|
||||
each client, start the OpenSSH client using port forwarding:
|
||||
<pre>
|
||||
ssh -f -N -L 24800:<span class="arg">server-hostname</span>:24800 <span class="arg">server-hostname</span>
|
||||
</pre>
|
||||
The <span class="arg">server-hostname</span> is the name or address
|
||||
of the computer with the OpenSSH and synergy servers.
|
||||
The 24800 is the default network port used by synergy; if you use
|
||||
a different port then replace both instances of 24800 with the port
|
||||
number that you use. Finally, start the synergy client normally
|
||||
except use <span class="code">localhost</span> as the server host
|
||||
name. For example:
|
||||
<pre>
|
||||
synergyc -f localhost
|
||||
</pre>
|
||||
Synergy will then run normally except all communication is passed
|
||||
through OpenSSH which decrypts/encrypts it on behalf of synergy.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
133
doc/synergy.css
Normal file
133
doc/synergy.css
Normal file
@ -0,0 +1,133 @@
|
||||
body {
|
||||
font-family: arial, helvetica, sans-serif;
|
||||
font-size: small;
|
||||
font-weight: normal;
|
||||
margin-left: 0in;
|
||||
margin-right: 0in;
|
||||
}
|
||||
|
||||
/* show underline on light blue links only on hover */
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: #6699ff;
|
||||
}
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* heading */
|
||||
h3 {
|
||||
display: block;
|
||||
margin-top: 0em;
|
||||
margin-bottom: 1.25em;
|
||||
font-weight: bold;
|
||||
font-variant: small-caps;
|
||||
font-size: 125%;
|
||||
}
|
||||
|
||||
/* subheading */
|
||||
h4 {
|
||||
display: block;
|
||||
margin-top: 0em;
|
||||
margin-bottom: 1em;
|
||||
font-weight: bold;
|
||||
font-variant: small-caps;
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
/* emphasis */
|
||||
b {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* formatted code */
|
||||
pre {
|
||||
display: block;
|
||||
white-space: pre;
|
||||
font-family: courier;
|
||||
font-size: 87.5%;
|
||||
}
|
||||
|
||||
.banner {
|
||||
font-weight: normal;
|
||||
font-variant: small-caps;
|
||||
font-size: 400%;
|
||||
width: 100%;
|
||||
padding: 0px 0px 0px 5px;
|
||||
border-bottom: solid #6699ff 1px;
|
||||
}
|
||||
.banner a {
|
||||
color: #000000;
|
||||
}
|
||||
.banner a:hover {
|
||||
text-decoration: none;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.nav {
|
||||
font-size: x-small;
|
||||
font-weight: normal;
|
||||
background-color: #d4d4d4;
|
||||
|
||||
padding: 2px 0px 2px 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
.nav a:hover {
|
||||
text-decoration: none;
|
||||
color: #666666;
|
||||
}
|
||||
.nav td {
|
||||
padding-right: 20px;
|
||||
padding-left: 5px;
|
||||
text-indent: 1em;
|
||||
}
|
||||
.nav .section {
|
||||
width: 100%;
|
||||
text-indent: 0em;
|
||||
border-top: 0px;
|
||||
border-left: 0px;
|
||||
border-right: 0px;
|
||||
border-bottom: solid #aaaaaa 1px;
|
||||
padding-bottom: 0px;
|
||||
font-weight: bold;
|
||||
color: #777777;
|
||||
}
|
||||
|
||||
.main {
|
||||
font-size: small;
|
||||
font-weight: normal;
|
||||
margin-left: 0.1in;
|
||||
margin-right: 0.25in;
|
||||
}
|
||||
|
||||
.main table {
|
||||
font-size: small;
|
||||
font-weight: normal;
|
||||
margin-left: 0.1in;
|
||||
margin-right: 0.25in;
|
||||
}
|
||||
|
||||
.date {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.arg {
|
||||
font-style: italic;
|
||||
font-family: courier;
|
||||
}
|
||||
|
||||
.code {
|
||||
font-family: courier;
|
||||
}
|
||||
|
||||
.code table {
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
.fakelink {
|
||||
color: #6699ff;
|
||||
}
|
||||
|
||||
.hide {
|
||||
display:none
|
||||
}
|
93
doc/tips.html
Normal file
93
doc/tips.html
Normal file
@ -0,0 +1,93 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="synergy.css" media="screen" />
|
||||
<title>Synergy Tips and Tricks</title>
|
||||
</head>
|
||||
<body class="main">
|
||||
<h3>Tips and Tricks</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
|
||||
<li>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
|
||||
<li>
|
||||
<p>
|
||||
You cannot switch screens when the Scroll Lock is toggled on. Use
|
||||
this to prevent unintentional switching.
|
||||
</p>
|
||||
|
||||
<li>
|
||||
<p>
|
||||
Turn off mouse driven virtual desktop switching on X windows. It
|
||||
will interfere with synergy. Use keyboard shortcuts instead.
|
||||
</p>
|
||||
|
||||
<li>
|
||||
<p>
|
||||
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 <span class="code">-mit-extension</span>,
|
||||
<span class="code">-sgi-extension</span>, or
|
||||
<span class="code">-xidle-extension</span>
|
||||
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 <span class="code">.xscreensaver</span> file.
|
||||
</p>
|
||||
|
||||
<li>
|
||||
<p>
|
||||
Synergy automatically converts newlines in clipboard text (Unix
|
||||
expects <span class="code">\n</span> to end each line while Windows
|
||||
expects <span class="code">\r\n</span>).
|
||||
</p>
|
||||
|
||||
<li>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
|
||||
<li>
|
||||
<p>
|
||||
A client's keyboard and mouse are fully functional while synergy is
|
||||
running. You can use them in case synergy locks up.
|
||||
</p>
|
||||
|
||||
<li>
|
||||
<p>
|
||||
Strong authentication and encryption is available by using SSH. See
|
||||
the <a href="security.html">security guide</a> for more information.
|
||||
Synergy does not otherwise provide secure communications and it should
|
||||
not be used on or over untrusted networks.
|
||||
</p>
|
||||
|
||||
<li>
|
||||
<p>
|
||||
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
|
||||
(<span class="code">command.exe</span>)
|
||||
and this includes synergy's log window when running in test mode.
|
||||
</p>
|
||||
</ul>
|
||||
|
||||
</body>
|
||||
</html>
|
70
doc/todo.html
Normal file
70
doc/todo.html
Normal file
@ -0,0 +1,70 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="synergy.css" media="screen" />
|
||||
<title>Synergy To Do List</title>
|
||||
</head>
|
||||
<body class="main">
|
||||
<h3>Synergy To Do List</h3>
|
||||
<p>
|
||||
This page describes the planned development of Synergy. There are
|
||||
no dates or deadlines. Instead, you'll find the features to come
|
||||
and the rough order they can be expected to arrive.
|
||||
</p>
|
||||
|
||||
<h4>Short term</h4>
|
||||
<p>
|
||||
Synergy should work seamlessly. When it works correctly, it works
|
||||
transparently so you don't even think about it. When it breaks,
|
||||
you're forced out of the illusion of a unified desktop. The first
|
||||
priority is fixing those bugs that break the illusion.
|
||||
</p>
|
||||
<p>
|
||||
Some of these bugs are pretty minor and some people would rather
|
||||
have new features first. But I'd rather fix the current
|
||||
foundation before building on it. That's not to say features
|
||||
won't get added until after bug fixes; sometimes it's just too
|
||||
tempting to code up a feature.
|
||||
</p>
|
||||
|
||||
<h4>Medium term</h4>
|
||||
<p>
|
||||
Some features fit well into Synergy's current design and may simply
|
||||
enhance it's current capabilities.
|
||||
<ul>
|
||||
<li>Configurable hot key screen switching
|
||||
<li>Configurable hot key to lock to a screen
|
||||
<li>Configurable hot key to pop up a screen switch menu
|
||||
<li>Configure screen saver synchronization on or off
|
||||
<li>Graphical interface configuration and control on all platforms
|
||||
<li>Graphical status feedback on all platforms
|
||||
<li>More supported clipboard formats (particularly rich text)
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<h4>Long term</h4>
|
||||
<p>
|
||||
Two features stand out as long term goals:
|
||||
<ul>
|
||||
<li>Support <span class="arg">N</span> computers on
|
||||
<span class="arg">M</span> monitors
|
||||
<li>Drag and drop across computers
|
||||
</ul>
|
||||
</p>
|
||||
<p>
|
||||
The first feature means sharing a monitor or monitors the way the
|
||||
keyboard and mouse are shared. With this, Synergy would be a full
|
||||
KVM solution. Not only would it support a few computers sharing
|
||||
one screen (still using the mouse to roll from one screen to
|
||||
another), but it should also support dozens of computers to provide
|
||||
a solution for server farm administrators. In this capacity, it
|
||||
may need to support text (as opposed to bitmap graphics) screens.
|
||||
</p>
|
||||
<p>
|
||||
The second feature would enhance the unified desktop illusion. It
|
||||
would make it possible to drag a file and possibly other objects
|
||||
to another screen. The object would be copied (or moved). I expect
|
||||
this to be a very tricky feature.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user