Here is the setup I use to:
- encrypt the key presses sent over the network from the synergy client to the server and
- automatically restart the synergy client when it crashes.
First of all, I've got the following ~/.synergy.conf on both of my laptop and desktop machines:
section: screens
mylaptop:
mydesktop:
end
section: links
mylaptop:
right = mydesktop
mydesktop:
left = mylaptop
end
section: options
keystroke(alt+shift+space) = switchInDirection(left)
keystroke(alt+space) = switchInDirection(right)
end
With this, I am ready to start the server on my desktop machine:
synergys -a localhostNow, in order to encrypt the synergy client/server traffic, I create an ssh tunnel between the two machines:ssh -f -N -L localhost:24800:localhost:24800 mydesktopThen I start the synergy client on my laptop. However, some recent problems have convinced me to have a more robust alternative to simply starting the client like this:synergyc localhostAs recommended by a few helpful people on #debian-devel, I decided to use the supervise tool (part of the daemontools package) to automatically restart the synergy client if it crashes. Here is how I do it:supervise ~/.synergyc &This command refers to a ~/.synergyc directory containing a single run script. That shell script consists of:#!/bin/sh
xset r rate 500 30
/usr/bin/synergyc --no-daemon localhost
(The xset call is necessary since synergyc crashes seem to reset the repeat flag of X for some reason...)
The only problem I still need to fix in my setup is the potential password leak in the next few seconds after the synergy client crashes. Such a crash has already caused me to accidentally type my laptop password into a desktop IRC window the other day :(
Ideally, I would like the synergy server to swallow the first second or two of keyboard input after its client suddenly drops out. This could eliminate quite a few embarrassing wrong windows.


4 comments:
Why in the world would you have your password in a paste buffer?
My password was never in a paste buffer.
The problem I'm alluding to is that of starting to type my password into a regular password field on the synergy client (my laptop).
Then the synergyc client crashes before I'm done typing the password and so the keyboard comes back to the desktop where the IRC window is the one with the focus.
Because all of this happens within 1 second, I never noticed and quickly pressed Enter after finishing to type my password. That's why my password ended up in the wrong window.
Ugh, does synergy crash a lot? Why do you use it instead of, say, x2x then?
hm, i encountered a few problem with your solution.
1.: the --no-daemon enables the DEBUG-output.
2.: the client restarts itself in case there is no server available - which results in 100% cpu load
The solution:
/usr/bin/synergyc --no-daemon --debug FATAL --no-restart localhost
The restarting will be done by supervise or something like:
#!/bin/bash
while [ true ]; do
...
sleep 1
done
Post a Comment