Windows&ubuntu:synergyでキーボードとマウスを共有する

最近、普通にPCを買うと、Windows7がプリインストールされてくる。

ダウングレード権で逃げてばかりいるのもアレなので、自社ソフト(社内業務用)がWindows7で稼働するかをチェックすることにした。

そんなわけで、今、メインPC(Ubuntu10.04)と検証機(Windows7)の2台を使っている。

もともとそれほど広くない机の上にキーボードとマウスが2セットあるのはかなり苦痛である。

かと言って、お金をかけて切替器を買うのもアレだし。。。

ということで、ソフトウエア的にそれをやってくれるSynergyというのを入れることにした。

Synergyは、Windows系OS、UNIX系OSMACのどれでも使え、もちろん相互に連携できる。

きちんと動作すれば、クライアント側PCのキーボードとマウスは不要になるので、机の下とかに退避できる。
※ブート時に入力デバイスを要求するOSもあるので、挿しておいた方が無難

Synergyでは、操作する物理的なキーボードやマウスがささったPCをサーバ、その操作するデバイスでいじられるPCをクライアントと呼ぶ。

ここでは、Ubuntuをサーバ、Windows7をクライアントとして、導入から稼働開始までのメモを書くことにする。

Ubuntu(使用するキーボードやマウスがささっている側)

インストール

sudo apt-get install synergy

設定
ホームディレクトリに.synergy.confというファイルを作成する。

$ vi ~/.synergy.conf

中身
※正面にUbuntu、左側にWindows7のモニタを置いていると仮定

section: screens
Windows7のホスト名:
Ubuntuのホスト名:
end

section: links
Windows7のホスト名:
right=Ubuntuのホスト名
Ubuntuのホスト名:
left=Windows7のホスト名
end

実行

synergys

これだけ。

Windows(使用するキーボードやマウスがささっていない側)

ダウンロードとインストール

実行形式のインストーラーを実行すればインストールされます。

本家版はこちらにあります。
http://synergy-foss.org/pm/projects/synergy/tabs/download

日本語キーボードに対応した版はこちら(らしいです)。
http://wiki.nothing.sh/page/memo/Synergy
※僕は英語キーボードなので、本家版をそのまま使っています
※日本語KB対応版のページを見ると、何やらいろいろ不具合があるっぽいです

設定

今回の場合、Windowsの方はクライアントになるので、「Use another computer's shared keyboard and mouse[client]」を選びます。

ホスト名の欄にはUbuntuのホスト名を入れます。

Testボタンを押して、サーバ側と接続できればOK。
テスト接続なのでいったんStopボタンを押して切り、あらためてStartボタンから開始します。

ちなみに、AutoStartボタンを押すと、ログイン時に自動実行されるようになります。
スタートアップにショートカットが作られるのではなく、

\\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\Synergy Client

が作られます。

Windows側の注意点

Windows7レジストリエディタを起動しようとしたときなど、ユーザアカウント制御のダイアログが割って入る場合、その瞬間にSynergyサーバ側から操作ができなくなります。
そのダイアログが出ている間、サーバ側からの操作は不可能でした(制御はサーバ側へ戻ります)。
このときだけはクライアント側のマウス等でそのウィンドウを閉じるしかないです。