×

在 macOS 上使用 launchd 实现 Clipy 的开机自启动(不需要用Supervisor)

Falcon 2024-09-12 views:
摘要

正在生成中……

Clipy 是一个 macOS 上的剪贴板管理器项目,托管在 GitHub 上(Clipy 项目)。由于它是一个 macOS 应用程序,管理 macOS 应用的开机自启动通常不通过 Supervisor,而是通过 macOS 的 launchd 或者系统偏好设置中的 "登录项" 实现的。

Supervisor 通常用于 Linux/Unix 系统上运行后台进程,而 macOS 应用程序(特别是图形化应用程序如 Clipy)不适合通过 Supervisor 来管理开机自启动。因此,要实现 Clipy 的开机自启动,可以通过 launchd 来实现,以下是步骤。

在 macOS 上使用 launchd 实现 Clipy 的开机自启动

launchd 是 macOS 的服务管理守护程序,它类似于 Linux 中的 systemd,可以用来配置启动任务。

1. 创建 launchd 配置文件

在 macOS 上,你需要创建一个 .plist 文件来定义 Clipy 的启动服务。文件路径通常是 ~/Library/LaunchAgents/

nano ~/Library/LaunchAgents/com.clipy.launch.plist

2. 编写 launchd 配置文件

在这个 .plist 文件中写入以下内容:

<?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>com.clipy.launch</string>

    <key>ProgramArguments</key>
    <array>
        <string>/Applications/Clipy.app/Contents/MacOS/Clipy</string>
    </array>

    <key>RunAtLoad</key>
    <true/>
    
    <key>KeepAlive</key>
    <true/>

    <key>StandardOutPath</key>
    <string>/tmp/clipy.log</string>

    <key>StandardErrorPath</key>
    <string>/tmp/clipy.error.log</string>
</dict>
</plist>

配置文件说明:

  • Labelcom.clipy.launch 是这个服务的标识符,随意命名,但最好具有唯一性。
  • ProgramArguments:这里指定 Clipy 的实际可执行文件路径。假设 Clipy 是安装在 /Applications/Clipy.app 下。
  • RunAtLoadtrue 表示在系统启动后立即启动该应用程序。
  • KeepAlivetrue 表示如果进程意外退出,launchd 会自动重启它。
  • StandardOutPathStandardErrorPath:标准输出和标准错误的日志文件路径,可以帮助你排查启动问题。

3. 加载并启用服务

保存 .plist 文件后,运行以下命令将它加载到 launchd 中:

launchctl load ~/Library/LaunchAgents/com.clipy.launch.plist

这将使 Clipy 在系统启动时自动运行。

4. 验证启动

你可以通过以下命令验证是否加载了服务:

launchctl list | grep com.clipy.launch

通过这种方式,Clipy 将在每次开机时自动启动,并由 launchd 进行管理。

总结

虽然 Supervisor 适合在 Linux 环境中管理进程,但在 macOS 上,使用 launchd 是更符合系统惯例的方式。通过配置 launchd,可以实现在 macOS 上的开机自启动以及进程管理。

本文收录于