在 Mac OS X 启动时启动 synergy 客户端

在 Mac OS X 启动时启动 synergy 客户端

我在工作时有一台 Mac 作为辅助机器。目前我使用协同作用在我的主机上与 Mac 共享键盘和鼠标。

我为我的用户创建了一个启动代理,以便在我登录时启动 synergy,而且它运行正常。但是,这意味着我仍然必须拔出 Mac 的键盘和鼠标才能登录。

我尝试创建一个用户守护程序以便它在启动时启动,但是在控制台中出现以下错误:

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. 

有办法让它工作吗?看起来 Mac 的安全性不想允许任何东西在登录屏幕上控制窗口。我可以理解这一点,但我想找到一种方法来覆盖它,因为这会让我的生活变得很多更轻松。

答案1

你有没有尝试过这里的解释(向下滚动到底部)有关 Mac 上的自动启动?

我已经按照这种方式工作了,我可以使用电脑的键盘登录。

答案2

synergyc 和/或 synergys 文件必须由 root 拥有。消息显示:“仅允许 root 用户按需启动 Window Server”。

chown root:wheel /wher/ever/synergy* 然后 Synergy 将被视为 root。

另请参阅http://ajaydesai.blogspot.com/2009/03/setting-up-synergy-client-mac-os-x-1056.html

答案3

对于任何因为 OSX Lion/Mountain Lion + launchd/startup items/LoginHook 问题而遇到此问题的人,我有一个可以帮助我的解决方案。

OSX *Lion 上的 SynergyKM 不可靠。此外,我无法通过以下任何方式使我的 synergy 客户端正常工作http://synergy2.sourceforge.net/autostart.html。我所做的是编写一个 shell 脚本,然后使用鸭嘴兽

以下是我遵循的具体步骤:

MacPorts 协同效应

已知最新的 synergy 版本与 OSX Lion 的兼容性存在问题,因此我们从 MacPorts 获取兼容版本 (1.3)。

  1. 打开终端
  2. 如果你还没有安装 MacPorts,请安装
  3. 安装 MacPorts 后,执行“sudo port install synergy”。
  4. 在命令行中执行“which synergyc”以确保它指向“/usr/bin/synergyc”
  5. 从命令行执行“synergyc --version”以确保其版本为 1.3

Shell 脚本

  1. 在你的用户目录下创建一个“bin”目录
  2. 编写 shell 脚本
  3. 将 synergy 服务器地址(我的 synergy 服务器 IP 地址是 192.168.0.30)替换为您的 synergy 服务器的 IP 地址。(使用 IP 地址可确保客户端能够准确找到服务器。)
  4. 保存并退出
  5. 执行“chmod 755 synergy.sh”

Shell脚本代码:


#!/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

鸭嘴兽

  1. 安装 Platypus
  2. 打开
  3. 应用程序名称:“协同”
  4. 脚本类型:“Shell”@/bin/sh
  5. 脚本路径:/Users/[你的 osx 用户名]/bin/synergy.sh
  6. 输出:进度条
  7. 保持其他生成的属性原样
  8. 点击“创建”按钮
  9. 选择 Synergy.app 的输出位置

把所有东西结合在一起

现在您已经拥有一个功能齐全的 Mac 应用程序,请按照以下步骤完成自动协同客户端设置。

  1. 打开“系统偏好设置”
  2. 打开“用户和群组”
  3. 转到要为其添加 synergyc 启动的用户
  4. 点击“登录项”按钮
  5. 点击“+”按钮添加你使用 Platypus 创建的“Synergy.app”应用程序
  6. 注销并重新登录以确保 synergcy 立即启动。
  7. 您已完成!

答案4

synergy 守护进程本身是否有 unix 可执行文件?如果有,您可以将其放在 /Library/Startupitems 中吗?

我能想到很多解决方法,但没有一个对我来说特别有吸引力:

  • 自动启动到附加帐户,启动协同工具,然后使用快速用户切换进入您的帐户。
  • 启用VPN/屏幕共享,使用VPN登录,然后切换到协同
  • 在系统上安装 KVM
  • 让 Mac 进入睡眠状态 (唤醒时输入密码),而不是在一天结束时将其关闭。

相关内容