LXF167:Делиться периферией
|
|
|
Содержание |
Synergy: Делимся периферией
Периферийные устройства. Управляйте графическим интерфейсом с другого компьютера
Нейл Ботвик излагает кросс-платформенный метод работы с несколькими компьютерами через одну и ту же клавиатуру и мышь и несколько мониторов.
Когда в сети несколько компьютеров, это открывает перед вами все виды взаимодействия, невозможные с одним компьютером. Месяц назад мы рассмотрели несколько способов управления одним компьютером с другого через SSH, но делать это можно и по-другому. Хотя по SSH можно подключаться к другому компьютеру через терминал и даже запускать на нем графические программы, если на компьютере установлен Linux, есть и кросс-платформенные методы управления графическим интерфейсом с другого компьютера. Пожалуй, самый известный из них – VNC (Virtual Network Computing – виртуальные сетевые вычисления; www.realvnc.com); с его помощью можно просматривать и управлять полным рабочим столом другого компьютера. Также есть KVM-коммутаторы – устройства, которые переключают клавиатуру, мышь и монитор между двумя или более компьютерами, хотя при этом вы видите монитор только одного компьютера, которым управляете. Иногда нужно наблюдать за экранами двух (или более) компьютеров на их собственных мониторах, но работать с одной клавиатурой и мышью. Я сам на своем горьком опыте убедился, как легко набрать команду не на той клавиатуре и по ошибке нанести ущерб другой системе.
С Synergy можно разделить клавиатуру и мышь между несколькими компьютерами, так что при перемещении мыши за пределы экрана одного компьютера она переходит на следующий, и вы можете работать с несколькими компьютерами, как если бы он был единственным.
Начинаем
Скорее всего, Synergy есть в репозиториях вашего дистрибутива, и ее можно установить обычным образом. Если нет, с http://synergy-foss.org/download можно скачать пакеты для RedHat/Fedora и Debian/Ubuntu, а также исходный код. Если у вас другой дистрибутив и вы хотите установить программу из исходников, учтите, что Synergy использует CMake, а не более традиционные утилиты автоматической сборки. Чтобы скомпилировать и установить программу, распакуйте архив с исходниками, зайдите в созданный каталог командой cd и выполните такие команды:
sudo ./hm.sh conf -g1
sudo ./hm.sh build
Для описания компьютеров сети в Synergy используются термины «сервер» и «клиент». Сервер – это компьютер с клавиатурой и мышью, клиенты – компьютеры, которыми мы управляем удаленно с сервера. Сидеть за сервером и подключаться к клиентам, возможно, не очень логично, но представляйте себе эту схему с точки зрения Synergy и рабочих столов. В составе Synergy устанавливается три программы: Synergyc и Synergys – соответственно клиент и сервер, и Qsynergy – графический интерфейс для управления обоими. Qsynergy должен появиться в разделе Accessories [Стандартные] или Utilities [Утилиты] меню «Пуск». При первом запуске программа спросит, сервер это или клиент – сначала запустите ее на сервере. Нажмите на кнопку Configure Server [Настройка сервера], и вы увидите сетку 5 × 3 с возможным расположением сервера и с сервером в центре. Перетащите иконку нового монитора из правого верхнего угла в соседнюю ячейку и дважды щелкните на ней для настройки монитора. Надо задать только имя клиента – это его имя хоста в сети. Его можно посмотреть, запустив Qsynergy на клиенте – оно будет в разделе клиента как Screen name [Название монитора].
Нажмите OK для выхода из настройки сервера, а затем Start [Запуск]. Теперь запустите Qsynergy на клиенте, выберите режим клиента [Client mode] и введите имя сервера, к которому вы подключаетесь. Вообще-то нужно вводить IP-адрес, но подойдет и разрешимое имя сервера. Нажмите Start [Запуск], чтобы вернуться на сервер, и переместите мышь за правую границу экрана в соответствии с расположением клиента в конфигурационной сетке. Мышь волшебным образом исчезнет с вашего монитора и появится на другом компьютере, и вы сможете сделать почти все, что можно сделать с обычной мышью и клавиатурой на этом компьютере. Если к компьютеру клиента не подключены клавиатура и мышь (или если они недоступны), клиент Synergy можно запустить через ssh:
ssh user@clientcomputer synergyc myhostname
где myhostname – имя сервера.
При тестировании добавьте к параметрам --no-daemon или -f:
ssh user@clientcomputer synergyc –no-daemon myhostname
Тогда Synergy запустится в фоновом режиме и будет отображать определенную информацию при возникновении каких-то событий. Можно добавить параметр --debug, для более подробной информации. Эта команда также позволяет остановить клиента нажатием Ctrl+C, в противном случае пришлось бы воспользоваться killall:
killall synergyc
Управление Synergy
При запуске, Qsynergy по умолчанию открывает окно управления – из него можно запустить сервер или клиент. После настройки оно вам вряд ли понадобится, поэтому зайдите в Edit > Settings [Редактировать > Настройки], чтобы включить автоматический запуск сервера или клиента. Qsynergy сохраняет настройки в ~/.config/Synergy, и по умолчанию и сервер, и клиент загружают их оттуда, поэтому графический интерфейс запускать не нужно, даже в скрытом виде. Просто добавьте Syncergys или Synergyc в автозагрузку, чтобы они запускались при входе в систему. Как это сделать, зависит от рабочего стола: в KDE нужно зайти в System Settings > Startup and Shutdown > Autostart [Настройки > Запуск и выключение > Автозагрузка], пользователи Ubuntu Unity могут поискать Startup Applications [Приложения автозапуска] в Dash, а пользователи Gnome найдут то, что им нужно, в System Tools > Preferences > Startup Applications [Системные утилиты > Настройки > Приложения автозапуска]. Пользователям других дистрибутивов наверняка хорошо знаком файл ~/.xinitrc – изменив его, они смогут добавить программы в автозагрузку. Будете ли вы запускать клиент и сервер напрямую или с помощью Qsynergy, зависит только от вас. Запуск программы напрямую требует чуть меньше ресурсов, а также позволяет указать в командной строке дополнительные параметры, описанные на man-страницах, или другой файл настройки.
Другие применения
Есть и другие причины для запуска программ без графического интерфейса; например, Synergy подходит не только для обычного рабочего окружения. Я запускаю клиента на клиенте MythTV: в основном достаточно пульта дистанционного управления, но когда нужно ввести текст, например, для поиска или переименования, программная клавиатура – не слишком быстрый вариант. Гораздо быстрее взять нетбук, переместить на него указатель мыши и набрать текст там.
Одна из возможностей в окне Settings [Настройки] – запись действий в лог-файл. По умолчанию это /var/log/synergy.log, но Synergy запускается от имени обычного пользователя, а у таковых обычно нет доступа на запись в /var/log. Чтобы решить проблему, можно создать файл от имени root и затем сменить владельца:
sudo touch /var/log/synergy.log
sudo chown myuser: /var/log/synergy.log
Но, наверное, проще сделать так, чтобы журнал находился в вашем домашнем каталоге. Также можно задать объем выводимой здесь информации, что может быть удобно на случай сбоев; однако лог-файлы могут получиться огромными, поэтому отключите этот режим или перейдите на меньший объем журналирования, когда все заработает. Информация, записываемая в журнал, также отображается в окне Qsynergy независимо от того, задан лог-файл или нет, так что этот файл полезнее всего в системах, где вы запускаете фоновый процесс напрямую.
Сетка 5 × 3 – ограничение графической программы, а не Synergy. С Synergy можно управлять целой видеостеной, но файл настройки придется редактировать вручную. Файл ~/.config/Synergy/Synergy.conf управляет поведением и клиента, и сервера. Чтобы изменить расположение экранов сервера, найдите параметры numColumns и numRows в разделе [internalConfig]. Этот файл не закомментирован и не документирован на man-страницах и в руководстве пользователя (которое можно загрузить с сайта Synergy в формате PDF), но имена параметров во многом говорят сами за себя, и нужно лишь погрузиться в него, если вы хотите сделать нечто не предусмотренное графическим интерфейсом. Еще одна ситуация, когда вы можете захотеть создать файл без графического интерфейса – если вы не можете запустить графический интерфейс на удаленном компьютере; но тогда проще всего начать с файла настройки с другого клиента и внести в него соответствующие изменения. В большинстве случаев нужно изменить только параметр screenName, так как параметры вроде относительных координат экранов задаются на сервере.
Это еще не все
Одно из дополнительных преимуществ Synergy – разделяемый буфер обмена. Его не нужно активировать: просто вырежьте или скопируйте какой-нибудь текст на одном мониторе, переключитесь на другой и вставьте его. Обычный способ переключения мониторов – путем перемещения мыши за границы рабочего стола, но это может быть непрактично при управлении большим количеством компьютеров или даже двумя компьютерами, если на одном из них используется рабочий стол с несколькими мониторами. Альтернатива – комбинация клавиш, задаваемая на вкладке Hotkeys [Горячие клавиши] в окне Server Configuration [Настройка сервера]. Нажмите New [Новая комбинация клавиш] на левой панели, нажмите кнопку Hotkey [Горячая клавиша], а затем комбинацию клавиш. Выделите новую комбинацию клавиш и нажмите New [Новое действие] на правой панели, чтобы выбрать действие, которое будет связано с этой комбинацией клавиш. Мы уже говорили о переключении экранов, но также можно заблокировать курсор, чтобы он не выходил за границы экрана при достижении его края, включая и отключая блокировку сочетанием клавиш. Так можно оставлять блокировку включенной, пока вы не перейдете к важному делу или игре.
Жизнь была бы много прекраснее, если бы все можно было делать в Linux... но иногда приходится пользоваться Windows и Mac. Есть версии Synergy для каждой из них, поэтому можно управлять рабочим столом Windows из KDE или Gnome или наоборот, если другого выхода нет! |