«前の日記(2008年10月01日) 最新 次の日記(2008年10月04日)» 編集

混沌の庭研究所

1998|06|07|08|09|10|11|12|
1999|03|04|05|06|07|08|09|10|11|12|
2000|01|02|03|04|05|06|07|08|09|10|11|12|
2001|01|02|03|04|05|06|07|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|06|07|08|09|10|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|05|06|07|08|10|11|12|
2011|01|03|09|
2012|02|03|
2013|05|12|

2008年10月02日 木曜日 [長年日記]

_ [Mac][ソフトウェア] Mac OS X 10.5でsynergy

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側で通信させると、さっきまでのふらふら動作が嘘のようにきびきびとカーソルが動くようになりました。めでたし、めでたし。