The synergy server requires configuration. It will try certain pathnames to load the configuration file if you don't specify a path using the --config command line option. synergys --help reports those pathnames.
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:
section: name args endComments are introduced by # and continue to the end of the line. name must be one of the following:
The file is parsed top to bottom and names cannot be used before they've been defined in the screens or aliases sections. So the links and aliases must appear after the screens and links cannot refer to aliases unless the aliases appear before the links.
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. (This is the computer's network name on win32 and the name reported by the program hostname on Unix and OS X. Note that OS X may append .local to the name you gave your computer; e.g. somehost.local.) 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 are listed one per line after the screen name.
Example:
section: screens moe: larry: halfDuplexCapsLock = true halfDuplexNumLock = true curly: meta = alt endThis 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 modifier key.
A screen can have the following options:
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 true on the server screen. If it acts strangely on one screen then that screen may need the option set to true.
This is identical to halfDuplexCapsLock except it applies to the Num Lock key.
This is identical to halfDuplexCapsLock except it applies to the Scroll Lock key. Note that synergy uses Scroll Lock to keep the cursor on the current screen. That is, when Scroll Lock is toggled on, the cursor is locked to the screen that it's currently on. Use it to prevent accidental switching.
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.
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).
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 endScreen 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).
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 endThis 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.
args is a list of lines of the form name = value. These set the global options.
Example:
section: options heartbeat = 5000 switchDelay = 500 end
You can use the following options:
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.
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.
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.
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.
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.