Як працює служба обміну екраном Mac?


2

Які компоненти він має і як вони працюють? Які протоколи підтримуються? Я знаю лише те, що він сумісний з VNC (як клієнт і як хост).

Мені цікаво дізнатися більше технічних деталей і пограти з ними.

Відповіді:


2

Якщо ми говоримо лише про загальний доступ до екрана (SS) (забувши ARD), він працює наступним чином:

Спочатку є файл конфігурації демон (/System/Library/LaunchDaemons/com.apple.screensharing.plist). Він містить запис , яка говорить запуск програм для запуску SS Server (а потім SS Agent) кожен раз , коли хтось - то підключається до порту 5900. Сервер знаходиться в /System/Library/CoreServices/RemoteManagement/screensharingd.bundle, агент знаходиться в / System /Library/CoreServices/RemoteManagement/ScreensharingAgent.bundle.

Сервер SS є основною частиною служби SS. Він виконує взаємодію з мережею, реалізує використані протоколи, виконує кодування зображень, аутентифікацію тощо. У свою чергу, SS-агент видає себе за поточного користувача та обробляє такі речі, як надання зображення екрану користувача, "натискання" клавіш, "переміщення" миші.

(AFAIR, цей поділ розпочався з Mac OS X 10.7. Раніше послуга була монолітною, називалась AppleVNCServer і завжди працює, коли ввімкнено перемикач "Спільний доступ до екрана" в системних налаштуваннях).

Служба SS також може запускати наступних помічників:

  • SSPasteboardHelper (розташований у пакеті агента SS) - вставляє дані картону на системну картону, коли вона надходить від клієнта,
  • SSAssistanceCursor - з’явився зовсім недавно, мені цікаво, що це таке,
  • SSFileCopyReceiver / SSFileCopySender (в пакеті SS Server) - використовується для передачі / прийому файлів.

Що стосується протоколів, сервіс SS використовує той самий протокол RFB, що і всі клієнти VNC, але з певними розширеннями. Сервер повідомляє, що він підтримує протокол версії 3.889 (більшість інших серверів повідомляє версії 3.3 до 3.8). Він також підтримує найпоширеніші кодеки - необроблені, ZLib, ZRLE - а також користувальницькі Apple (чорно-білі та відтінки сірого ZLib та "адаптивний" кодек, що використовує алгоритм стиснення, подібний JPEG). Крім того, існує багато розширень для протоколу Apple, що реагують на перетягування, передачу файлів, автоматичну синхронізацію картонних карт, передачу подій жестами тощо.

Це дуже загальне пояснення, але якщо ви задасте більш конкретне питання, я буду радий допомогти.


Ого. Я б не назвав це детальне пояснення загальним. Дякую за зусилля та обмін цією інформацією! Якби я міг би схвалити це не раз, я б!
radj
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.