我通常从 Spotlight 启动程序,有一个程序我想启动第二个进程。这个程序就是 Mathematica。Mathematica 的第二个进程允许我继续工作,而第一个进程则用于计算一些需要很长时间才能计算的表达式。此外,全局变量不在两个笔记本之间共享也是有益的。
我可以毫无问题地从 Spotlight 启动 Mathematica 的第一个进程。但是,当我第二次在 Spotlight 中选择 Mathematica 时,它不会启动第二个进程。相反,它聚焦于第一个 Mathematica 进程的窗口。我知道我可以通过调用以下命令从命令行启动第二个进程
/Applications/Mathematica.app/Contents/MacOS/Mathematica
但是,如果可能的话,我不想使用命令行。我也在另一个程序(Adobe Reader)中观察到了类似的行为,所以我猜这是 Spotlight 的默认行为。我能做些什么让 Spotlight 启动程序的另一个进程而不是聚焦于现有窗口?如果可以,我该怎么做?
答案1
您无法实现这一点。应用程序通常不需要多次启动。Safari 5、TextMate 或 iTunes 等应用程序的行为很奇怪,或者完全阻止了这种情况。
但你可以包装你的命令行调用,或者最好采用更好的支持方式
open -n -a Mathematica
在 Automator 脚本中。这样,您可以启动一个程序,或者运行一个启动第二个 Mathematica 实例的服务。
为此,请打开自动机,选择应用或者服务,双击运行 Shell 脚本在左侧的库中,选择操作,并向其中添加命令行调用。我建议你使用我的,因为它在启动程序后立即返回。如果它是一项服务,请选择它接收没有输入在任何应用程序。
现在保存它。如果它是一个应用程序,请将其存储在任何地方并将其拖到 Dock、Finder 工具栏或 Finder 侧栏以便快速访问;如果它是一项服务,则它位于应用程序菜单的服务子菜单中。您甚至可以在系统偏好设置 » 键盘 » 键盘快捷键 » 服务。