synergyでキーボード、マウスを共用 -
目次
- 概要
- ダウンロード
- 日本語環境対応パッチをあてる
- Linux環境でのビルド
- Windows環境でのビルド
- Linuxをサーバとして起動する
- Linuxをクライアントとして起動する
- Windowsをサーバとして起動する
- Windowsをクライアントとして起動する
- Linuxでsynergyを自動起動に設定する
- Windowsでsynergyを自動起動に設定する
- Tips
概要
synergyは一組のキーボードとマウスを複数のPCで共用するためのソフトウェアです。似たような用途に使用されるソフトウェアとしてVNCが在りますが、synergyでは複数のディスプレイを接続したPC間でキーボードとマウス入力だけを切り替える働きをします。
操作はシンプルで、マウスカーソルを画面外に移動すると別のPCにカーソルが現れ、カーソルのあるPCを操作することが出来ます。また、クロスプラットフォームでの使用が可能です。ここではLinuxとWindows間での使用例を記します。
ダウンロード
- http://synergy2.sourceforge.net/から必要なファイルをダウンロードします。
- 今回はソースファイルをダウンロードしてビルド、インストールします。
- 今回使用したソースファイルはsynergy-1.3.1.tar.gzです。
- synergyのソースはプラットフォーム非依存なのでWindows, Linux両方でビルドできます。
日本語環境対応パッチをあてる
- ソースファイルを適当なディレクトリに解凍し、ディレクトリを移動します。
- tar xvzf synergy-1.3.1.tar.gz
- cd synergy-1.3.1
- パッチファイルを同じディレクトリにコピーしておき、以下の手順でソースにパッチを当てます。
- patch -p1 < synergy-1.3.1.kanji_kana.patch
- 以下、synergy-1.3.1.kanji_kana.patchの内容です。
diff -ur synergy-1.3.1.original/lib/platform/CMSWindowsKeyState.cpp synergy-1.3.1/lib/platform/CMSWindowsKeyState.cpp --- synergy-1.3.1.original/lib/platform/CMSWindowsKeyState.cpp 2006-04-11 17:56:19.000000000 +0900 +++ synergy-1.3.1/lib/platform/CMSWindowsKeyState.cpp 2006-04-11 20:31:35.000000000 +0900 @@ -277,9 +277,9 @@ /* 0x0ef */ { kKeyNone }, // OEM specific /* 0x0f0 */ { kKeyNone }, // OEM specific /* 0x0f1 */ { kKeyNone }, // OEM specific - /* 0x0f2 */ { kKeyNone }, // OEM specific - /* 0x0f3 */ { kKeyNone }, // OEM specific - /* 0x0f4 */ { kKeyNone }, // OEM specific + /* 0x0f2 */ { kKeyOEMCopy }, // VK_OEM_COPY + /* 0x0f3 */ { kKeyZenkaku }, // VK_OEM_AUTO + /* 0x0f4 */ { kKeyZenkaku }, // VK_OEM_ENLW /* 0x0f5 */ { kKeyNone }, // OEM specific /* 0x0f6 */ { kKeyNone }, // VK_ATTN /* 0x0f7 */ { kKeyNone }, // VK_CRSEL @@ -534,9 +534,9 @@ /* 0x1ef */ { kKeyNone }, // OEM specific /* 0x1f0 */ { kKeyNone }, // OEM specific /* 0x1f1 */ { kKeyNone }, // OEM specific - /* 0x1f2 */ { kKeyNone }, // OEM specific - /* 0x1f3 */ { kKeyNone }, // OEM specific - /* 0x1f4 */ { kKeyNone }, // OEM specific + /* 0x1f2 */ { kKeyNone }, // VK_OEM_COPY + /* 0x1f3 */ { kKeyNone }, // VK_OEM_AUTO + /* 0x1f4 */ { kKeyNone }, // VK_OEM_ENLW /* 0x1f5 */ { kKeyNone }, // OEM specific /* 0x1f6 */ { kKeyNone }, // VK_ATTN /* 0x1f7 */ { kKeyNone }, // VK_CRSEL diff -ur synergy-1.3.1.original/lib/synergy/KeyTypes.h synergy-1.3.1/lib/synergy/KeyTypes.h --- synergy-1.3.1.original/lib/synergy/KeyTypes.h 2006-04-11 17:56:21.000000000 +0900 +++ synergy-1.3.1/lib/synergy/KeyTypes.h 2006-04-11 20:37:23.000000000 +0900 @@ -106,6 +106,7 @@ static const KeyID kKeyHenkan = 0xEF23; /* Start/Stop Conversion */ static const KeyID kKeyZenkaku = 0xEF2A; /* Zenkaku/Hankaku */ static const KeyID kKeyDelete = 0xEFFF; /* Delete, rubout */ +static const KeyID kKeyOEMCopy = 0xEF27; /* OEMCopy(Kana in Japanese keyboard) */ // cursor control static const KeyID kKeyHome = 0xEF50;
Linux環境でのビルド
- Linux環境ではgccがあればビルドできます。
- 以下の手順でビルド、インストールします。
- ./configure
- make
- make install
- RedHat系のLinuxでは以下の手順でシンボリックリンクを張ります。
- ln -s /usr/local/bin/synergyc /usr/bin/synergyc
- ln -s /usr/local/bin/synergys /usr/bin/synergys
Windows環境でのビルド
- Windows環境ではVisualStudioが必要です。
- インストーラまでビルドするには、NSIS(Nullsoft Scriptable Install System)が必要です。以下のURLから取得してインストールしておきます。
- VisualStudioからプロジェクトを開きます。今回使用したVisualStudio.NETではプロジェクトファイルの変換が必要と言われましたが、指示に従って変換することによりビルドできました。
- Releaseビルドに設定して、メニューのビルド>ソリューションのリビルドで全てが自動的にビルドされ、buildディレクトリにファイル一式が出来上がります。
- NSISが入っていればインストーラまで出来上がりますので、それを使ってインストールできますが、インストーラがなくても出来上がったファイル一式をまとめて適当なディレクトリにコピーすれば使用可能です。
Linuxをサーバとして起動する
- 最初にサーバとクライアントディスプレイの関係を記述した/etc/synergy.confファイルを作成します。
section: screens # synergyの管理するディスプレイを全て列挙します。 localhost.localdomain: client.localdomain: end section: aliases # 別名を指定します。(IP-Address指定にも応用できます。) localhost.localdomain: < IP-Address > client.localdomain: < IP-Address > end section: links # スクリーン間の関係を記述します。 localhost.localdomain: right = client.localdomain client.localdomain: left = localhost.localdomain end
- 以下のコマンドでサーバを起動します。
- /usr/bin/synergys --daemon --config /etc/synergy.conf
Linuxをクライアントとして起動する
- Linuxをクライアントとして動作させるにはsynergy.confは不要です。
- 以下のコマンドで起動します。
- /usr/bin/synergyc --daemon <server_name>
Windowsをサーバとして起動する
- Windowsをサーバとして設定するには以下の手順を行います。
- synergyを起動します。
- Share this computer's keyboard and mouse (server)をチェックします。
- Configureをクリックします。
- Screens:のセクションで+ボタンをクリックしてsynergyの管理するディスプレイ名を全て追加します。
- 必要に応じてEditをクリックして設定を追加します。
- Links:セクションでそれぞれのスクリーンに対する他方の位置関係を設定します。
- 設定が終わったらOKをクリックます。
- Startをクリックすればサービスがスタートします。
Windowsをクライアントとして起動する
- Windowsをクライアントとして起動するのは極めて簡単です。
- synergyを起動します。
- use another computer's shared keyboard and mouse (client)をチェックします。
- Other Computers Host Name:にサーバの名前(今回はIP-Addressでも可)を入力します。
- Startボタンをクリックする。
Linuxでsynergyを自動起動に設定する
- FedoraCore4のGnome上での設定例です。
- /etc/X11/gdm/Init/:0に以下の記述を追加
/usr/bin/killall synergys sleep 1 /usr/bin/synergys --daemon --config /etc/synergy.conf
- /etc/X11/gdm/PostLogin/Defaultに以下の記述を追加
/usr/bin/killall synergys sleep 1
- ユーザホームディレクトリ~/.bashrcに以下の記述を追加
/usr/bin/synergys --daemon --config /etc/synergy.conf
- クライアントとして自動起動するにはsynergysをsynergycに変更すれば、基本的にはOKです。ただし、オプションや引数などは適当に変更する必要があります。
Windowsでsynergyを自動起動に設定する
- Windowsをサーバ又はクライアントとして設定した後、以下の操作を行います。
- synergyのウィンドウでAutoStartボタンをクリックします。
- ログイン画面で起動するか、ログイン後に起動するかの希望に応じてInstallボタンをクリックします。
Tips
- 参考:
Powered by YukiWiki 2.1.3
Modified by Makoto Ito.