intelMac&OSX 10.5 Leopard環境でsynergyを快適に利用する
以前からお世話になっているsynergyだが、最近の不満が一つ。スクリーンを左右に配置している状況で、そのスクリーンのつなぎ目のコーナーにExposeやSpacesの機能を割り当てていると、ExposeやSpacesが有効になった瞬間、隣のスクリーンに移動してしまい...また戻そうとしてコーナーを霞めると、今度は移動先のスクリーンで無用なExposeが有効になってしまう...。これじゃ快適さを追求したせっかくの機能が、イライラの原因になってしまう。良い方法は無いか探していると、何と!最初から素晴らしいsynergy.confの設定方法があったのでした。
synergy.confの設定で快適にする
- synergy.confの設定については、http://synergy2.sourceforge.net/configuration.htmlで詳しく解説されていた。悩みながら英語を読んで、やってみたのが以下の設定。
section: screens MacBook.local: PowerBookG4.local: end section: links MacBook.local: left = PowerBookG4.local PowerBookG4.local: right = MacBook.local end section: options switchCorners = all switchCornerSize = 100 switchDoubleTap = 1000 keystroke(shift+control+left) = switchInDirection(left) keystroke(shift+control+right) = switchInDirection(right) end
- 追記したのはsection: optionsのブロックで、この設定で以下の機能が有効になる。
これで無駄なスクリーン間の移動が無くなって、とても快適!
最新のパッチを当てる
新しいバージョンがリリースされていないか確認してみたが、相変わらずバージョン1.3.1が最新。しかし、パッチが次々と上げられていて、その中で気になる以下のパッチが見つかった。
どうも、Leopardになって、synergysがデーモンとして起動しなくなってしまった不具合を改善してくれるパッチのようだ。早速パッチを当てて試してみると...
$ synergys -c synergy.conf
あれれ?アクティビティモニタで確認すると、やはり起動して間もなくsynergysプロセスが終了してしまう。以前と同じだ。(-fオプションを付ければ起動し続ける)
諦めかけていたが...ところが、コマンドまでのパスも含めて指定してみると、ちゃんと起動し続けた!
$ which synergys /usr/local/bin/synergys $ /usr/local/bin/synergys -c synergy.conf
理由はよく分からないが、これでデーモンとしても起動できるようになった!
synergy.confの置き場所
synergy.confはその都度コマンドに含めて指定していたが、以下ディレクトリとファイル名で配置すれば、省略できる。
~/.synergy.conf または、 /etc/synergy.conf
ということで、~/.synergy.confに配置した。つまり、今後は余計なことを考えずに、以下のコマンド一発実行できる。
$ /usr/local/bin/synergys
OSX 10.5 Leopardではsynergysはログイン項目で起動可能!
なんと!今まで知らなかった...。だいぶ損をした気分。確か10.4 Tigerまでは、UNIX実行ファイルはログイン項目で指定しても起動できず、しょうがなくAppleScriptの「do shell script」で設定したファイルを保存して、それをログイン項目で指定していたのだ。
引数無しの「/usr/local/bin/synergys」で起動するようになったので、試しにログイン項目で指定してみると、あっさり「UNIX実行ファイル」と認識されてしまった。再ログインしてみるとsynergysがちゃんと起動している!
- ちなみに、UNIX実行ファイルはマウスダブルクリックでも起動するようになっていた。
- 実行権限が与えられたファイルは普通のアプリケーションと同じ感覚で操作できるようになっていた...。素晴らしい!
パッチの当て方まとめ
ダウンロードしたファイル
- synergy-1.3.1.tar.gz
- Fix for crashing synergyc/synergys under MacOS 10.5 (Leopard
- MAC OSX synergec BUS error patch
すべて~/Downloadsに保存されている。synergy-1.3.1.tar.gzはダブルクリックで解凍しておいた。
パッチ
- パッチを適用するディレクトリを合わせて、-p0オプションを指定する必要がある。
$ 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
インストール
- あとはお決まりの手順でインストールできた。
$ cd ~/Downloads/synergy-1.3.1 $ ./configure $ make $ sudo make install