2

我正在尝试在我的 mac 启动时加载协同作用,以便我可以使用鼠标/键盘登录。我按照这些说明进行操作

http://sourceforge.net/p/synergy2/discussion/199580/thread/76cf630a

我的 Synology 安装在哪里/Applications/Synergy.app/

plist 文件看起来像这样

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>KeepAlive</key> <true/>
    <key>Label</key> <string>net.sourceforge.synergy2.loginwindow</string>
    <key>LimitLoadToSessionType</key> <string>LoginWindow</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Applications/Synergy.app/Contents/MacOS/synergyc</string>
        <string>-f</string>
        <string>-1</string>
        <string>--name</string>
        <string>mini</string>
        <string>--debug</string>
        <string>WARNING</string>
        <string>192.168.1.200</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

但是我遇到了这些错误/var/log/system.log

synergyc[220]: 3891612: (connect_and_check) Untrusted apps are not allowed to connect to or launch Window Server before login.

这些文件都正确拥有

-rwxr-xr-x  1 root  wheel   893040 May  2 21:07 Synergy
-rwxr-xr-x  1 root  wheel  3999988 May  2 21:07 synergyc
-rwxr-xr-x  1 root  wheel  4269168 May  2 21:07 synergys

我已解除隔离

xattr -d com.apple.quarantine /Applications/Synergy.app/Contents/MacOS/*

我不知道还能做什么?为什么 OSX 这么难?我还能尝试什么?

ps 我尝试了钩子方法,但也没有用。这种方法看起来更干净。

4

1 回答 1

4

来自 Apple 关于守护进程和代理的开发人员技术说明:

如果在 Mac OS X 10.5 及更高版本中,您看到如清单 9 所示的消息,您可能会错误地认为解决方案是让系统“信任”您的应用程序,可能是通过代码签名。

清单 9: 登录前信任消息

Untrusted apps are not allowed to connect to or launch Window Server before login.

然而,事实并非如此。该消息实际上是在告诉您,您正在尝试从错误的上下文连接到窗口服务器。如果您在用户登录之前尝试从登录前上下文之外连接到全局窗口服务器服务,则会看到此消息;通常这意味着您正在尝试从守护进程使用窗口服务器。

你不应该试图通过说服窗口服务器信任你的程序来解决这个问题;这样做只会导致进一步的其他问题。例如,如果您确实从守护进程成功连接到窗口服务器,您仍然必须处理前面描述的窗口服务器生命周期问题。

相反,您应该通过更改代码以在正确的上下文中运行来解决此问题。如果您需要在登录前上下文中连接到窗口服务器,请创建登录前启动代理。有关这方面的示例,请参阅示例代码“PreLoginAgents”

在我看来,这样做的“正确”方法将涉及对协同作用本身的一些重写(请参阅上面的示例代码链接)。有一个关于此的协同错误报告,3 年前提交,没有实际行动......我认为如果你想修复它,这取决于你。

于 2013-09-04T02:48:52.013 回答