Как использовать Barrier для совместного управления компьютером и Raspberry Pi

Что такое Barrier?
Barrier — это свободное (open-source) KVM‑ПО (keyboard, video, mouse), имитирующее аппаратный KVM‑переключатель и позволяющее использовать одну клавиатуру и мышь на нескольких компьютерах по локальной сети. По функционалу Barrier — форк Synergy; ключевые преимущества Barrier: бесплатность, простота настройки и стабильность в типичных сценариях работы.
Кратко: Barrier использует архитектуру «сервер — клиенты». Сервер — компьютер с подключёнными клавиатурой и мышью; клиенты — устройства, которыми вы хотите управлять удалённо (например, Raspberry Pi).
Важное: Barrier работает по локальной сети (обычно по TCP), поэтому все машины должны быть достижимы друг для друга и находиться в одной сети или связаны с маршрутом между собой.
Зачем использовать Barrier вместо аппаратного KVM?
- Нет необходимости в дополнительном физическом переключателе и кабелях.
- Быстрый переход между машинами простым движением курсора по краю экрана.
- Поддержка обмена буфером обмена (включая копирование/вставку между машинами).
- Поддерживается Linux, macOS, Windows и Raspberry Pi OS.
Когда Barrier может не подойти: если вам нужно переключать также видеовыход (HDMI/DP) без задержек, если вам требуется абсолютная защищённость (разрывать сети между машинами), либо при отсутствии устойчивого IP‑соединения между устройствами.
Подготовка: что вам нужно знать
Факт‑бокс
- Поддерживаемые ОС: Linux (включая Raspberry Pi OS), macOS, Windows.
- Обычно используется TCP‑порт 24800 (открыть в фаерволе при необходимости).
- Требуется локальная сеть с маршрутом между устройствами.
Коротко о терминах
- Сервер — машина, где физически подключены клавиатура и мышь.
- Клиент — машина, которой вы отдаёте управление (Raspberry Pi).
Как скачать и установить Barrier
Barrier доступен в репозиториях основных ОС. Установите Barrier на все машины — сервер и клиенты.
На Linux / Raspberry Pi OS откройте терминал и выполните:
sudo apt update
sudo apt install barrierНа macOS (если установлен Homebrew):
brew install barrierНа Windows: скачайте установщик с официального репозитория Barrier и запустите .exe‑файл, затем следуйте мастеру установки.
Примечание: в некоторых дистрибутивах имя пакета может отличаться или требоваться сборка из исходников; используйте штатный менеджер пакетов вашей ОС.
Как устроена архитектура Barrier
Barrier использует клиент‑серверную модель:
- Сервер публикует своё имя/адрес и принимает подключения от клиентов.
- Клиент устанавливает соединение с сервером и сообщает «имя экрана» (screen name), по которому сервер его идентифицирует.
При настройке в GUI вы располагаете виртуальные экраны в той же логической последовательности, в которой они стоят на вашем столе — это определяет направление, в котором нужно двигать курсор для переключения фокуса.
Настройка Barrier: пошагово
Ниже — последовательность действий, предполагающая, что основной компьютер (Linux/macOS/Windows) будет сервером, а Raspberry Pi — клиентом.
Настройка Barrier на сервере
- Установите Barrier (см. предыдущий раздел).
- Откройте приложение Barrier на машине, которую хотите сделать сервером.
- В интерфейсе отметьте опцию Сервер — «Server (share this computer’s keyboard and mouse)» — переведено как «Сервер (разрешить совместное использование клавиатуры и мыши этого компьютера)». Выберите «Configure inactively» (настройка перед запуском) и нажмите «Configure Server».
- В окне конфигурации перетащите значок компьютера, чтобы расположение экранов соответствовало вашей физической расстановке (например, основной слева, Raspberry Pi — справа).
- Дважды кликните по добавленному экрану и задайте ему «Screen name» — идентификатор, по которому сервер будет распознавать клиента.
- Нажмите OK, затем на главной странице интерфейса — Reload и Start, чтобы запустить сервер.
Совет: удобнее сначала задать все имена экранов, а затем запускать службу, чтобы настройки применились корректно.
Настройка Barrier на Raspberry Pi (клиенте)
- Установите Barrier на Raspberry Pi (см. раздел установки).
- Запустите приложение Barrier на Raspberry Pi.
- Выберите режим Client — «Client (use another computer’s mouse and keyboard)» — в переводе «Клиент (использовать клавиатуру и мышь другого компьютера)».
- Можно попробовать автоматическую настройку (Auto config). Если автоматическое обнаружение не сработало, перейдите к ручной настройке.
- В поле сервера введите IP‑адрес сервера (узнали на сервере) и при необходимости укажите имя экрана Raspberry Pi, совпадающее с указанным на сервере.
- Нажмите Apply и Start.
Если соединение успешно — курсор будет свободно переходить между экранами в соответствии с расположением, заданным на сервере.
Ручная настройка IP и решение проблем с подключением
Если автоматическое обнаружение не работает:
- На сервере откройте Barrier и запишите его IP‑адрес (или используйте ip addr / ifconfig).
- На клиенте введите этот IP‑адрес в поле Server IP в конфигурации Barrier.
- Убедитесь, что на маршруте между клиентом и сервером открыт TCP‑порт 24800 и нет блокирующих правил фаервола.
- Проверьте, что имена экранов (Screen name) совпадают — сервер идентифицирует клиента по имени.
Чеклист для диагностики соединения
- Пингуется ли сервер с клиента и наоборот?
- Открыт ли TCP 24800 на сервере (ufw/iptables/Windows Firewall)?
- Совпадают ли Screen name в настройках сервера и клиента?
- Запущены ли Barrier процессы на обеих машинах?
Как пользоваться после настройки
- Запустите Barrier на сервере и на клиенте (если настроили автозапуск — сервис стартует автоматически).
- Убедитесь, что клавиатура и мышь подключены к серверу.
- Переместите курсор к краю экрана в направлении того устройства, к которому хотите переключиться.
- Если включён буфер обмена, вы можете копировать текст на одной машине и вставлять на другой.
Короткий пример поведения: основной компьютер слева, Raspberry Pi справа — чтобы управлять Raspberry Pi, двигайте курсор вправо за предел экрана основного компьютера.
Автозапуск Barrier (общие рекомендации)
Важно: способы автозапуска зависят от ОС. Ниже — безопасные и универсальные варианты:
- Raspberry Pi OS / Linux (GUI): добавьте .desktop‑файл в ~/.config/autostart с запуском barrier/барриер‑клиента.
- Linux (сервер без GUI или headless): настройте systemd‑service, который запускает клиентскую службу после загрузки сети.
- macOS: используйте LaunchAgents (plist) или добавьте приложение в «Login Items».
- Windows: поместите ярлык в папку Startup или создайте задачу в Task Scheduler с триггером «At log on».
Примечание: при автозапуске убедитесь, что сетевой интерфейс поднят до запуска Barrier — в systemd используйте зависимость от network‑online.target.
Безопасность и защита соединения
Important: Barrier по умолчанию передаёт ввод по локальной сети. Для дополнительной защиты:
- Включите шифрование в настройках Barrier, если опция доступна в вашей сборке.
- Используйте VPN или SSH‑туннель, если управляемые машины находятся в разных сетях или через ненадёжное соединение.
- Ограничьте доступ к порту 24800 в фаерволе только адресами доверенных хостов.
Если у вас строгие требования к безопасности, рассмотрите аппаратные решения или изоляцию сетей.
Когда Barrier не подойдёт — альтернативы и контрпример
Контрпример: если вам нужно переключать также видеовыход и звук с высокой точностью (например, при работе с реальным HDMI‑оборудованием или при трансляции видео с минимальной задержкой), аппаратный KVM‑коммутатор или отдельные мониторы будут предпочтительнее.
Альтернативные подходы:
- Аппаратный KVM‑переключатель — для шин видеосигнала и полного аппаратного переключения.
- Использование удалённого рабочего стола (RDP/VNC/SSH) — если требуется полный доступ к сессии удалённой машины, но поведение курсора/ввод может отличаться.
Руководство по восстановлению (инцидент‑runbook)
- Симптом: клиент не подключается к серверу.
- Проверьте сеть: ping IP сервера.
- Проверить, запущен ли Barrier на сервере (ps / task manager).
- Проверить фаерволы и открыть TCP 24800.
- Сравнить Screen name на клиенте и в конфигурации сервера.
- Симптом: курсор переходит, но нет ввода клавиатуры или нет латиницы/раскладки.
- Проверьте локальные раскладки клавиатуры на обеих машинах.
- Перезагрузите службу Barrier на сервере и клиенте.
- Симптом: буфер обмена не синхронизируется.
- Некоторые форматы (например, изображения) могут не переноситься; проверьте настройки буфера обмена в Barrier.
Критерии приёмки
- Курсор свободно переходит между экранами в соответствии с конфигурацией.
- Клавиатура вводит текст на целевой машине после перехода курсора.
- Буфер обмена (копировать/вставить) работает между сервером и клиентом (если включён).
- Соединение стойко восстанавливается после кратковременных разрывов сети.
Чеклисты ролей
Чеклист для администратора (сервер):
- Установлен Barrier на сервере.
- Настроены имена экранов и расположение в конфигурации.
- Открыт TCP 24800 в фаерволе для доверенных адресов.
- Настроен автозапуск при необходимости.
- Включено шифрование/защита (если требуется).
Чеклист для пользователя (Raspberry Pi / клиент):
- Установлен Barrier на Raspberry Pi.
- Screen name совпадает с именем в конфигурации сервера.
- Сервер доступен по IP (ping).
- Barrier запущен и подключён.
Тест‑кейсы и приёмочные тесты
- Тест 1: Перемещение курсора от сервера к клиенту и ввод «hello» — подтверждение появления текста.
- Тест 2: Копирование строки на сервере и вставка её на клиенте (и наоборот).
- Тест 3: Перезагрузка клиента — Barrier должен заново подключиться, если настроен автозапуск.
Советы по локальному развёртыванию и совместимости
- Если ваш Raspberry Pi использует статический IP — укажите его в конфигурации клиента на сервере для надёжности.
- Если используется Wi‑Fi, ожидайте небольших задержек; для минимальной задержки предпочтительнее проводная сеть.
- При работе через VLAN или сегментированную сеть убедитесь, что маршрутизация / правила ACL позволяют соединение по TCP 24800.
Краткое резюме
Barrier — простой и эффективный способ управлять Raspberry Pi и другими компьютерами с одной клавиатуры и мыши. Он экономит место на рабочем столе и упрощает рабочие потоки. Для корректной работы важно правильно настроить сервер/клиент, открыть нужный порт в фаерволе, сопоставить Screen name и при необходимости включить шифрование.
Notes: Если вы часто пользуетесь этой связкой, настройте автозапуск и резервный способ доступа (например, SSH), чтобы в случае проблем с сетью не потерять контроль над Raspberry Pi.