开机自动运行 - Liutos/cuckoo GitHub Wiki

macOS

本节描述如何在macOS中实现登录后自动启动cuckoo进行定时提醒。

为了可以做到登录后自动启动,需要:

  1. 准备一个cuckoo的启动脚本;
  2. 让Launchd在登录后自动执行这个启动脚本。

准备启动脚本

启动脚本是一个Shell脚本,一个可行的版本是

#!/bin/bash
# 启动cuckoo
cd /path/to/cuckoo/ # 进入到cuckoo项目的根目录下
export PATH=/usr/local/bin:${PATH} # 在我的机器上,保证可以找到npm这个命令
NODE_ENV=local npm run dev # 以开发模式运行,方便修改代码后立即生效。设置环境变量NODE_ENV为local,让egg-js用config/config.local.js中的内容覆盖config/config.default.js中的内容。

加入Launchd的自启动项

要让Launchd在每次登录后自动运行上述脚本,需要在~/Library/LaunchAgents/目录下新增一个配置文件。我将这个文件命名为com.liutos.tools.cuckoo.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>Label</key>
                <string>com.liutos.tools.cuckoo</string>
                <key>Program</key>
                <string>此处填入上面的启动脚本的绝对路径</string>
                <key>RunAtLoad</key>
                <true/>
                <key>StandardOutPath</key>
                <string>/tmp/cuckoo.log</string>
                <key>StandardErrorPath</key>
                <string>/tmp/cuckoo.err</string>
        </dict>
</plist>

上述配置内容中的com.liutos.tools.cuckoo可以替换为你自己喜欢的内容,只要不与已有的重复即可。

现在,每次登录macOS后,Launchd就会自动运行cuckoo了。

⚠️ **GitHub.com Fallback** ⚠️