iMacとPowerMac G4の2つのキーボード・マウスが机の上にあるのは邪魔すぎるので、iMacの方にsynergyを入れてみた。……しかし、Mac OS X 10.4のPowerMac G4の時と同様にsynergysを動かそうとすると、起動した途端に終了してしまいます。-fオプションでフォアグラウンドで起動すると動くのだけど、G4側になかなか繋がらない上に繋がってもカーソルが飛びまくってまともに使えません。
まずはMac OS X 10.5でバックグラウンドで動かすにはどうしたものかと調べてみると、「intelMac&OSX 10.5 Leopard環境でsynergyを快適に利用する」というそのままずばりなページがあったので、書いてある通りにパッチをあててビルドしてみた。以下、念のため作業手順のまとめ。
1) 以下の3つのファイルをダウンロードする。10.5の標準設定ということで、上の3ファイルはすべて~/Downloadsにダウンロードするものとします。
2) synergy-1.3.1.tar.gzをダブルクリックして解凍する。
3) 以下のコマンドでパッチを当てる(実際にキーボードから入力するのは太字部分のみ)。
$ cd ~/Downloads/synergy-1.3.1 $ patch -p0 < ~/Downloads/synergy.patch patching file cmd/synergyc/synergyc.cpp patching file cmd/synergys/synergys.cpp patching file lib/arch/CArch.cpp patching file lib/arch/CArch.h patching file lib/arch/CArchDaemonUnix.cpp patching file lib/arch/CArchDaemonUnix.h patching file lib/arch/CArchDaemonWindows.cpp patching file lib/arch/CArchDaemonWindows.h patching file lib/arch/IArchDaemon.h $ patch lib/platform/COSXKeyState.cpp < ~/Downloads/OSX_BusError.patch patching file lib/platform/COSXKeyState.cpp
4) ビルドしてインストール。/usr/local/binにインストールされます。
$ cd ~/Downloads/synergy-1.3.1 $ ./configure $ make $ sudo make install
パッチを当ててもフルパスで起動しないとバックグラウンドで動いてくれないそうなので、synergysの起動は
/usr/local/bin/synergys --config synergy.confのフルパス
となります。なお、synergy.confは~/.synergy.confに置いておくと引数なしでsynergysを起動できます。そしてPowerMac G4側のクライアントの起動は
synergyc -f server-host-name
です。
これでiMacでsynergysを動かせるようになりましたが、相変わらずPowerMac G4側ではマウスカーソルが飛びまくる。どうも、無線LAN経由で繋がっているのが原因のようなので、Ethernet側のIPアドレスを決め打ちでサーバ・クライアントを起動する方法を調べてみた。……当然のように、オプションでIPアドレスを指定することができました。というわけで、サーバであるsynergysの起動は設定ファイルを~/.synergy.confに置いてあるものとして
/usr/local/bin/synergys -a iMacのEthernet側のIPアドレス
になり、クライアントであるsynergycの起動はsynergycをPowerMac G4の/usr/local/binに突っ込んであるものとして
/usr/local/bin/synergyc iMacのEthernet側のIPアドレス
となります。Mac OS X 10.5ではUNIXの実行ファイルもログイン項目で起動できるらしいのだけど、Ethernet側のIPアドレスを指定するには引数をつけないと駄目なのでiMacのsynergysとPowerMac G4のsynergycどちらもAppleScriptのdo shell scriptで起動しなければなりませんな。
Ethernet側で通信させると、さっきまでのふらふら動作が嘘のようにきびきびとカーソルが動くようになりました。めでたし、めでたし。