Mac OS X:从命令行启动时,将(非捆绑)GUI应用程序带到前台

Stu*_*erg 7 macos terminal

从OS X终端启动GUI进程时,窗口显示在后台,您必须使用命令选项卡为其提供焦点.

有没有办法让终端在启动后自动给这样的GUI重点?例如(假设安装了gitk):

% gitk

应该启动GUI然后切换到它.

注意:由于多种原因,使用open作为这个答案意味着不是一个通用的解决方案.

更新:为了更好地解释为什么open方法不令人满意,这里是一个示例bash会话(带有诙谐的评论).

% cd /my_repo
% gitk
Run Code Online (Sandbox Code Playgroud)

等待GUI出现......现在任何一天......哦等等 - 它已经打开了.我只是没注意到因为它在我的终端后面打开了一个窗口.我想知道我要坐多久等待......

% open gitk
The file /my_repo/gitk does not exist.
Run Code Online (Sandbox Code Playgroud)

啊,当然.

% which gitk
/usr/bin/gitk
% open /usr/bin/gitk
Run Code Online (Sandbox Code Playgroud)

什么...它打开了一个新的终端窗口来运行gitk,它在我的主目录中这样做了,而不是/ my_repo,所以gitk抱怨当前目录实际上不是一个存储库...

Chr*_*age 4

需要同步调用吗?如果没有,您可以使用 异步启动它&,然后使用 激活它osascript -e 'tell application "gitk" to activate'