![在 Mac OS X 启动时启动 synergy 客户端](https://linux22.com/image/1209259/%E5%9C%A8%20Mac%20OS%20X%20%E5%90%AF%E5%8A%A8%E6%97%B6%E5%90%AF%E5%8A%A8%20synergy%20%E5%AE%A2%E6%88%B7%E7%AB%AF.png)
我在工作时有一台 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)。
- 打开终端
- 如果你还没有安装 MacPorts,请安装
- 安装 MacPorts 后,执行“sudo port install synergy”。
- 在命令行中执行“which synergyc”以确保它指向“/usr/bin/synergyc”
- 从命令行执行“synergyc --version”以确保其版本为 1.3
Shell 脚本
- 在你的用户目录下创建一个“bin”目录
- 编写 shell 脚本
- 将 synergy 服务器地址(我的 synergy 服务器 IP 地址是 192.168.0.30)替换为您的 synergy 服务器的 IP 地址。(使用 IP 地址可确保客户端能够准确找到服务器。)
- 保存并退出
- 执行“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
鸭嘴兽
- 安装 Platypus
- 打开
- 应用程序名称:“协同”
- 脚本类型:“Shell”@/bin/sh
- 脚本路径:/Users/[你的 osx 用户名]/bin/synergy.sh
- 输出:进度条
- 保持其他生成的属性原样
- 点击“创建”按钮
- 选择 Synergy.app 的输出位置
把所有东西结合在一起
现在您已经拥有一个功能齐全的 Mac 应用程序,请按照以下步骤完成自动协同客户端设置。
- 打开“系统偏好设置”
- 打开“用户和群组”
- 转到要为其添加 synergyc 启动的用户
- 点击“登录项”按钮
- 点击“+”按钮添加你使用 Platypus 创建的“Synergy.app”应用程序
- 注销并重新登录以确保 synergcy 立即启动。
- 您已完成!
答案4
synergy 守护进程本身是否有 unix 可执行文件?如果有,您可以将其放在 /Library/Startupitems 中吗?
我能想到很多解决方法,但没有一个对我来说特别有吸引力:
- 自动启动到附加帐户,启动协同工具,然后使用快速用户切换进入您的帐户。
- 启用VPN/屏幕共享,使用VPN登录,然后切换到协同
- 在系统上安装 KVM
- 让 Mac 进入睡眠状态 (唤醒时输入密码),而不是在一天结束时将其关闭。