ちょっと前に話題に上がっていたSynergyを入れてみた。
タイムリーで話題になっていたのに、その時は全然凄さにきがついて居なかった。
たぶん当時は錆び付いていて、感覚が麻痺していたに違いない。
Synergyは複数台のPCでキーボードとマウスを共有出来るソフトです。
Synergyの凄い所は、異なるOSでも共有ができる点。それどころかクリップボードの共有まで出来てしまいます。
WindowsでコピーしたものをMacOS上のテキストエディタに貼り付けなんて出来てしまう。
そんな事が、ハードウェアなしに出来るのか!?っておもったんですが、
どうやらデーモンプロセスを常駐させてTCP/IPでやりとりしている様です。
素晴らしいの一言。
早速自宅で、Windows+IntelMac+LinuxでSynergyを使ってみることにしました。
Synergyのインストール
各マシンにSynergy2をインストールします。現在最新版は1.3.1で、このバージョンを使います。 ◇Windows (WindowsXP) http://synergy2.sourceforge.net/からSynergyのバイナリ(exeファイル)をダウンロードしてきます。 単純にインストーラ形式なので楽ちん。 ◇Linux (fedora core6) Windowsの時と同じようにサイトからソースを落としてきてもいいんですが、yumでインストールしてしまいました。ソースからコンパイルするなら、$ yum install synergy
でOK。 ◇IntelMac ソースからコンパイルすれば良いんですが、IntelMacの場合はそのままコンパイルするとBus errorが起きます。 masuidriveさんの「IntelMacでSynergy2を動かす」というエントリに解決方が書いてあった。# . ./configure # make # make install
lib/platform/COSXKeyState.cppの中でgetKeyMapでKCHRを取得する所でコケている様なので、356行のgetKeyMap(keyMap, g, kchr);をコメントアウトしてみたら、動いた。バイナリ版を公開しているのですが、バージョンが1.3.0と若干違ったので、ソースを修正してmake installすることにしました。 バージョン1.3.1ではlib/platform/COSXKeyState.cppの354行目にgetKeyMap(keyMap, g, kchr);があるので、コレをコメントアウトしておきます。でいつもの奴でインストール。
# . ./configure # make # make install
synergy.confの作成
Synergyを使うには一台がサーバー機になってクライアントとして接続するようにします。また、サーバー機にはPC同士の配置をsynergy.confに書いてあげる必要が有ります。 現在私の構成だと、という並びになって居るので、キーボード、マウスを使うMacをサーバーにします。 この並びを設定ファイルにしてあげればいいのですね。 ベタに/etcの下にsynergy.confを作成します。Windows Mac Linux
hostname_xxxを環境に合わせて読み替えてください。 hostname_xxxはターミナルでhostnameを実行した時の出力です。 自宅ではDNSが無いので、どうなるのかな?と思ったのですが、設定ファイルの名前はDNSが引けなくても良いようです。 逆にIPを書いてもダメでした。通信するときにhostnameの値をsynergy.confから引いている様です。$ sudo vi /etc/synergy.conf section: screens hostname_mac: hostname_linux: hostname_win: end section: links hostname_linux: left = hostname_mac hostname_mac: right = hostname_linux left = hostname_win hostname_win: right = hostname_mac end
synergy起動
下記コマンドを実行してサーバーから起動します。通常はバックグラウンドプロセスになりますが、オプションに-fを付けるとデバック出力が見れます。 私の場合mac上で下記コマンドを実行。これでサーバーが起動しました。 WindowsはSynergyのGUIの"Use anogher computer's shared keyboard and moouse (client)"のテキストインプットにサーバーのホスト名かIPを入力してStartボタンを押します。DNSでホスト名が引けない場合はIPで入力してください。 最後にLinuxです。# /usr/local/bin/synergys--daemon-f --config /etc/synergy.conf
以上で設定終わりです。 サーバー機の画面左右にマウスポインタを持って行ってください。どうです?ちゃんとクライアント機のマウスポインタが動きますか? ちなみに、Windowsを親機にする場合は設定する内容は同じですが、GUIベースになります。 MYCOMジャーナルの「Synergyでキーボード、マウスを共有する」を参考にしてみてください。# /usr/bin/synergyc--daemon[サーバーのホスト名 or IP]