1K подписчиков

Клавиатура и мышь на 2 компьютера или комп с Windows как второй монитор к Linux ПК

Сегодня расскажу как использовать один комплект клавиатуры и мыши на 2-х разных компьютерах одновременно. Причем клавиатура и мышь на 2 компьютера будет работать так же как на двух мониторах подключенных к одному ПК с небольшими ограничениями.

Фотографии всех котов в этом блоге найдены в Яндекс Картинках
Фотографии всех котов в этом блоге найдены в Яндекс Картинках

Во время карантина я уже писал статью как подключить Ipad в качестве дополнительного монитора к ноутбуку. Тогда это было продиктовано необходимостью расширения пространства рабочего стола на маленьком экране ноутбука. Вот эта статья:

Зачем это нужно

Вот вам ситуация из реальной жизни. У меня есть рабочее место на Linux, которое позволяет решать все задачи, местами даже удобнее чем в Windows. Всё работает отлично, кроме одного - Skype for Business. Есть решение на базе плагина для мессенджера Pidgin, но оно работает не идеально.

Запустить S4B в WINE не представляется возможным. Есть вариант запустить его в виртуальной машине, но он представляет собой больше вариантов сбоев чем плагин в Pidgin. Виртуальная машина может быть не запущена, окно свернуто, могут быть проблемы с пробросом камеры и микрофона. Поэтому в качестве варианта я придумал себе второй ПК рядом с основным, который будет использоваться в качестве коммуникатора Skype For Busines.

Чтобы не плодить на столе несколько клавиатур и мышек нужно было решение для использование одного комплекта на 2-х пк.

Аппаратное решение 2 пк - одна клавиатура и мышь

К слову сказать комплект клавиатуры и мыши, которые я использую на рабочем месте позволяют подключать до 3-х ПК. Один ПК подключается передатчиком в комплекте и ещё 2 можно подключить по Bluetooth. С этого я и начал. Про эту клавиатуру я писал вот в этой статье:

Там есть ссылка на маркет с ценами на такой комплект. Пользуюсь им уже 3 года и вполне доволен. Не механика, но очень удобные клавиатура и мышь.

Неудобство с этим комплектом во время переключения следующие:

  1. Клавиатура и мышка подключаются, а затем и переключаются переключатся по отдельности.
  2. Если на клавиатуре достаточно нажать на клавишу с номером, то на мышке надо кликать специальную кнопку пока не загорится нужная цифра.

Но в целом вариант рабочий, привыкнуть можно.

Другой вариант аппаратного решения - это переключатель, он же KVM, но поскольку у меня такого не было, а покупать его никто не планировал я этот вариант даже не рассматривал.

В идеале работать всё должно так как будто к одному ПК подключено 2 монитора. Т.е. сдвинул мышь за край основного монитора и она переключилась на второй. И такое решение тоже есть.

Программное решение Barrier \ Synergy

Довольно давно появился бесплатный открытый проект под названием Synergy. Он позволял с одного компьютера, к которому подключены мышь и клавиатура, управлять другими ПК таким образом как я описал выше. Т.е. расположив мониторы этих ПК рядом подведя курсор мыши к краю управление автоматически переключается на соседний компьютер.

Я про этот проект помнил, раньше им пользовался, поэтому и решил установить это ПО. Однако с тех пор Synergy перестал быть открытым и продается за деньги. Но тем не менее открытый вариант всё-таки остался в виде ответвления. Называется он Barrier. Проект давно не обновляется, но всё ещё работает и есть практически под все платформы и дистрибутивы Linux.

Я без проблем установил на основной Linux машине barrier:

sudo apt install barrier

Затем скачал и установил его на машину с Windows. Скачать можно отсюда: https://github.com/debauchee/barrier/releases

ПО работает по клиент-серверной архитектуре. Компьютер к которому подключены мышь и клавиатура настраивается как сервер, а остальные ПК как клиенты.

В самом простом варианте оба компьютера подключены к одной сети и между ними должен быть разрешен сетевой трафик, TCP порт 24800 должен быть открыт, либо вы можете добавить в доверенные сети локальных межсетевых экранов обоих компьютеров адреса друг друга.

Следующим шагом запускаем сервер и клиент. На клиенте видим имя клиента и вводим адрес сервера:

Настройка клиента Barrier
Настройка клиента Barrier

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

Размещение клиентского компьютера на сетке относительно сервера
Размещение клиентского компьютера на сетке относительно сервера

После этого запускаем сервер, запускаем клиент и пользуемся.

Это самый простой вариант и стоит добавить, что так же необходимо настроить шифрование с использованием SSL. Поскольку на клиентский компьютер передаются все нажатия клавиш и движения мыши в незашифрованном виде. И это проблема если вы на нем будете вводить пароли например.

Почитать как настроить SSL можно например тут.

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

Теперь когда все настроено и подключено можно легко и удобно водя мышкой между экранами переключать управление двумя компьютерами. Более того между ними даже работает буфер обмена. Файлы копировать нельзя, но вот текст ссылки перекинуть можно! Наверное в платном Synergy можно и то и другое, но я не проверял. Дорого.

Пишите ваши комментарии, вопросы, конструктивную критику. Подписывайтесь если хотите!