You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MacOS的Google Chrome中通过自定义URL打开Terminal.app执行命令

在Mac上通过自定义URL触发Terminal执行指定命令的实现方案

这完全可行,以下是具体实现步骤:

1. 创建Automator快速操作(Quick Action)

  • 打开「Automator」应用,选择创建「快速操作」
  • 在左侧动作库中搜索并添加「运行AppleScript」动作
  • 将默认的AppleScript代码替换为以下内容,按需替换doSomeMagic为你的实际命令:
on run {input, parameters}
    set theURL to input as string
    -- 提取URL中://后的参数部分(比如terminal://test里的test)
    set cmdArg to text after "://" of theURL
    -- 拼接完整执行命令
    set fullCmd to "doSomeMagic " & cmdArg
    -- 调用Terminal执行命令
    tell application "Terminal"
        activate
        do script fullCmd in front window
    end tell
    return input
end run
  • 保存这个快速操作,命名为「TerminalCustomURLHandler」(名称可自定义)

2. 注册自定义URL Scheme

  • 打开「系统设置」→「隐私与安全性」→「扩展」→「快速操作」,确保刚才创建的「TerminalCustomURLHandler」已勾选启用
  • 用plist文件完成URL Scheme注册:
    1. 打开「文本编辑」,新建文件并粘贴以下内容,注意替换CFBundleIdentifier为你的专属标识(比如com.yourname.terminalhandler),CFBundleURLSchemes里的terminal就是自定义的URL前缀:
    <?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>CFBundleIdentifier</key>
        <string>com.yourname.terminalhandler</string>
        <key>CFBundleURLTypes</key>
        <array>
            <dict>
                <key>CFBundleURLName</key>
                <string>Terminal Custom URL Handler</string>
                <key>CFBundleURLSchemes</key>
                <array>
                    <string>terminal</string>
                </array>
            </dict>
        </array>
    </dict>
    </plist>
    
    1. 将文件保存为TerminalURLHandler.plist,保存路径选择「~/Library/LaunchAgents/」(若LaunchAgents文件夹不存在,手动创建即可)
    2. 打开Terminal,执行命令加载该plist:
    launchctl load ~/Library/LaunchAgents/TerminalURLHandler.plist
    

3. 测试自定义URL

  • 在Safari或任何可输入URL的场景中,输入terminal://test并回车
  • 系统会弹出确认框,选择「允许」后,Terminal会被激活并自动执行doSomeMagic test命令

注意事项

  • 若命令需要管理员权限,可将AppleScript中的fullCmd改为"sudo doSomeMagic " & cmdArg,执行时会要求输入密码
  • 确保doSomeMagic命令在Terminal的PATH范围内,否则需写入完整路径(比如/usr/local/bin/doSomeMagic)
  • 后续修改plist文件后,需先执行launchctl unload ~/Library/LaunchAgents/TerminalURLHandler.plist,再重新加载生效

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 12:22:42