synergyc を自動起動したいんですけど…。

なんとなく Mac mini

ということで、実は Mac mini を買いました。Simplify Media のサーバ兼 NAS サーバ兼 iPhone 開発環境であります。19インチのセカンドディスプレイにつないで、24インチのメインの隣に置いています。ものすごく電脳な感じ。

しかし電脳っぽさを出すにはさらに synergy だよね。ということで leopard でデーモンとして起動しないのをパッチあててコンパイルし直して設定したまでは良かったんだけど(ここを猛烈にはしょる)、自動起動したい!

synergy 公式の autostart はなんか絶望的にややこしくて、これ絶対違うだろ…。と思ったら案の定今は launchd ってのを使うらしい。なるほどです。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>Synergyc</string>
    <key>ProgramArguments</key>
    <array>
      <string>/Users/oogatta/synergy/synergyc</string>
      <string>192.168.1.22</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

こんな感じの xml ファイルを synergyc.plist とか名前を付けて、~/Library/LaunchAgents/synergyc.plistに保存。この xml の設定については launchd.plist を man するとずらっと出てきます。ほんとは ProgramArguments でいきなりプログラムのパスと引数を設定するんじゃなくて、Program ってキーでプログラムのパスを設定できるはずなんですけど、ちょっと上手くいかなかったので Apple さんのサンプル通りに。

後はこいつを登録するんですが、まんま apachectl みたいな launchctl っつーのがあるので、それにかける。

$ launchctl load ~/Library/LaunchAgents/synergyc.plist

unload で解除できて、list で登録済みリストが出ます。

なんと終わった。うーん。やってみればすごく簡単。