Setting up synergy-core

Synergy is a keyboard and mouse sharing application for Windows, Linux, and Mac OS X. While the distributed version is paid-for, it is open-source and can be used for free.

If you'd like to build it yourself, check out the github, but lucky for you, it's already been built for Linux and hosted on klaxon. See the script listed on the webpage to run applications from klaxon.

Synergy requires one computer to act as a server and the rest as clients. On the server computer run synergy-core --server. You can get help with synergy-core --server --help. One useful option is -f, which runs the server in the foreground, making the log visible to the console.
On the client, run synergy-core --client, with --help and -f working as expected.

BUT WAIT!
You will need a config file -- otherwise the server will drop all connections from incoming clients. The config file syntax is fairly well documented on the synergy-core wiki. Here's a basic one for two computers to get you started:

cat ~/.synergy.conf
section: screens
    pc1:
    pc2:
end
section: aliases
    pc1:
        pc1.example.com
    pc2:
        pc2.example.com
end
section: links
    pc1:
        right = pc2
    pc2:
        left = pc1
end
section: options
    heartbeat = 1000
end

For Windows

I've not been able to get the graphical version working, but as with Linux, there are command-line binaries which seem to work. If you're feeling brave, you can build the Windows version, although it requres a lot of dependencies which I didn't have access to install. Instead, you can find nightly builds which include Windows MSIs. While on an unprivileged user account you probably can't run the installer, owing to the nature of MSI files you can simply unzip them with a tool like 7-zip, or using the Windows command prompt:

msiexec /a synergy.msi /qb TARGETDIR=c:\temp\synergy

The above code will extract synergy.msi found in the current folder to the directory c:\temp\synergy\.
Once you've extracted Synergy, you probably want to keep the folder together (I'm not sure which files depend on each other). synergy.exe is the graphical version, which seems to have some issues. synergys.exe and synergyc.exe are the server and client CLI versions, respectively. You should be able to use them in the same way as on Linux. For example, to connect to a server running on pc1, type synergyc.exe pc1.

On another network

If you want to run Synergy across networks (for example, connect your laptop on WiFi to a lab PC in CSE), you'll need SSH tunnels. See this blog post for more details.