如何使程序在OSX中自动启动?
我有一个小程序,要在启动Mac时自动将其打开。
因为该程序接受命令行参数,所以它不像进入系统偏好设置/帐户/登录项并将其添加到那里那样简单。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
从google上,我读到我可以在用户的主文件夹中创建一个.profile文件,并且该文件将执行我放入其中的任何内容...因此,我在〜中有一个.profile页面,如下所示:
-rw-r--r-@ 1位哑光员工27 27 Sep 13:36 .profile
包含这个...
/应用程序/ mousefix 3.5
但是它不会在启动时执行!如果我在终端中手动输入" / Applications / mousefix 3.5",它将起作用。
有任何想法吗?
解决方案
我们总是可以编写一个包装脚本,使用所需的参数运行它
从这里到未来,我们都可以从" launchd"中查找我们想要做的事情。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。所有其他方法已被弃用或者现在不被支持。不过,这可能比我们想要的要重一些。
bash shell版本未正确执行`.profile'也可能是一个问题。尝试将命令放入主目录中的.bashrc中,看看是否有帮助。
在MacOS上启动时启动事物的最通用方法是使用launchd。我们可以创建一个plist文件来告诉它在启动时启动程序,其中可以包含参数。
我们可以使用Lingon来帮助构建要启动的plist文件。
我们可以使用可以运行终端命令的Applescript,然后在启动时启动该applescript。
谢谢大家推出的解决方案非常酷,是的,它是一件很简单的事情,但是它很重要,但是它很容易了解,作为一名开发人员,我很乐于修补:)
仅当我们打开新的外壳程序(即打开终端或者通过SSH进入)时,.profile和.bash_profile才起作用。另外,我相信如果bash检测到.bash_profile
,它将不会寻找.profile
。
如果我们希望它在登录时启动,我会查看有关launchd的其他建议