Журнал LinuxFormat - перейти на главную

LXF167:Де­лить­ся пе­ри­фе­ри­ей

Материал из Linuxformat
Перейти к: навигация, поиск

Содержание

Synergy: Де­лимся пе­ри­фе­рией

Пе­ри­фе­рий­ные уст­рой­ст­ва. Управ­ляй­те гра­фи­че­ским ин­тер­фей­сом с дру­го­го ком­пь­ю­те­ра

Нейл Бот­вик из­ла­га­ет кросс-плат­фор­мен­ный ме­тод ра­бо­ты с не­сколь­ки­ми ком­пь­ю­те­ра­ми че­рез од­ну и ту же кла­виа­ту­ру и мышь и не­сколь­ко мо­ни­то­ров.

(thumbnail)
Наш эксперт. У Ней­ла Бот­ви­ка по ком­пь­ю­те­ру в ка­ж­дой ком­на­те, но по со­об­ра­же­ни­ям безо­пас­но­сти он ни за что не ска­жет вам, где на­хо­дит­ся цен­траль­ный сер­вер.

Когда в се­ти несколь­ко ком­пь­ю­те­ров, это от­кры­ва­ет пе­ред ва­ми все ви­ды взаи­мо­дей­ст­вия, невоз­мож­ные с одним ком­пь­ю­те­ром. Ме­сяц на­зад мы рас­смот­ре­ли несколь­ко спо­со­бов управ­ления одним ком­пь­ю­те­ром с дру­го­го че­рез 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 или на­обо­рот, ес­ли дру­го­го вы­хо­да нет! |

Персональные инструменты
купить
подписаться
Яндекс.Метрика