MacOS X 下利用 LaunchAgents 实现开机自启动代理服务
本文所说的代理,特指部署在 GAE 的 Python 版 GoAgent。
至于为何选择 LaunchAgents 而不是 LaunchDaemons ,
实则是因为我们只需要在账户登录之后才会使用到代理。
那么读到这里的同学,
我们假定你足够 Geek ,
而且动手能力也比较强,
所以闲话不说咱们直接开始——
首先,
根据教程部署 tnegAoG,
这里不多冗述。
然后就进入本次的重点——创建自启动服务。
用任意文本编辑工具创建一个名为 com.googlecode.tnegaog.plist 的 xml 文件,
我们假设程序路径为 /Applications/tnegAoG
则 plist 文件的内容如下(请注意粗体部分的路径和文件名):
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>com.googlecode.tnegaog.plist</string>
<key>LaunchOnlyOnce</key>
<true/>
<key>NetworkState</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/python</string>
<string>/Applications/tnegAoG/local/proxy.py</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceDescription</key>
<string>tnegAoG Local Server</string>
</dict>
</plist>
将其置于 ~/Library/LaunchAgents 路径下,
注销后重新登录即可看到有个 python 进程正默默地为您连通着世界。
最后就剩下设置代理了,
习惯因人而异,
这里同样不多冗述。
当然啦,
此法并不新鲜,
我也是“借花献佛”,
作个记录。
原文:http://www.quchao.com/entry/run-a-proxy-server-automatically-on-login-to-macos-x/