Заставить Mac доверять приложению (синергия в окне входа в систему)

Я пытаюсь получить синергию, чтобы загрузить, когда мой Mac запускается, чтобы я мог использовать мою мышь / клавиатуру для входа. Я следовал этим инструкциям

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

Где моя синология установлена ​​в /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 Я попробовал метод ловушки, но это тоже не сработало. Этот подход выглядит чище.

1 ответ

Из технической заметки Apple о разработчиках и агентах:

Если в Mac OS X 10.5 и более поздних версиях вы видите сообщение, подобное показанному в листинге 9, вы можете ошибочно думать, что решение состоит в том, чтобы заставить систему "доверять" вашему приложению, возможно, с помощью подписи кода.

Листинг 9: Доверительное сообщение перед входом в систему

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

Однако это не так. Это сообщение действительно говорит вам, что вы пытаетесь подключиться к серверу окон из неправильного контекста. Это сообщение появляется, если вы пытаетесь подключиться к серверу глобального оконного сервера вне контекста перед входом в систему до того, как пользователь войдет в систему; обычно это означает, что вы пытаетесь использовать сервер окон из демона.

Вы не должны пытаться исправить это, убедив оконный сервер доверять вашей программе; это просто вызовет другие проблемы в будущем. Например, если вы успешно подключаетесь к оконному серверу с вашего демона, вам все равно придется иметь дело с проблемами жизненного цикла оконного сервера, описанными ранее.

Вместо этого вы должны исправить эту проблему, изменив код для запуска в правильном контексте. Если вам необходимо подключиться к оконному серверу в контексте предварительной регистрации, создайте агент launchd перед входом в систему. Пример этого см. В примере кода "PreLoginAgents".

Мне кажется, что "правильный" способ сделать это - переписать саму синергию (см. Ссылку "Пример кода" выше). Есть сообщение об ошибке синергии по этому вопросу, поданное 3 года назад без каких-либо реальных действий... Я думаю, если вы хотите, чтобы это было исправлено, решать вам.

Другие вопросы по тегам