Help: http://synergy-project.org/help/ Wiki: http://synergy-project.org/wiki/ == Introduction == Before building you will need to install the [[#Dependencies|dependencies]]. To build, use the <code>hm</code> (or <code>./hm.sh</code>) script located the root of our project directory. This is just a wrapper for <code>cmake</code>, so you don't need to use it, however we recommend you do. The <code>conf</code> command will generate the projects in the <code>build</code> directory (which can be opened manually and used for compiling). This guide is for Synergy version 1.3.5 and above. First you need to download the [[Source Code]]. To compile 1.3.4 and below, please refer to the [http://synergy2.sourceforge.net/compiling.html legacy compile guide] on the old website. Automake will no longer be used, which means, but you can still use the GNU style <code>./configure; make</code> command sequence (the <code>configure</code> script just calls cmake). CMake is *not* a replacement for <code>make</code> or Visual Studio; it doesn't compile source code, but it does generate project files (like Makefile, Visual Studio, and Xcode) much like the <code>configure</code> command. The <code>-g1</code> argument (shown below) will cause the 1st CMake generator to be used; use the <code>hm genlist</code> command to see other generators. You may want to do this if you are building with Eclipse, for example. With no extra arguments, release build will be compiled. If you need the debug release, use the <code>-d</code> argument. === Windows === <pre> hm conf -g1 hm build </pre> === Unix, Linux, Mac OS X === <pre> ./hm.sh conf -g1 [-d] # Use -d to build a debug version. ./hm.sh build [-d] </pre> After compiling the executables can be found in the <code>bin</code> directory in the root of the source tree (not in the build directory). == Manual compiling == After configuring, if you want to build without using the <code>hm</code> script. === Unix Makefiles === <pre> cd build/release # or build/debug if you configured with -d make </pre> === Visual Studio === # Open the <code>build</code> directory. # Double click: <code>synergy.sln</code> # Click <code>Build</code> from the menu, then click <code>Build Solution</code>. === Xcode === Run: ./hm.sh conf -g2 to create <code>synergy.xcodeproj</code>, then: # Open the <code>build</code> directory. # Double click: <code>synergy.xcodeproj</code> # Click <code>Build</code> from the menu, then click <code>Build</code>. '''Tip:''' To build for a different version of OS X than the one you are on, go to Project, Edit Project Settings, Build. There you can change settings for Intel/PPC, 32/64-bit, and OS X version (scroll down for OS X version). Release builds should be 32-bit Universal, with base SDK 10.5. === Other IDEs === Windows users can download a free version of [http://www.microsoft.com/express/vc/ Visual C++ Express 2008], which can open the Visual Studio 2008 files generated by CMake. Other supported project types are [http://www.codeblocks.org/ Code::Blocks], [http://www.eclipse.org/cdt/ Eclipse CDT], and [http://www.mingw.org/. MinGW] For Mac OS X users, although [//developer.apple.com/technology/xcode.html Xcode] isn't necessary for compiling on Mac OS X (you can just use Unix Makefiles), it is a neat IDE and very widely used (and it's free). There others, such as [http://www.codeblocks.org/ Code::Blocks] and [http://www.eclipse.org/cdt/ Eclipse CDT] which (apparently) work on Mac OS X. === Building installers === Use the <code>hm package</code> command to build installers. Of course you can only build those that are applicable for your platform. == Dependencies == === Windows === ==== Windows XP (and above) ==== * [http://www.microsoft.com/express/vc/ Visual C++ Express 2008] (or VC++ 6.0 and above) * [http://www.cmake.org/cmake/resources/software.html CMake] * [http://www.python.org/download/ Python] * [http://synergy-foss.org/mirror/qt-sdk-win-opensource-2010.02.exe Qt SDK 2010.02] (provides qmake) You may need to add your Python install directory to the end of your PATH environment variable (System > Advanced System Settings > Environment Variables) so that <code>hm</code> can be called from the command prompt. Using Python 3.x will result in syntax errors as print became a function rather than a statement: [http://docs.python.org/3.0/whatsnew/3.0.html#print-is-a-function What's new in Python 3.0] ===== Windows x64 ===== * All dependencies required for Windows x86 * Visual Studio 2008 (x64) *SP1* or Visual Studio 2005 (x64) *SP1* * 64-bit compiler extensions installed (you may need to re-run Visual Studio setup) === Mac OS X === ==== Mac OS X 10.9 Mavericks ==== [http://www.computersnyou.com/2025/2013/06/install-command-line-tools-in-osx-10-9-mavericks-how-to/ Install Command Line Tools In OSX 10.9 Mavericks] ==== Mac OS X 10.4 (and above) ==== * [http://developer.apple.com/technology/xcode.html XCode] (*with command line tools) * [http://synergy-foss.org/mirror/qt-sdk-mac-opensource-2010.03.dmg Qt SDK 2010.03] (provides qmake) To install the command line tools, Xcode > Preferences > Downloads and install component named "Command Line Tools". If you are missing the <code>/Developer</code> directory, you may need to run (assuming the path is correct): <pre> mkdir /Developer cd /Developer ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Library ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/SDKs </pre> '''Note:''' For Mac OS X 10.5 and above, Python should already be installed. Otherwise, visit the [http://www.cmake.org/cmake/resources/software.html CMake] and [http://www.python.org/download/ Python] download pages. '''Note:''' Upgrading Mac OS X may cause the command line tools and Qt libraries to be removed (even on minor upgrades), so you may have to reinstall both each time after doing this. ==== Using "brew" method ==== [http://mxcl.github.com/homebrew/ Brew] for Mac OS X is an alternative to MacPorts and Fink. <pre> brew install cmake </pre> ==== Using "macports" method ==== If you already have [http://www.macports.org/install.php MacPorts], run: <pre> sudo port install cmake </pre> === Ubuntu 10.04 LTS === <pre> sudo apt-get install cmake make g++ xorg-dev libqt4-dev libcurl4-openssl-dev libavahi-compat-libdnssd-dev </pre> === CentOS 6.5 === <pre> su yum install cmake make gcc-c++ libX11-devel libXext-devel libXi-devel libXtst-devel libXinerama-devel libcurl-devel qt-devel avahi-compat-libdns_sd-devel PATH="$PATH:/usr/lib64/qt4/bin:/usr/lib/qt4/bin" </pre> === Fedora 20 === <pre> sudo yum install cmake make gcc-c++ libX11-devel libXtst-devel libXext-devel libXinerama-devel libcurl-devel qt-devel PATH="$PATH:/usr/lib64/qt4/bin:/usr/lib/qt4/bin" </pre> === OpenSUSE 11.1 === <pre> su yast2 -i cmake python gcc-c++ xorg-x11-devel libcurl-devel </pre> === Mandriva One 2009 === <pre> su urpmi cmake python gcc-c++ make xorg-x11-dev libcurl-dev </pre> === OpenSolaris 2009.06 === <pre> su pkg install SUNWPython SUNWcmake SUNWgcc SUNWxorg-headers SUNWxwinc libcurl-devel </pre> === Unix or other Linux === * CMake * Python * GNU Make * GCC (2.95 and up) * X11R4 and up (headers and libraries) * Xtst (e.g. libXtst-devel) * Qt 2010.03 * libCURL =Intro= Synergy lets you easily share your mouse and keyboard between multiple computers on your desk, and it’s Free and Open Source. Just move your mouse off the edge of one computer’s screen on to another. You can even share all of your clipboards. All you need is a network connection. Synergy is cross-platform (works on Windows, Mac OS X and Linux). [[File:ManualIntro.jpg]] This user guide is useful for setting up Synergy. For answers to common problems, please see the [[User FAQ]]. This user guide is written for Synergy version 1.4 – please upgrade if you are using an older version (like 1.3). To find your version, click the "Help" menu, and select "About" or "About Synergy". More information and download links can be found at [http://synergy-project.org our website]. =Install= Once you have downloaded the latest version of Synergy from our downloads page, follow the instructions below. ==Windows== To install Synergy on Windows, follow these steps: # Double click the downloaded installer. # Click "I Agree" to agree to the license. # You can choose an install location, but we recommend you use the default. # Click "Install" to begin the installation. # Once finished, click "Close" to finish the installation. If this is your first installation, the setup wizard should appear when you first run Synergy. The wizard may also appear if we've changed something or added a new feature. Note that on Windows the wizard may have started behind another window. Once you have installed Synergy on all of your machines, skip to the "Configure" section of this guide. ==Mac OS X== To install Synergy on Mac OS X, follow these steps: # Open the .dmg file you downloaded. # Drag the Synergy app into the Applications shortcut in the same window. # If prompted, click "Replace". # Open your Applications folder # Find the new Synergy app and double click. If this is your first installation, the setup wizard should appear when you first run Synergy. The wizard may also appear if we've changed something or added a new feature. Once you have installed Synergy on all of your machines, skip to the "Configure" section of this guide. ==Linux== To install Synergy on Linux, follow these steps: # Double click the .deb or .rpm file. # Follow any on-screen install instructions for your distro. # Once complete, you can find the Synergy program in Accessories. If this is your first installation, the setup wizard should appear when you first run Synergy. The wizard may also appear if we've changed something or added a new feature. Once you have installed Synergy on all of your machines, skip to the "Configure" section of this guide. =Configure= ==The Wizard== The wizard is designed to be easy enough to understand without reading a user guide. The wizard will not fully configure Synergy. You can learn how to configure Synergy by reading the remainder of this section. ==Configure a Server== The server computer will share its keyboard and mouse with clients. It needs to know about all clients that will connect to it. To tell the server about these clients, click "Configure Server". # To add a new client, drag a new screen onto the grid from the spare at the upper right. # To remove a client, drag the screen to the trash can in the upper left. # To move a client, drag the existing screen to another cell. # If you drag a screen on top of another screen, the screens will switch places. Note: This tool imposes a 5x3 limit of screens, though it is possible to have more screens by editing the configuration file manually. Once you have added a client to your grid, it will have the name "Unnamed". Double-click the icon to change its name to the name of your client. You can find out the client name that Synergy will use by looking at the main window of the Synergy application running on your client. The line labeled "Screen Name" is where you find the name that your computer calls itself. Once you have entered the client name, click "OK" to return to the grid. Repeat this process for each client you wish to add. Once you have added all clients, click "OK" to return to the main window. Now you need to click "Apply" to activate the configuration. If the Apply button is disabled, click Start. At this point you should note the "IP Addresses" line at the top of the main Synergy window. You will use one of the IP Addresses listed here on each Client computer to connect it to the Server. ''Note: A Synergy installation will have a default port number set for connecting (client) or listening (server). The server port on the Synergy server must not be blocked by a firewall (see the [http://synergy2.sourceforge.net/trouble.html Troubleshooting] page). Make sure the port the Synergy server is using allows incoming connections and that it is the same port number listed in the Synergy client (see '''Configure a Client''')'' ==Configure a Client== Once you've configured your Server, you need to connect each Client to the server. Assuming you selected "Client" during the wizard, the Client option should be checked on the main window. In the "Server IP" field, enter the IP address of the server. This will be the one from the Server's Synergy screen, in the field named "IP Addresses". Note: This field will also accept a hostname if you have DNS configured on your local network (most users do not). Click Apply or Start. ''Note: The port number on the Synergy client must be set to the same number as the port number on the Synergy server. You may check this by going to Edit --> Settings (Win/Linux) or Synergy --> Preferences to display what port numbers each are set. '' =Troubleshooting= *My Client and Server both state they are "connected" but my mouse does not leave the screen Is your Scroll Lock key activated? This is useful for when playing video games or other full screen applications. The Scroll Lock key can be used to prevent the mouse switching input to another screen. Users that don't have a Scroll Lock key can re-assign the lock key by clicking "Configure Server" and selecting the "Hotkeys" tab. *Why is the mouse over sensitive in games on the client? To solve this you need to do two things. First enable relative mouse movements on the server: # Click "Configure Server", # Click the "Advanced server settings" tab, # Tick the "Use relative mouse moves" checkbox # Click "OK" If this doesn't work, you can try to lock the mouse to your client screen by pressing the Scroll Lock key. Press it again to unlock. *Why do certain programs stop me from moving the mouse off screen? This usually occurs in Vista and above, and is due to UAC in Windows. The solution to this is to run Synergy in "Elevated" mode (this can be selected at the bottom of the main Synergy window). You can also try launching Synergy as an administrator. Note that running Synergy in "Elevated" mode carries potential trade-offs with things like clipboard and file sharing functionality. *How do I send developers the debug output? Click the "Edit" menu and select "Settings". Then change the "Logging level" drop-down to "Debug" or higher. The debug output should appear in the "Log" area of the main window (if not, try restarting the program). You are able to copy text from this area by right clicking.
gtorressfdc/synergy
Share one mouse and keyboard between multiple computers on your desk.
C++NOASSERTION