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

Mac下通过Terminal用open命令打开应用并保持其为活跃窗口

解决Mac终端open命令打开应用无法保持焦点的问题

方法1:单次命令直接激活

在open命令后追加osascript命令强制激活目标应用,确保它成为当前活跃窗口:

open -a Safari && osascript -e 'activate application "Safari"'

原理是osascript调用macOS的AppleScript接口,直接触发应用的激活操作,覆盖系统默认的焦点行为。

方法2:封装成通用函数(推荐)

如果需要频繁使用,可在终端配置文件(~/.zshrc或~/.bashrc)中添加一个自定义函数,实现一键打开并激活任意应用:

open-focus() {
  if [ $# -eq 0 ]; then
    echo "用法: open-focus <应用名称>"
    return 1
  fi
  # 打开应用
  open -a "$1"
  # 强制激活应用
  osascript -e "activate application \"$1\""
}

保存配置文件后,执行source ~/.zshrc(或对应bash的配置文件)使函数生效。之后只需输入:

open-focus Safari
open-focus Notes

每次调用都会确保目标应用打开后立即获得焦点,成为当前活跃窗口。

补充说明

macOS同一时间只能有一个活跃应用,因此"始终保持焦点"指的是打开应用的瞬间将其切换为当前活跃状态。如果后续执行其他操作(比如打开另一个应用),焦点自然会转移,但上述方法能保证你通过open-focus打开的应用在启动时必获焦点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 13:42:12