Mouse Without Borders
В статье рассказано о том, как можно удобно организовать работу одновременно за несколькими ноутбуками.
Интро
Я уже и не помню, когда я работал за стационарным компьютером. Лет 10-15 назад. С тех пор были только ноуты, в основном корпоративные ThinkPad-ы серии T4XX. Мне очень комфортен формат такого 14-дюймового ноутбука за его удобство, мобильность и надёжность. Кому-то экран маловат и клавиатура неудобна, а мне самое то. Кроме того, натренированная мышечная память позволяет многое делать автоматически, не отвлекаясь на рутинные процессы.
Обычно я использую одновременно 2 ноута, часто 3, изредка 4. Когда ноутов только два, и они одинаковые - физическое переключение между ними практически не доставляет дискомфорта. Разве что не хватает общего буфера обмена. Но в какой-то момент меня угораздило купить не ThinkPad, да ещё и с более крупным 16-дюймовым дисплеем. Необходимость переключаться между различающимися клавиатурами, дисплеями, тачпадами - это всё стало доставлять неудобство и отвлекать. И я стал задумываться о том, как вернуть комфорт обратно.
Для многих на Хабре всё нижеописанное может оказаться простым и очевидным. Но вдруг кто-то откроет новое, вспомнит или поделится альтернативным опытом. Например, я много лет назад пользовался программой "Mouse Without Borders" для расшаривания мышки и клавиатуры на 2 компа, потом на десятилетие напрочь забыл про её существование и вот наткнулся на неё заново совсем недавно.
Софт на ноутах у меня в основном одинаковый: Windows 10, Far Manager, IntelliJ IDEA и линуксовые виртуалки в VirtualBox. Поэтому решения ниже в основном рассчитаны на Windows.
RDP
Один из вариантов работы на нескольких ноутах одновременно - классический Remote Desktop (RDP).
В этом случае можно выбрать один из ноутов основным, и удалённо подключаться к другим. На ноутах в свою очередь могут быть запущены headless-виртуалки, к которым гипервизор также предоставляет доступ по RDP/VRDP.
Это наиболее простой и надёжный вид подключения, который меня никогда не подводил. Если ноуты соединены Ethernet-ом, то вообще не чувствуется разницы - работаешь ли ты по RDP или непосредственно находишься за ноутом. Но с Wi-Fi (какими бы потрясающими ни были циферки в скорости соединения) ощущения не те из-за миллисекундных лагов. И, увы, в последнее время производители ноутов стали отказываться от Ethernet портов.
С RDP подключением к системам на Windows Pro/Enterprise проблем нет, а вот для более дешёвой Windows Home такая возможность отсутствует. Но, эта неприятность решается установкой RDP Wrapper для организации там RDP-сервера.
Несколькими RDP сессиями можно управлять, например, с помощью Remote Desktop Connection Manager (RDCMan). Это небольшая древняя программа от Microsoft/Sysinternals, размером меньше 2 мегабайт, не требующая установки.
К сожалению, виндовые апдейты с каждым годом приносят всё больше хаоса и несовместимостей, и пользоваться RDCMan становится уже не так удобно.
Ну и ещё один минус варианта с RDP в том, что дисплеи других ноутов при этом бездействуют.
KVM
Были времена, когда под столом стояла пара системных блоков, а на столе монитор, клавиатура и мышка. Тогда очень помогал аппаратный KVM (Keyboard, Video, Mouse) переключатель. Для ноутов есть нечто похожее - одно время я пользовался Wormhole Switch в качестве переключателя клавиатуры/мыши, для копирования файлов и буфера обмена. В форм-факторе двухстороннего USB-кабеля, удобно.
На it-безопасников этот Wormhole Switch действует как красная тряпка на быка.
Совсем недавно была новость, что Интел пытается замутить что-то подобное. Чем-то этот интеловский Thunderbolt Share напоминает нуль-модемный кабель времён DOS-а, но, наверное, будет побыстрее.
Mouse Without Borders
Есть программные альтернативы KVM/KM-переключателями. Одна из них это Mouse Without Borders. Когда-то давно её создал Truong Do в Microsoft Garage, но софтина до сих пор актуальна, не испортился и не обросла разным мусором. Хоть это и создано в недрах Microsoft, но сделано по-уму, в духе Sysinternals - минималистично и эффективно, размером программа всего 1.3 мегабайта.
Mouse Without Borders позволяет расшаривать мышки/тачпады/трекпоинты, клавиатуры и буфер обмена между 4 разными Windows компьютерами.
Можно переключаться между экранами, передвигая между ними курсор мыши, либо воспользоваться хоткеями Ctrl+Alt+F1,F2,F3,F4. Можно даже сделать так, чтобы мышка и клавиатура работали синхронно на нескольких ноутах, чтобы делать идентичные операции в разных системах одновременно.
Режим проектора
Режим проектора подходит, когда нужно расширить рабочий стол ноутбука на дисплей другого ноутбука.
Для этого на одном ноуте нужно запустить режим проектора: "Win+K → Projecting to this PC" или "Settings → Projecting to this PC → Launch the Connect app to project to this PC" (на скриншоте слева). Если опции на странице настроек недоступны, то нужно установить "Wireless Display" в "Settings → Optional features".
Чтобы подключиться к этому "проектору", на другом ноуте нужно сделать: "Win+P → Extend, Connect to wireless display" (на скриншоте справа).
После этого вторым ноутбуком можно пользоваться как дополнительным монитором; можно перетаскивать окна приложений с одного экрана на другой.
Far Manager
Far - это вообще самое лучшее, чем я когда-либо пользовался. Каждый день, уже больше 25 лет это мой основной инструмент практически для всего. Не передать словами, как я им доволен.
Для использования Фара на удалённой windows-машине лучше использовать виндовый ssh-клиент (не putty или ssh-клиент из cygwin/mingw, а именно тот, что встроен в винду - в нём нормально работают функциональные клавиши). И виндовый же ssh сервер. Если в системе их нет, то в Windows поддержку SSH всегда можно добавить через "Settings → Add an optional feature", выбрав там "OpenSSH Client" и "OpenSSH Server".
С локальной машины можно стандартно законектиться к удалённой: ssh user@laptop3
, и там запустить "C:\Program Files\Far Manager\Far.exe". И вот - окно фара здесь, а работает он там:
А копировать файлы между машинами очень удобно через Far NetBox.
X Window
Иногда в консольных линуксовых виртуалках нужно запустить какое-нибудь GUI приложение, не запуская при этом полноценный desktop environment или window manager. Просто одиночное приложение с графическим интерфейсом.
С этим помогают SSH-клиент с режимом X11 forwarding и VcXsrv (реализация X Server для Windows), позволяющие пробросить в Windows интерфейс удалённого Linux-приложения. Приложение запустится в линуксе, а с его графическим интерфейсом можно взаимодействовать в винде.
Хотя это, наверное, уже мало относится к теме объединения ноутбуков.
В итоге
Всё вышеперечисленное работает с некоторыми ньюансами в зависимости от сетевых настроек и политик безопасности.
Иногда наборы правил не позволяют объединить ноуты вместе. Мне в таком случае очень удобно пользоваться ноутами одной и той же серии, которые эргономически мало меняются от поколения к поколению (те самые мои любимые синкпады). Вообще я человек-привычка. Мне очень нравится одинаковость и повторяемость, будь то модель ноутбука, ботинок, джинсов или рюкзака, привычный софт или что-то ещё. Одинаковые вещи создают комфорт и уют. И тем больше радость, когда что-то новое вдруг оказывается не менее удобным.
Ну а в Mouse Without Borders меня привлекает та часть, которая Without Borders, потому что не должно быть в нормальном мире ни бордерсов, ни заборов, ни периметров.