Written for Synergy 1 (v1.21.4), checked 3 October 2026.
These steps run the Synergy 1 core on a Linux client computer without opening the Synergy 1 window, so it connects to your server by itself after login, and optionally at the login screen. The core reads everything it needs (the server address, this computer's name, TLS and language sync) from the settings Synergy 1 has already saved, so set Synergy 1 up and get it connecting once in the normal way before you start.
Once a service below is running the core, don't also start sharing from the Synergy 1 window on that computer: only one core can run at a time.
How to run Synergy 1 automatically after login: create a user-level systemd service
- Open the terminal.
- Create the service file:
mkdir -p ~/.config/systemd/user nano ~/.config/systemd/user/synergy-session.service
- Copy and paste in the following:
[Unit] Description=Synergy 1 client (user session) After=graphical-session.target network.target [Service] ExecStart=/usr/bin/synergy-core client --settings %h/.config/Synergy/Synergy.conf Restart=on-failure [Install] WantedBy=default.target
- Press Ctrl+O to save, and Ctrl+X to close nano.
- Enable and start the service:
systemctl --user daemon-reload systemctl --user enable --now synergy-session
To change the server address, computer name or TLS, change them in the Synergy 1 window and then restart the service with systemctl --user restart synergy-session.
To run Synergy 1 at the login screen on a Linux client
Before you start: these steps only work when the login screen runs on X11, with GDM as the display manager. They do not work on a Wayland login screen, which is the default on current Ubuntu and Fedora releases. Running Synergy 1 at the login screen on Linux is not a built-in feature, so treat these steps as a workaround that our support team can't guarantee.
Step 1: Copy your Synergy 1 settings where the login service can read them
On the client, after Synergy 1 has connected to the server at least once (so that it trusts the server's TLS fingerprint), copy its settings and TLS folder:
sudo mkdir -p /etc/synergy-login sudo cp ~/.config/Synergy/Synergy.conf /etc/synergy-login/ sudo cp -r ~/.config/Synergy/tls /etc/synergy-login/
Synergy 1 reads its TLS certificate and trusted fingerprints from the tls folder beside the settings file it is given, so the copy carries the trust over. Repeat this step whenever you change the settings.
Step 2: Create the wrapper script
sudo nano /usr/local/bin/synergy-login.sh
Copy and paste the following script:
#!/bin/bash LOGFILE="/var/log/synergy-login.log" echo "[$(date)] Starting synergy-login.sh" >> "$LOGFILE" export DISPLAY=:0 export XAUTHORITY="/run/user/$(id -u gdm)/gdm/Xauthority" # Wait for X session to be ready while [ ! -f "$XAUTHORITY" ]; do echo "[$(date)] Waiting for XAUTHORITY..." >> "$LOGFILE" sleep 1 done sleep 2 echo "[$(date)] XAUTHORITY found, launching synergy-core" >> "$LOGFILE" while true; do /usr/bin/synergy-core client --settings /etc/synergy-login/Synergy.conf >> "$LOGFILE" 2>&1 echo "[$(date)] synergy-core exited. Retrying in 5s..." >> "$LOGFILE" sleep 5 done
Make it executable:
sudo chmod +x /usr/local/bin/synergy-login.sh
Step 3: Create the systemd service
sudo nano /etc/systemd/system/synergy.service
Copy and paste the following:
[Unit] Description=Synergy 1 client at login screen After=gdm.service network-online.target Wants=network-online.target [Service] ExecStart=/usr/local/bin/synergy-login.sh User=root Restart=always RestartSec=5 [Install] WantedBy=graphical.target
Enable and start the service:
sudo systemctl daemon-reload sudo systemctl enable synergy sudo systemctl restart synergy
Step 4: Reboot and test
Reboot to test:
sudo reboot
After reboot:
- Wait at the login screen.
- Switch to a text console (Ctrl+Alt+F3).
- Log in.
- Check the log:
sudo tail -n 30 /var/log/synergy-login.log
You should see lines ending like these, each after a timestamp:
INFO: started client INFO: connected to secure socket
The second line appears only when TLS is on.