intelMac&OSX 10.5 Leopard環境でsynergyを快適に利用する

以前からお世話になっているsynergyだが、最近の不満が一つ。スクリーンを左右に配置している状況で、そのスクリーンのつなぎ目のコーナーにExposeやSpacesの機能を割り当てていると、ExposeやSpacesが有効になった瞬間、隣のスクリーンに移動してしまい...また戻そうとしてコーナーを霞めると、今度は移動先のスクリーンで無用なExposeが有効になってしまう...。これじゃ快適さを追求したせっかくの機能が、イライラの原因になってしまう。良い方法は無いか探していると、何と!最初から素晴らしいsynergy.confの設定方法があったのでした。

synergy.confの設定で快適にする

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のブロックで、この設定で以下の機能が有効になる。
    • 四隅のコーナー周辺100pxでは、隣のスクリーンへ移動できない。...1、2行目
    • ダブルタップが有効
      • スクリーンのつなぎ目をマウスで軽くノックするように操作したときだけ隣のスクリーンへ移動する。(1000m秒=1秒に2回以上のノック動作が必要)...3行目
    • キーボードショートカットの設定
      • シフト + コントロール + ←キーで、左のスクリーンへ移動...4行目
      • シフト + コントロール + →キーで、右のスクリーンへ移動...5行目


これで無駄なスクリーン間の移動が無くなって、とても快適!

最新のパッチを当てる

新しいバージョンがリリースされていないか確認してみたが、相変わらずバージョン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実行ファイルはマウスダブルクリックでも起動するようになっていた。
  • 実行権限が与えられたファイルは普通のアプリケーションと同じ感覚で操作できるようになっていた...。素晴らしい!

パッチの当て方まとめ

ダウンロードしたファイル

すべて~/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