Sharing mouse and keyboard on Ubuntu with Synergy
For controlling my desktop (keyboard and mouse) from my notebook, I’m using Synergy. This means, I’m using keyboard and mouse from my notebook and can seamless control notebook and desktop with them. The mouse pointer moves from the notebook display to the desktop display as it is one computer.
On the notebook, it will run as a server, on the desktop as client. The description here is written for Ubuntu 16.04.
Notebook / Server
Simple solution, a shell script which kills old running synergys processes and starts a new one. It is places in the home folder and named start-synergy.sh.
#!/bin/bash killall -r synergys synergys -c ~/synergy.conf -d WARNING --daemon --log /var/log/synergy.log --restart
Open the dash and search for „Startup applications“. Add a new entry, name it „Synergy“ and add the shell script like this: /home/yourusername/start-synergy.sh
Desktop / Client
On the clientside I use a feature from LightDM (the windows manager used in Ubuntu 16.04) to execute commands in special cases (called system hooks, see https://wiki.ubuntu.com/LightDM for some infos).
Create a new config file:
sudo joe /etc/lightdm/lightdm.conf.d/50-synergy.conf
and add the following lines:
[SeatDefaults] display-setup-script=/usr/bin/synergyc --daemon -d WARNING --log /var/log/synergy.log serveradress
serveradress can be the ip adress or hostname of your synergy server. In my case it is ZenbookLAN.fritz.box:
[SeatDefaults] display-setup-script=/usr/bin/synergyc --daemon -d WARNING --log /var/log/synergy.log ZenbookLAN.fritz.box
Save the file and logout. If the server is running on your notebook (or what machine you using as server), try to move the mouse pointer to the client. If it is not working, restart the client machine. Then it should work.
In my case with this configuration I had a problem with the screen sharing. My desktop has 4 displays connected, but only the upper 2 could be accessed with this configuration. After login on the desktop (client) I have to restart the synergyc process, then it is working. Right now I could not find a different solution then to write a little script, which kills the running synergyc process and restarts it. Create a file start-synergy.sh in your home directory on the desktop (client):
#!/bin/bash sudo killall synergyc /usr/bin/synergyc --daemon -d WARNING --log /var/log/synergy.log serveradress
serveradress can be the ip adress or hostname of your synergy server. In my case it is ZenbookLAN.fritz.box.
Now everytime you login on the desktop (client) start this script manually (you have to enter your password because we need sudo for killing the process).