在登录期间为所有用户启动cocoa应用程序

时间:2013-02-15 07:23:33

标签: macos cocoa shell launchd osascript

我想在登录时启动myapp.app,它应该适用于所有用户。

我尝试使用osascript,只为运行该命令的用户启动。

/ usr / bin / osascript -e“告诉应用程序\”系统事件\“创建一个新的登录项,其属性为{path:”Path / myapp.app“hidden:false name:”myapp“} at the end”

我作为guser运行此登录。因此,它只在登录guser时启动。

即使我尝试过 sudo defaults write / Library / Preferences / loginwindow AutoLaunchedApplicationDirectory -array-add'{“Path”=“path1”; “隐藏”= “0”;}“

当path1 = myapp.app时,它没有用 当path1 = myapp.app / Contents / MacOS / myapp时,它会为所有用户启动,但即使终端窗口也会随应用程序一起启动。

我有一个shell脚本,我需要一些命令,为所有用户登录时启动cocoa app。 请帮忙。

1 个答案:

答案 0 :(得分:0)

您可以使用LSSharedFileList API 请查看How can a Cocoa application add itself as a global login item?Register as Login Item with Cocoa?

查看Technical Note TN2083(全球登录项目)

  

全局登录项是在任何用户时启动的登录项   登录。安装全局登录项大致相当于   为系统上的所有用户安装该登录项:每次a   用户登录后,loginwindow会启动该用户的登录项和所有项   全球登录项目。