Введение

Программное обеспечение для совместного использования клавиатуры и мыши

Synergy – это программное обеспечение для совместного использования клавиатуры и мыши между несколькими компьютерами. Оно применяется в ситуациях, когда несколько ПК используются совместно, при этом к каждому подключен монитор, но управление ими осуществляется одним пользователем. Пользователю требуется только одна клавиатура и мышь на рабочем столе – это похоже на KVM-коммутатор без функции переключения видеосигнала. Программа имеет частично открытый и частично закрытый исходный код, компоненты с открытым исходным кодом распространяются на условиях лицензии GNU General Public License, являющейся лицензией свободного программного обеспечения. Первая версия Synergy была создана 13 мая 2001 года Крисом Шоунеманом и изначально работала только с X Window System. В настоящее время Synergy поддерживает Windows, macOS, Linux и другие Unix-подобные операционные системы.

Дизайн

После установки программы пользователи могут "вывести" курсор мыши за пределы экрана на одном компьютере, и он появится на рабочем столе другого компьютера. Нажатия клавиш будут направлены на тот компьютер, где находится курсор мыши. Это позволяет управлять несколькими машинами так же легко, как если бы это был один компьютер с несколькими мониторами. Буфер обмена и даже заставки могут быть синхронизированы. Программа реализована как сервер, определяющий, какие края экрана соответствуют каким компьютерам, и один или несколько клиентов, подключающихся к серверу для предоставления доступа к своим рабочим столам. Клавиатура и мышь подключены к серверу. Начиная с версии 2.0 (2017), нажатия клавиш, движения мыши и содержимое буфера обмена передаются по зашифрованному SSL-соединению. Ранее это требовало приобретения Pro-версии в версии 1. В июле 2013 года группа Defuse Security Group сообщила о небезопасности проприетарного шифрования, использовавшегося в Synergy 1.6, и опубликовала эксплойт, позволяющий пассивно расшифровывать команды, отправляемые клиентам Synergy 1.6. Эта проблема была решена с использованием SSL в версии 1.7. Для передачи событий мыши, клавиатуры и содержимого буфера обмена между компьютерами в Synergy 1 используются TCP/IP-соединения (порт по умолчанию 24800).

История

Первым воплощением Synergy была CosmoSynergy, созданная Ричардом Ли и Адамом Федером, когда они работали в Cosmo Software, Inc., дочерней компании SGI (ранее Silicon Graphics, Inc.), в конце 1996 года. Они разработали её, а Крис Шоунеман принимал участие, чтобы решить следующую проблему: у большинства инженеров Cosmo Software на столах были компьютеры с Irix и Windows, а переключатели (switchboxes) были дорогими и неудобными. CosmoSynergy имела большой успех, но Cosmo Software отказалась от её коммерциализации, и компания позже была закрыта. Synergy – это полная переработка CosmoSynergy с нуля. Она предоставляет большинство функций оригинальной версии и добавляет некоторые улучшения. Synergy+ была создана в 2009 году как форк для поддержки, с целью исправления ошибок, унаследованных от оригинальной версии. Оригинальная версия Synergy долгое время не обновлялась (по состоянию на 6 июня 2010 года, последний релиз был 2 апреля 2006 года). Официального подтверждения о прекращении разработки оригинального проекта Synergy не было, однако в публичных обсуждениях высказывались предположения. В ходе этих обсуждений Крис Шоунеман (создатель Synergy) заявил, что вместо поддержки команды 1.3.x он планирует выпустить версию 2.0 Synergy, и 27 августа 2008 года публично объявил о достигнутом прогрессе в разработке этой версии.