Synergy is a powerful software tool that allows you to share a single keyboard and mouse across multiple computers, saving you time, desk space, and the headache of juggling various input devices. Whether running exclusively on Linux or mixing operating systems like Windows and macOS, Synergy can unify your workflow. Follow this tutorial for a step-by-step approach to installing and configuring Synergy on Linux, exploring advanced settings, troubleshooting common problems, and understanding best practices for a seamless, secure setup. By the end, you’ll have a fully functional multi-computer environment that significantly enhances productivity.
Introduction
Modern workspaces often involve more than one computer. You might have a personal laptop, a dedicated machine for specialized tasks, or multiple servers for development and testing. Handling separate keyboards and mice for each of these systems can quickly turn into a messy, inefficient situation. Synergy addresses this challenge by letting you control multiple devices with just one input peripherals. You move your mouse cursor from one screen to the next—no switching hardware, no hassle.
In this guide, you will discover:
- The fundamentals of how Synergy works
- Methods to install Synergy on various Linux distributions
- Step-by-step configuration instructions
- Advanced setup options like encryption and multi-monitor support
- Common pitfalls and ways to troubleshoot them
- Best practices for efficient and secure usage
This document aims to be as comprehensive and user-friendly as possible, providing everything you need to streamline your workspace using Synergy on Linux.
What Is Synergy?
Synergy is a cross-platform application that allows you to share one keyboard and mouse among multiple computers connected to a local network. Conceptually, it functions similarly to a hardware-based KVM (Keyboard, Video, Mouse) switch, but it relies on software and your existing network infrastructure rather than special hardware cables.
Under the hood, Synergy operates in a server-client architecture:
- Server: The machine that physically hosts the keyboard and mouse you wish to share.
- Clients: The additional computers that receive keyboard and mouse events over the network.
When you move the mouse from the server to a client’s screen, Synergy sends keystrokes, mouse movements, and clicks via TCP to the client. This seamless transition creates the illusion of a single, extended desktop spanning multiple computers, even if they run different operating systems.
Originally introduced as an open-source project, Synergy has evolved into a paid application maintained by Symless. Some older, open-source versions (and forks like Barrier) still exist, but the official version offers the most up-to-date features and security enhancements. These enhancements include optional encryption and a more straightforward user interface, making it suitable for personal and professional environments.
Key Benefits of Using Synergy on Linux
Reduced Desktop Clutter
One of the biggest perks of using Synergy on Linux is significantly reducing hardware clutter. Instead of having two or three sets of keyboards and mice, you can manage everything through a single set. This creates a cleaner, more organized desk setup and eliminates the need to switch from one device to another constantly.
Enhanced Productivity
Synergy enables you to move your cursor across multiple systems effortlessly. This means you can copy Text on one machine and paste it on another or manage various monitors across different machines as though they were part of one unified environment. Such flexibility often improves workflow efficiency, mainly if you frequently perform tasks across various operating systems or host multiple sessions.
Cross-Platform Support
Although this guide focuses on Linux, Synergy also supports Windows and macOS. You can mix and match these systems under one unified control. That versatility makes it suitable for various workflows—whether you’re a Linux enthusiast, a Windows gamer, or a macOS designer, Synergy can bring them all together.
Advanced Features
Synergy has a range of sophisticated capabilities:
- Clipboard Sharing: Copy Text, files, or images on one machine, then paste them directly on another.
- Encryption: Protect keystrokes and sensitive data by enabling SSL/TLS encryption.
- Hotkeys: Create custom keyboard shortcuts that apply to one or all systems.
- Multi-Monitor Arrangements: Handle multiple monitors on each device in a coherent layout.
These advanced features allow you to tailor Synergy to nearly any professional or personal setup you require.
Cost Efficiency
Compared to purchasing multiple keyboards, mice, or hardware-based KVM switches, Synergy’s price (if you opt for the paid version) is relatively low. Even free alternatives or older versions can offer core features at no cost, making it an attractive solution for budget-conscious users.
System Requirements and Preparations
Before diving into installation, make sure you have the following essentials in place:
Network Connectivity
Each computer you plan to use with Synergy must be on the same local area network. Stable connectivity is crucial for minimizing lag and interruptions. A wired Ethernet connection generally offers excellent reliability, but Synergy also functions well on Wi-Fi, provided the network isn’t overcrowded or prone to interference.
Compatible Operating Systems
Synergy supports a wide range of Linux distributions (including Ubuntu, Debian, Fedora, and Arch-based systems), as well as Windows and macOS. For Linux, ensure you’re using a relatively modern distribution that has official repositories or can be built from a source.
Sufficient Hardware
Synergy doesn’t require significant system resources. Even older machines can handle it easily. However, sometimes users want to work with several full HD monitors or transport a lot of data from the clipboard—in this case, a more powerful device will provide better performance.
Synergy License
Synergy has transitioned to a paid license model, offering different feature sets based on your purchase plan. Ensure you understand which features are included in your license, particularly if you require encryption or other professional-level features.
Potential Conflicts
Disable or adjust any services that might conflict with keyboard or mouse input, such as remote desktop or other screen-sharing software. As a rule, you can launch Synergy along with these services; however, you might need to configure settings to avoid the overriding or interception of input devices.
Installing Synergy on Linux
Synergy on Linux can be installed through official repositories and downloadable packages or compiled from the source. Your chosen method often depends on your distribution and preference for stability versus bleeding-edge releases.
Installing on Ubuntu or Debian
- Add the Official Repository or Download the .deb File
Depending on your Synergy license, you may be provided instructions on adding Synergy’s official repository (via a PPA or a custom source). You can usually download a .deb package from Synergy’s website if that’s unavailable.
Use apt-get or dpkg
If you have a repository set up:
sudo apt-get update
sudo apt-get install synergy
If you have a .deb file instead:
sudo dpkg -i synergy-<version>.deb
sudo apt-get -f install
The second command resolves dependencies that dpkg might have missed.
Verification
After installation, check the installed version:
synergy --version
Installing on Fedora
- Download the RPM Package
Head to the Synergy website or your account portal to grab the .rpm file designed for Fedora or Red Hat-based systems.
Install via dnf
Open a terminal where the .rpm file is located and run:
sudo dnf install synergy-<version>.rpm
- Verify
Once complete, confirm by checking the version:
synergy --version
Installing on Arch Linux or Manjaro
Check the AUR
Synergy is often available in the Arch User Repository (AUR). If you use an AUR helper like Yay or paru, you can install Synergy easily:
yay -S synergy
- Manual Build
If you prefer doing it manually, download the PKGBUILD from the AUR, extract it, and run:
makepkg -si
- Confirmation
Verify with:
synergy --version
Building from Source
Gather Dependencies
You’ll need standard build tools plus libraries for SSL, Qt, and other Synergy components. On Ubuntu/Debian, for example:
sudo apt-get install build-essential cmake qtbase5-dev libssl-dev git
- Clone the Repository
git clone https://github.com/symless/synergy-core.git
cd synergy-core
- Compile
mkdir build && cd build
cmake ..
make
- Install
sudo make install
- You can confirm the installation using the synergy –version command.
Basic Configuration
Once Synergy is installed on all the machines you plan to use, the next step is configuring your server and client systems. The terms “server” and “client” are crucial here: the server hosts the physical keyboard and mouse, while the clients receive input via the network.
Understanding the Server-Client Model
- Server: The primary system with the physical keyboard and mouse plugged into it.
- Clients: One or more computers that connect to the server over the network to receive mouse and keyboard input.
Launching the Synergy GUI
On most Linux distributions, you can find Synergy in your application launcher once installed. Alternatively, you can launch the GUI from the command line by typing:
synergy
A user interface will appear, allowing you to configure a server or a client setup.
Setting Up the Synergy Server
- Choose “Server” Mode
In the interface, select the option to run this machine as the server. - Screen Layout
You’ll see a grid or a visual interface to drag and drop screens. Arrange them to match your physical monitor layout. - Screen Names
Each machine has a “screen name,” often the system’s hostname. Make sure this name matches the configuration you’ll set on the clients. - Edges and Transitions
If your client is on the right side of the server in your physical setup, drag the client’s icon to the right in the Synergy UI. This ensures the cursor transitions smoothly from the right edge of the server screen to the client screen. - Apply or Start
Click the “Start” or “Apply” button to launch the server. By default, Synergy listens on TCP port 24800.
Setting Up the Synergy Clients
- Install Synergy
Ensure Synergy is installed on the client machine (Linux, Windows, or macOS). - Client Mode
When opening Synergy on the client, choose “Client.” - Server IP Address
Input the IP address into the appropriate field (or hostname) of the Synergy server. - Matching Screen Name
Ensure the client’s screen name matches your configured in the server’s layout. - Start the Client
Click “Start” or “Apply” to initiate the connection. You should see a connected status if the server is running and properly configured.
Testing Your Setup
- Check Status
The server UI should display something like “Client connected,” and the client UI should say “Connected to server.” - Mouse Transition
Move your cursor toward the edge of the server’s screen where the client is configured. It should jump onto the client’s display. - Keyboard Input
Try typing in a Text editor for the client. Keystrokes should register. - Clipboard Sharing
Copy Text on the server and paste it into a document for the client to confirm that the clipboard sharing works (if supported by your Synergy version or configuration).
Advanced Configuration
Once you’ve established the basic server-client functionality, you can explore more advanced settings. These features include creating a configuration file, enabling security, specifying the services to run initially, and managing multiple monitors across different systems.
Using a Configuration File
While the graphical interface simplifies basic setup, Synergy also supports detailed configuration files (often named synergy.conf or synergy. sg). These files can define screen names, links, hotkeys, and more.
Below is a sample configuration file:
section: screens
 main-linux:
 secondary-machine:
end
section: links
 main-linux:
  right = secondary-machine
 secondary-machine:
  left = main-linux
end
section: options
 keystroke(alt+shift+escape) = lockCursorToScreen(toggle)
end
To use this file, run:
synergys --config /path/to/synergy.conf
Enabling Encryption
Security-conscious users or those in multi-user environments may prefer to encrypt Synergy traffic. Modern Synergy versions often include SSL/TLS support, though it may require a specific license tier.
- Generate Certificates
Follow official Synergy documentation or use OpenSSL tools to generate certificates.
Configure SSL
Add options to your configuration file or Synergy GUI settings to enable encryption. Example config snippet:
section: options
 crypto = enabled
 sslCertificate = /path/to/synergy.pem
 sslCipherList = ALL
end
- Client Configuration
Clients must also be set to use SSL and have the correct certificates available.
Auto-Starting Synergy on Boot
To avoid manually starting Synergy each time you restart your machines, consider creating a systemd service (for distributions that use systemd) or adding Synergy to your session startup applications. Below is an example of a server service file:
/etc/systemd/system/synergy-server.service
[Unit]
Description=Synergy Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/synergys --config /path/to/synergy.conf
Restart=on-failure
[Install]
WantedBy=multi-user.target
After creating and editing this file:
sudo systemctl enable synergy-server
sudo systemctl start synergy-server
Perform a similar setup on client machines or configure the Synergy GUI to start on login.
Multi-Monitor and Multi-System Setups
Synergy does best in multiple-system environments with several monitors. Transitions can be applied within monitors on a single system and between monitors in different machines. As long as your synergy.conf or your GUI layout resembles the physical layout of each screen, the user transition will be seamless.
Troubleshooting Common Issues
Despite Synergy’s simplicity, network-based applications can experience hiccups. Here are some frequent issues and their solutions.
Network Connectivity Problems
- Double-Check IP Addresses
Ensure both server and client machines are on the same subnet and can ping each other. - Hostname Resolution
If you use hostnames instead of IP addresses, verify that your DNS or /etc/hosts file is correctly configured. - Fallback to IP
If hostnames fail, use direct IP addresses in the client configuration.
Firewall or Port Blockages
Open Port 24800
By default, Synergy uses TCP port 24800. Ensure your firewall is configured to permit incoming connections on this port. For UFW on Ubuntu:
sudo ufw allow 24800/tcp
- SELinux or AppArmor
If you’re on Fedora or a system that enforces SELinux, or if Ubuntu is using AppArmor, ensure Synergy is permitted to accept incoming connections.
Lag and Input Delays
- Network Congestion
Heavy local network usage may impede Synergy’s performance. Consider using a wired Ethernet connection or reducing other bandwidth-intensive activities. - System Resources
If you’re running Synergy on an older machine, CPU or RAM bottlenecks can cause stuttering. Check system logs or use the top to see if synergy processes are near 100% CPU usage. - Client-Server Distance
Latency may increase if your server and client are physically far apart or connected through multiple routers.
Clipboard Sharing Issues
- Enable Clipboard
Some Synergy versions require explicit configuration to enable clipboard sharing. Check your settings or synergy.conf. - Size Limits
Large images or files in the clipboard can cause delays or disconnections. - Restart
Occasionally, clipboard sharing may stall. Restarting Synergy on both server and client often fixes temporary issues.
Best Practices for Secure and Efficient Usage
Use Encryption Whenever Possible
When you have sensitive data, always turn on SSL/TLS encryption. This shields typed commands and encrypted information from unauthorized interception. Make sure to use substantial certificates and, if available, advanced cipher suites.
Keep a Stable Network
For a responsive Synergy experience:
- Use wired Ethernet if feasible.
- If on Wi-Fi, ensure a strong signal and minimal interference.
- Consider segmenting your local network if you have many devices vying for bandwidth.
Customize Mouse and Keyboard Settings
Tailor Synergy’s configuration to your personal preferences:
- Adjust pointer speed and acceleration to achieve a consistent feel across all systems.
- Configure custom hotkeys for specialized tasks, like locking the mouse to a particular screen or triggering scripts.
Maintain Regular Updates
This means that Synergy updates may contain performance enhancements and fixes for security vulnerabilities. You should check forums for updates at least once a week, mainly if you use Synergy in production. However, this comes with the reminder that your basic organizational operating system and firewall settings should be current for the best security.
Comparisons: Synergy Alternatives
While Synergy is a popular choice for cross-platform keyboard and mouse sharing, there are alternatives worth considering.
Barrier
- Open-Source Fork
Barrier originated as a fork of the older open-source Synergy codebase. It remains free and community-driven. - Similar Setup
Installing and configuring Barrier is nearly identical to Synergy. The user interface and configuration options are very similar, making the transition straightforward. - Potential Drawbacks
Being community-supported, official customer service does not exist. Large-scale enterprise environments prefer a solution with dedicated support.
Input Director (Windows Only)
- Windows-Centric
If all your machines run Windows, Input Director might be more convenient. - Feature Rich
Offers robust Windows-specific features like encryption, screen switching, and more. - No Cross-Platform Support
This limitation makes it unsuitable for Linux or macOS environments.
ShareMouse
- Cross-Platform
ShareMouse works on Windows, macOS, and partially on Linux (though Linux support can be more limited). - Free for Personal Use
Personal users can often use a free version, while commercial plans cost money. - Feature Limitations
Compared to Synergy, advanced customizations like detailed configuration files may not be as extensive.
Frequently Asked Questions
Conclusion
In general, Synergy is an ideal tool for anyone who has multiple computers and is tired of crossing his arms. When you centralize control to a single keyboard and mouse, you do away with the need to constantly change between the different input methods and deal with the various peripheral devices. Whether you’re a Linux purist managing several servers or juggling Linux, Windows, and macOS machines side by side, Synergy offers a versatile, feature-rich environment for cross-platform collaboration.
Synergy has you covered everything from installation to advanced configuration—encryption, clipboard sharing, multi-monitor setups, and auto-start services. Pairing it with secure networking practices and regular updates will ensure a smooth, safe, and highly productive experience. If Synergy doesn’t perfectly fit your needs, alternatives like Barrier, Input Director, or ShareMouse may fill the gap.
Implementing the ideas outlined in this guide will help reorganize and optimize your desk and the local systems. Synergy on Linux allows you to perform your tasks efficiently, whether coding, designing, or browsing. Learn how to use it, and your daily task environment becomes simple and integrated into one environment.
About the writer
Vinayak Baranwal wrote this article. Use the provided link to connect with Vinayak on LinkedIn for more insightful content or collaboration opportunities.