Вместо KVM: обзор трех программных решений

У профессионалов, да и не только, нередко возникает необходимость одновременно работать с несколькими компьютерами. Я не имею в виду управление штатно развернутым сервером, речь идет о ситуациях, когда второй, третий и т. д. компьютеры размещаются локально (возможно, спонтанно) и по каким-то причинам невозможно или неудобно применять средства удаленного доступа/управления, вроде RDP или SSH. При этом иногда просто физически невозможно разместить на столе необходимое количество клавиатур и мышей (не говоря уже о том, чтобы после в них не запутаться), различные размеры и раскладки неизменно будут приводить к ошибкам, отнимать нервы и время. Одним словом, проблема известная. Соответственно, существуют и уже ставшие традиционными ее решения. Наиболее известное — KVM (Keyboard, Video, Mouse): устройство, способное по команде пользователя переключать один единственный комплект из клавиатуры, монитора и мыши между несколькими компьютерами.

Однако при всей своей очевидности данное решение также не панацея. Иногда, к примеру, нужно все-таки видеть одновременно несколько мониторов, к тому же, любое аппаратное решение имеет естественные ограничения, в данном случае — количество и типы портов (от которых может весьма существенно зависеть и цена). Свои ограничения имеются и у RDP, так что сегодня мы рассмотрим еще один способ решения описанной задачи — программные аналоги KVM, хотя корректнее говорить только о KM, т. к. предполагается, что управляемые с их помощью компьютеры все-таки оснащены своими мониторами. Во многих (но, конечно, не во всех) случаях они оказываются наиболее универсальным и эффективным решением, лишенным аппаратных ограничений и требующим для своей работы выполнения единственного условия: компьютеры должны быть объединены в локальную сеть.

Input Director

Из всех рассматриваемых в этом материале программ Input Director, предназначенная для работы в среде Windows, наиболее насыщена всевозможными настройками и вспомогательными функциями. С одной стороны, это дает дополнительную свободу пользователю, с другой — на первых порах наверняка будет приводить к некоторой путанице и поиску на многочисленных вкладках необходимых параметров, тем более что интерфейс англоязычный (впрочем, как и у остальных участников данного обзора). Но для наиболее простых и типичных ситуаций, как, скажем, подключение второго компьютера для одновременного использования с основным (постоянно для работы или оперативно с целью настройки, отладки), все выглядит достаточно просто. Основное — разобраться, что Input Director оперирует понятиями главного (master) и подчиненного (slave) компьютеров. Управление подчиненными осуществляется с помощью клавиатуры и мыши на главном, который фактически только этим и отличается, если не считать, что на нем также выдается большая часть системных оповещений.

Итак, Input Director необходимо установить на главном и подчиненном компьютерах. Размер дистрибутивного пакета составляет порядка 3 МБ, для обзора использовалась последняя бета-версия 1.3 сборка 98, т. к. в ней появился ряд действительно полезных функций (хотя часть из них пока и работает нестабильно). Перезагрузка при этом не потребуется, так что подключить новый подчиненный компьютер можно очень оперативно. Программа по сути представляет собой окно с настройками (если не считать пиктограммы в системной области панели задач) и вся последующая работа выполняется именно в нем.

На каждом компьютере с Input Director должен быть настроен главный либо подчиненный режим
Рис. 1. На каждом компьютере с Input Director должен быть настроен главный либо подчиненный режим, а в некоторых случаях даже оба.

Разработчики вначале рекомендуют настраивать подчиненный компьютер, хотя на самом деле порядок роли не играет. Нужно перейти на вкладку Slave Configuration и описать компьютеры, которые могут выступать в качестве главных. Для этого есть три возможности:

  • все компьютеры;
  • только из определенной подсети (определяется базовым адресом и маской);
  • только конкретные компьютеры (с указанными сетевыми именами).
Настройка подчиненного режима
Рис. 2. Настройка подчиненного режима: проще всего указать точное сетевое имя управляющего компьютера, хотя в некоторых случаях можно описать и целую подсеть.

В безопасной среде, например в домашних условиях, годится любой вариант. Первые два также удобны при использовании опции автопереключения режимов главный/подчиненный (вкладка Global Preferences) — смысл ее в том, что после надлежащей настройки роль мастера будет автоматически переходить к тому компьютеру, на котором в данный момент используются органы управления (мышь и клавиатура).

На вкладке Slave Configuration также можно сразу включить или отключить синхронизацию заставки и блокирования системы, а также при необходимости включить шифрование (AES 128/192/256) трафика.

Для работы системы этих настроек достаточно. Теперь нужно вернуться на вкладку Main и нажать кнопку Enable as Slave.

Подготовка главного компьютера выполняется в общем «симметрично» на вкладке Master Configuration. Необходимо указать все подчиненные компьютеры, причем в индивидуальном порядке. Внизу экрана щелкаем на кнопке Add и в открывшемся окне Slave Configuration вводим сетевое имя (или IP-адрес) — этого уже достаточно и можно нажимать кнопку ОК. Однако при необходимости здесь сразу можно выбрать «горячую» клавишу, по которой ввод будет переключаться на данный компьютер; указывать число мониторов и их взаимное положение (просто перетаскивая мышкой); активировать шифрование трафика. Позже также можно будет вернуться к этому окну и внести необходимые коррективы.

Настройка главного режима
Рис. 3. Настройка главного режима: нажимая кнопку Add, нужно добавить подчиненные компьютеры и корректно описать их размещение друг относительно друга.

После настройки всех подчиненных компьютеров на вкладке Master Configuration рекомендуется правильно расположить все описанные компьютеры так, чтобы рисунок отражал их физическое размещение. Благодаря этому можно будет совершенно естественно «перетягивать» мышь на необходимый компьютер через соответствующий край текущего монитора. Впрочем, этот режим отключаемый — если для перенаправления ввода планируется использовать только «горячие» клавиши, то описывать расположение мониторов нет необходимости.

Input Director располагает наиболее удобной поддержкой мультимониторных конфигураций
Рис. 4. Input Director располагает наиболее удобной поддержкой мультимониторных конфигураций.

Наконец, нужно также перейти на вкладку Main и нажать кнопку Enable as Master. Теперь все готово к использованию Input Director. В программе очень удачно реализована визуализация пересечения края экрана монитора, смежного с другим компьютером. Переключение ввода будет сопровождаться расходящимися «кругами на воде» вокруг курсора мыши, так что «потеряться» практически невозможно. Этот же эффект будет наблюдаться при автоматической смене режима главный/подчиненный (плюс — всплывающее оповещение в системной области).

Такой визуальный эффект сопровождает переключение ввода
Рис. 5. Такой визуальный эффект сопровождает переключение ввода.

Кроме собственно управления несколькими компьютерами Input Director также обеспечивает «совместный» буфер обмена. Благодаря этой функции можно легко переносить любую информацию с одного компьютера на другой, разработчики заявляют также возможность файлового обмена через копирование/вставку, однако в моем случае (Windows 7) она так и не заработала, несмотря на то, что в описании последних версий сообщается об исправлении соответствующих ошибок.

Как говорилось, обилие дополнительных параметров располагает к тонкой настройке программы. Не берусь описывать все возможности, остановлюсь только на тех, которые показались мне наиболее интересными.

Вкладка Master Preferences содержит огромное число настроек
Рис. 6. Вкладка Master Preferences содержит огромное число настроек, влияющих на работу всей системы, — они даже не помещаются в окне, обратите внимание на полосу прокрутки. На данной иллюстрации представлена группа параметров, управляющих переключением ввода с помощью мыши.

На вкладке Master Preferences (на главном компьютере) можно выбрать наиболее удобный способ перехода мыши через край экрана — для этого предназначена группа параметров Transition Options. По умолчанию мышь просто пересекает край экрана, за которым находится следующий компьютер, это может быть не всегда удобно. Поэтому данную операцию можно проделывать либо с дополнительно нажатой клавишей, либо после задержи курсора в крайнем положении на некоторое (регулируемое) время, либо по двойному «постукиванию» курсора о край. Можно также запретить переход в углах экрана (к примеру, чтобы не слишком целиться в кнопку Start).

На вкладке Global Preferences на каждом компьютере можно включить автоматическую активизацию нужного режима (главный или подчиненный) при запуске программы (по умолчанию она остается в неактивном состоянии), при необходимости отключить совместный буфер обмена и «круги на воде», включить информационное окно над системной областью панели задач, в котором будет отображаться текущее назначение ввода, а также активизировать уже упоминавшееся автопереключение режимов главный/подчиненный. Последняя опция требует, чтобы на всех отмеченных ею компьютерах были сконфигурированы оба режима (какой будет активен неважно), что потребует определенной работы. Но в целом возможность может оказаться довольно полезной.

Удобная функция – автоматическое переключение режимов главный/подчиненный
Рис.7. Удобная функция — автоматическое переключение режимов главный/подчиненный — требует предварительной настройки всех компьютеров.

Наконец, в Input Director имеется возможность записывать и выполнять клавиатурные макросы (функции мыши не поддерживается). Конечно, для этого существуют гораздо более мощные специализированные программы, но, вероятно, кому-то будет удобно иметь под рукой базовые возможности на всякий случай.

Mouse without Borders

Данная программа также предназначена для использования только в среде Windows, но зато является фактически полной противоположностью Input Director в части простоты настройки и использования. Любопытно также, что Mouse without Borders создана сотрудниками Microsoft, хотя и не является официальной продукцией. Внутри корпорации существует множество неформальных объединений программистов (не считая полновесного исследовательского подразделения), которые время от времени выдают на-гора всевозможные интересные утилиты. Так и Mouse without Borders создана буквально в гараже — только не в физическом помещении, а в сообществе The Garage. Главный ее разработчик — Труонг До, вообще-то трудится над проектом Microsoft Dynamics, такая утилита, видимо, понадобилась ему для каких-то личных целей, хотя разработчики — одна из очевидных целевых групп для различных средств управления.

Общая концепция Mouse without Borders гораздо проще, чем у Input Director — программа изначально выполняется в режиме автопереключения, т. е. в любой момент для управления всеми подключенными компьютерами можно пользоваться наиболее подходящей клавиатурой и мышью.

Инсталлируя Mouse without Borders на первом компьютере следует ответить нет, чтобы сразу же сгенерировать код доступа
Рис. 8. Инсталлируя Mouse without Borders на первом компьютере, следует ответить нет, чтобы сразу же сгенерировать код доступа.

Полученный код понадобится для подключения других компьютеров
Рис. 9. Полученный код понадобится для подключения других компьютеров.

На каждом нужно будет указать код и имя компьютера с установленной Mouse without Borders
Рис. 10. На каждом нужно будет указать код и имя компьютера с установленной Mouse without Borders.

При инсталляции Mouse without Borders спрашивает, присутствует ли она уже на других компьютерах. Если вы устанавливаете ее впервые, нужно ответить «нет», в результате чего будет сформирован специальный код, играющий роль пароля для подключающихся компьютеров. Соответственно, на втором (и последующих) компьютере нужно ответить «да» и ввести имя первого и код. После щелчка на Link компьютеры будут связаны между собой и вся система заработает.

Mouse without Borders готова к работе сразу же после установки
Рис. 11. Mouse without Borders готова к работе сразу же после установки.

Mouse without Borders позволяет соединять до четырех компьютеров, порядок которых можно менять в окне настроек, просто перетягивая соответствующие изображения мышью. Мультимониторные конфигурации специальным образом никак не поддерживаются. К базовым возможностям программы относится совместное использование буфера обмена, а также возможность копирования файлов путем перетаскивания их мышью на нужный компьютер. Последнюю операцию можно выполнять только с одиночными файлами, группы и папки не поддерживаются. Процесс копирования сопровождается всплывающим оповещением, все файлы помещаются в специальную папку MouseWithoutBorders, которая автоматически создается на рабочем столе. При этом нужно иметь в виду, что никаких предупреждений при копировании файлов с одинаковыми именами не выдается, новые просто затирают старые.

Настройки размещения компьютеров совсем просты, но в большинстве случаев их будет достаточно
Рис. 12. Настройки размещения компьютеров совсем просты, но в большинстве случаев их будет достаточно.

Минималистские настройки Mouse without Borders, видимо, отражают наиболее типичное ее применение. Можно настроить «горячие» клавиши, отключить экранные заставки на управляемых компьютерах и необходимость предварительно нажимать Ctrl-Alt-Del (которая всегда обрабатывается локальной системой) для разблокирования компьютера. Имеется также возможность синхронно управлять всеми ПК, к примеру, для выполнения одних и тех же команд или программ — естественно, мышь для этих целей можно применять только в случае одинакового разрешения мониторов. Наконец, через пиктограмму Mouse without Border в системной области панели задач можно оперативно делать и передавать снимки экранов управляемых компьютеров.

В Mouse without Borders изначально настроены самые необходимые горячие клавиши
Рис. 13. В Mouse without Borders изначально настроены самые необходимые «горячие» клавиши, что делает использование программы еще проще.

Таким образом, Mouse without Borders действительно не слишком выходит за рамки своих основных задач, что во многих случаях даже и хорошо. В результате — самый компактный дистрибутив, простая настройка, минимум проблем.

Synergy

Главное отличие и достоинство Synergy от предыдущих участников обзора — кроссплатформенность. Программа работает в Windows, Linux и Mac OS X, можно использовать готовые бинарные файлы или скомпилировать их самостоятельно. Естественные издержки — использование кроссплатформенных библиотек (Qt) и, соответственно, достаточно громоздкий дистрибутив (порядка 11 МБ). При этом, однако, принципы настройки и использование Synergy на различных платформах могут отличаться, ввиду наличия или отсутствия GUI и некоторых других возможностей. В настоящий момент идет разработка версии 1.4, где данная проблема должна быть если не решена, то смягчена. Пока же в Linux и Mac OS X нужно быть готовым к непосредственной работе с конфигурационным файлом, впрочем, и в Windows только с его помощью можно, к примеру, описать конфигурацию компьютера с несколькими мониторами. Однако в наиболее типичных случаях настроить Synergy сравнительно легко (на примере бета-версии 1.4.5).

На управляемых компьютерах достаточно только ввести имя сервера
Рис. 14. На управляемых компьютерах достаточно только ввести имя сервера.

Сервер – компьютер, клавиатура и мышь которого будет использоваться для управления всей системой
Рис. 15. Сервер — компьютер, клавиатура и мышь которого будет использоваться для управления всей системой. В Windows его проще всего настроить интерактивно.

Нужно перетаскивать пиктограмму монитора в ячейки и дважды щелкать на них для выполнения настройки
Рис. 16. Нужно перетаскивать пиктограму монитора в ячейки и дважды щелкать на них для выполнения настройки.

Главное – правильно указать сетевые имена компьютеров
Рис.17. Главное — правильно указать сетевые имена компьютеров. Из полезных настроек здесь также «мертвые» углы.

Synergy оперирует понятиями сервера и клиента — по сути, это аналоги главного и подчиненного компьютеров у Input Director. Соответственно, необходимо настроить сервер, клавиатуру и мышь которого предполагается использовать, и необходимое число клиентов. На клиентах достаточно указать сетевое имя сервера и нажать кнопку Start. Конфигурация сервера немного сложнее: надо выбрать интерактивный режим настройки (Configure interactively), щелкнуть на кнопке Configure server и в открывшемся окне описать размещение мониторов. Для этого нужно перетаскивать пиктограмму монитора в свободные ячейки, затем дважды щелкать на ней и в поле Screen name указывать сетевое имя соответствующего клиента. После этого система полностью готова к работе, остается лишь вернуться в главное окно Synergy и нажать кнопку Start.

Synergy не блещет обилием настроек
Рис. 18. Synergy не блещет обилием настроек, однако позволяет выбирать различные способы переключения ввода с помощью мыши.

Можно также не торопиться и сразу же настроить некоторые параметры (либо вернуться к ним после того, как более точно определятся предпочтения). К примеру, для каждого монитора можно указать «мертвые» углы, в которых не будет осуществляться переход на следующий экран. Хотя их можно определить и глобально — во вкладке Advanced Server Configuration окна Server Configuration. Здесь же корректируется сам способ перехода на другой экран с помощью мыши. По умолчанию курсор просто сразу же пересекает край экрана, но можно делать это после некоторой задержки (Switch after waiting) или по двойному «постукиванию» о край (Switch on double tap within). А вот горячие клавиши придется все настраивать самостоятельно — для этого в окне Server Configuration предназначена вкладка Hotkeys. Впрочем, в текущей бета-версии здесь явно присутствует некоторая путаница. Так, комбинацию клавиш нужно указывать дважды — и при ее инициализации, и при назначении конкретного действия.

Synergy можно отнести к особому классу KMG
Рис. 19. Synergy можно отнести к особому классу KMG (G — gamepad), т. к. в ней присутствует поддержка игровых манипуляторов.

Synergy поддерживает совместный буфер обмена, что является фактически стандартом для данного класса программ, а также располагает одной уникальной возможностью — под Windows она умеет перенаправлять команды не только от клавиатуры и мыши, но и от игрового манипулятора (gamepad).

Резюме

Существуют и другие KM-программы, к примеру, коммерческая Multiplicity. Готов предположить, что она отлажена лучше своих бесплатных аналогов; кроме того, в версии Pro заявлена возможность копирования файлов и папок. Однако даже при этом цена в $50 кажется чрезмерной.

В свою очередь, три описанные программы охватывают большинство возможных ситуаций и из них можно выбрать наиболее подходящую. Mouse without Borders подкупает своей простотой и, пожалуй, идеальна для первого знакомства. Input Director, напротив, предложит максимум настроек и дополнительных функций, вплоть до клавиатурных макросов. Synergy безальтернативна, если речь идет об операционных системах, отличных от Windows. В любом случае каждая из них способна сделать одновременную работу с несколькими компьютерами более комфортной.

1 марта 2012 Г.

KVM:

KVM:

, , . , , , . . (, ) - /, RDP SSH. ( , ), , . , . , . — KVM (Keyboard, Video, Mouse): , , .

. , , - , , , — ( ). RDP, — KVM, KM, . . , - . (, , ) , : .

Input Director

Input Director, Windows, . , , — , (, ). , , , ( , ), . — , Input Director (master) (slave) . , , , .

, Input Director . 3 , - 1.3 98, . . ( ). , . ( ) .

    Input Director
. 1. Input Director , .

, . Slave Configuration , . :

  • ;
  • ( );
  • ( ).
. 2. : , .

, , . / ( Global Preferences) — , , ( ).

Slave Configuration , (AES 128/192/256) .

. Main Enable as Slave.

«» Master Configuration. , . Add Slave Configuration ( IP-) — . «» , ; ( ); . .

. 3. : Add, .

Master Configuration , . «» . , — «» , .

Input Director
. 4. Input Director .

, Main Enable as Master. Input Director. , . « » , «» . / ( — ).

. 5. .

Input Director «» . , /, (Windows 7) , , .

, . , , .

 Master Preferences
. 6. Master Preferences , , — , . , .

Master Preferences ( ) — Transition Options. , , . , () , «» . ( , Start).

Global Preferences ( ) ( ), , , , /. , ( ), . .

      /
.7. — / — .

, Input Director ( ). , , , , - .

Mouse without Borders

Windows, Input Director . , Mouse without Borders Microsoft, . ( ), - . Mouse without Borders — , The Garage. — , - Microsoft Dynamics, , , - , — .

Mouse without Borders , Input Director — , . . .

 Mouse without Borders      ,
. 8. Mouse without Borders , , .

. 9. .

           Mouse without Borders
. 10. Mouse without Borders.

Mouse without Borders , . , , , . , ( ) . Link .

Mouse without Borders
. 11. Mouse without Borders .

Mouse without Borders , , . . , . , . , MouseWithoutBorders, . , , .

    ,
. 12. , .

Mouse without Borders, , . «» , Ctrl-Alt-Del ( ) . , , — , . , Mouse without Border .

 Mouse without Borders
. 13. Mouse without Borders , .

, Mouse without Borders , . — , , .

Synergy

Synergy — . Windows, Linux Mac OS X, . — (Qt) , , ( 11 ). , , Synergy , GUI . 1.4, , . Linux Mac OS X , , Windows , , . Synergy ( - 1.4.5).

. 14. .

  ,
. 15. — , . Windows .

. 16. .

.17. — . «» .

Synergy — , Input Director. , , , . Start. : (Configure interactively), Configure server . , Screen name . , Synergy Start.

Synergy
. 18. Synergy , .

( , ). , «» , . — Advanced Server Configuration Server Configuration. . , (Switch after waiting) (Switch on double tap within). — Server Configuration Hotkeys. , - . , — , .

Synergy      KMG
. 19. Synergy KMG (G — gamepad), . . .

Synergy , , — Windows , (gamepad).

KM-, , Multiplicity. , ; , Pro . $50 .

, . Mouse without Borders , , . Input Director, , , . Synergy , , Windows. .