如何使程序在OSX中自动启动?

时间:2020-03-06 14:59:02  来源:igfitidea点击:

我有一个小程序,要在启动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的其他建议