11

I have a mac as a secondary machine at work. Currently I use synergy on my main machine to share its keyboard and mouse with the mac.

I created a launch agent for my user to launch synergy when I log in, and that's working. However, this means I still have to pull out the mac's keyboard and mouse in order to log in.

I tried making a user daemon so that it would launch on boot, but I get the following errors in the console:

LaunchSynergy[52] Tue Jul 14 12:41:44 testmacpro.local synergyc[52] <Warning>: 3891612: (CGSLookupServerRootPort) Untrusted apps are not allowed to connect to or launch Window Server before login. 
LaunchSynergy[52] Tue Jul 14 12:41:44 testmacpro.local synergyc[52] <Error>: kCGErrorRangeCheck : On-demand launch of the Window Server is allowed for root user only. 
LaunchSynergy[52] Tue Jul 14 12:41:44 testmacpro.local synergyc[52] <Error>: kCGErrorRangeCheck : Set a breakpoint at CGErrorBreakpoint() to catch errors as they are returned 
LaunchSynergy[52] _RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL. 

Is there a way to get this to work? Looks like the Mac's security doesn't want to allow anything to take control of the window while at the login screen. I can understand that, but I'd like a way to override it, as it would make my life a lot easier.

2
  • Maybe add tag, synergy-plus? Aug 20, 2009 at 0:10
  • Hey @Herms , I know this post is forever old, but are you still using Synergy, and if so are you still able start Synergy at the LoginWindow level ?
    – Brad Moore
    Oct 2, 2013 at 23:55

8 Answers 8

8

Have you tried the explanation here (scroll down to the bottom) about autostart on the Mac?

I’ve got it to work that way, and I can log on using the keyboard of my PC.

6
  • 1
    I assume you mean the first entry in the list. According to the article that would cause copy/paste to not work, and that wouldn't work for me. Though I kind of have a feeling that might be the only way.
    – Herms
    Jul 15, 2009 at 17:57
  • 1
    If you read further you'll find he explaines how to use the 2 first methods symultneously: "The text below describes how to implement a Synergy client using the first two methods simultaneously. This way, Synergy is always running, and the clipboard is available when someone is logged in. A Mac OS X Synergy server setup will be quite similar."
    – fretje
    Jul 15, 2009 at 18:38
  • Ah, interesting. I missed that. I'll have to try it out when I get time.
    – Herms
    Jul 15, 2009 at 19:21
  • I've followed the instructions in the link and it works perfectly. I can log in remotely and have full access to clipboard once I am logged in. Jul 18, 2009 at 14:45
  • Can't get this methed to work on 10.8.
    – Brad Moore
    Oct 2, 2013 at 23:53
1

The synergyc and/or synergys files have to be owned by root. "On-demand launch of the Window Server is allowed for root user only", the message says.

chown root:wheel /wher/ever/synergy* and then Synergy will be regarded as root.

Also see http://ajaydesai.blogspot.com/2009/03/setting-up-synergy-client-mac-os-x-1056.html

3
  • Does not solve the issue.
    – Brad Moore
    Oct 2, 2013 at 23:54
  • This does not seem to be effective. Sep 4, 2015 at 22:28
  • It worked for me, but my mac did not have a keyboard of its own, which I suppose makes a difference. At any rate, I later switched to a hardware KVM (amazon.de/gp/product/B002NTIZCG) due to problems with synergy on the other box, so I cannot really comment any more.
    – arnt
    Sep 6, 2015 at 11:33
1

For anyone coming to this question because of OSX Lion/Mountain Lion + launchd/startup items/LoginHook issues, I have a solution that helped me.

SynergyKM on OSX *Lion is unreliable. Furthermore, I was never able to get my synergy client working via any of the ways outlined at http://synergy2.sourceforge.net/autostart.html. What I did was write a shell script and then converted that script into a Mac Application with Platypus.

Here are the exact steps I followed:

MacPorts Synergy

There are known issues with the latest synergy version's compatibility with OSX Lion so we get the compatible version (1.3) from MacPorts.

  1. Open Terminal
  2. If you don't have it already, install MacPorts
  3. Once MacPorts is installed, do a "sudo port install synergy".
  4. At the command line do a "which synergyc" to make sure it points to "/usr/bin/synergyc"
  5. From the command line execute a "synergyc --version" to ensure it's version 1.3

Shell Script

  1. Create a "bin" directory under your user directory
  2. Write your shell script
  3. Replace the synergy server address (my synergy server IP address is 192.168.0.30) with the IP address of your synergy server. (Using the IP address ensures the client can accurately find the server.)
  4. Save and exit
  5. Execute "chmod 755 synergy.sh"

Shell script code:


#!/bin/sh
SYNERGYC=/usr/bin/synergyc

if ! ps axco command | grep -q "^synergyc\$"
then
    $SYNERGYC -n $(hostname -s) -1 -f 192.168.0.30 
else
    echo "synergyc already running."
fi

Platypus

  1. Install Platypus
  2. Open
  3. App Name: "Synergy"
  4. Script Type: "Shell" @ /bin/sh
  5. Script Path: /Users/[your osx username]/bin/synergy.sh
  6. Output: Progress Bar
  7. Keep the other generated properties as-is
  8. Click the "Create" button
  9. Select where to output the Synergy.app

Tying It All Together

Now that you have a fully functional Mac application, do the following steps to finish your automatic synergy client setup.

  1. Open "System Preferences"
  2. Open "Users & Groups"
  3. Go to the user for which you want to add synergyc startup
  4. Click the "Login Items" button
  5. Click the "+" button to add the "Synergy.app" app you created with Platypus
  6. Logout and log back in to ensure synergcy starts up right away.
  7. You are DONE!
1
  • 2
    But this will not help if you have a password protected machine.
    – Brad Moore
    Oct 2, 2013 at 23:51
1

This is no longer possible with the current version of Synergy (1.7.1) + OSX (10.10 Yosemite) Check this issue:

One workaround is to use auto-login (ew) for the user with the agent/daemon but then you can't lock your system by logging out. Interestingly enough, you can show the login window while still logged in and the keyboard works but not the mouse.

0

Is there a unix executable of the synergy daemon itself? If so can you put it in /Library/Startupitems?

I can think of a lot of workarounds, none of which sound particularly appealing to me:

  • Automatically boot into an additional account, which launches the synergy tools, then use fast user switching to get to your account.
  • Enable VPN/screen sharing, use VPN to login, then switch to synergy
  • Put a KVM on the system
  • Sleep the mac (with password on wake) instead of shutting it down at the end of the day.
1
  • I'm pretty sure I'm not supposed to turn on auto-login. KVM defeats the purpose of synergy (and would cost money). VNC would work, but it would be faster to just grab the keyboard from the machine. Sleep might work though. I'll have to test it to make sure synergy is properly active when the password opened up.
    – Herms
    Jul 15, 2009 at 18:00
0

I use the SynergyKM extension to the preferences and it works quite well.

0

Check out the Synergy+ tips and tricks page. We'll soon be bundling a GUI with the application that works on all platforms, meaning that soon you'll be able to do this without any complicated configuration.

0

This works for me: Synergy 1.14.6, Server: Linux Mint 21.1, MacOS Monterrey (12)

The solution is two parts: run as root at boot with a LaunchDaemon, and run at login for a user.

  1. Create a LaunchDaemon to get Synergy to run at boot. The ProgramArguments are
  • The path to the Synergy client app.
  • The IP address of the Synergy server.
% cat /Library/LaunchDaemons/com.symless.synergyc.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.symless.SynergyDaemon</string>
    <key>ProgramArguments</key>
    <array>
        <string>/System/Volumes/Data/Applications/Synergy.app/Contents/MacOS/synergyc</string>
        <string>192.168.1.120</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Synergy doesn't stay running after logging in, so:

  1. Add a login item to start Synergy at login:
    "System Preferences" > "Users & Groups" > "Login Items" tab
2
  • The only problem so far, is the clipboard sharing is not working when Synergy is starting at login. Any ideas? Apr 25, 2023 at 19:34
  • I forgot to mention, per symless.com/synergy-help/synergy-auto-start, it helps to have "Hide on startup" and "Minimize to system tray" both enabled in Synergy preferences. Apr 25, 2023 at 19:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .