2015-01-26 23 views
4

我正在使用​​生活在菜单栏中的mac应用程序。我想知道我的选择是什么让它在启动时运行。获取应用程序启动时运行

  • 是否必须由用户手动完成?
  • 我是否需要用户的许可才能做到这一点?
  • 我该如何用节点/ bash以编程方式进行操作?
  • 原子壳内是否存在这样的事情?
  • 有没有现成的模块可以做到这一点?

回答

7

auto-launch模块一试,它应该做你想做的。要回答你的问题:

  • 没有
  • 没有,但它会是分类器™如果你问第一
  • 见上面
  • 没有
  • 见上面。
0

选项可以让它在启动时运行。

假设你想这个应用程序启动为每个用户,当他们登录时,你会建立应用程序作为一个LaunchAgent

只需创建一个plist文件来描述工作要做什么并将plist复制到/ Library/LaunchAgents。

plist中会是这样的: -

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>ProgramArguments</key> 
    <array> 
     <string>My_executable</string> 
     <string>some_command_line_parameter</string> 
    </array> 
    <key>RunAtLoad</key> 
    <true/> 
    <key>Label</key> 
    <string>com.mycompany.myapp</string> 
</dict> 
</plist> 

更换My_executable的完整路径到应用程序(如果它是一个.app,指向my_application.app/Contents/MacOS/my_binary),并添加命令行参数的要求。如果atom_shell需要启动一个shell,您可以使用它作为应用程序运行,并将脚本作为命令行参数使用。

此外,请确保您将标签设置为唯一的URI。

+0

如果路径变化怎么办? – ThomasReggi 2015-01-27 18:57:30

+0

您可以将plist的路径指向脚本,该脚本从文件或其他源读取路径。为什么路径在改变?当然,这意味着你正在执行一个不同的应用程序。 – TheDarkKnight 2015-01-28 09:14:51

+0

我尝试过这种解决方案,但无法使其工作。该程序不运行。我不确定它应该用于'.app'文件和GUI应用程序。 – thomasb 2016-11-03 15:36:06

0

您还可以在/applications/Atom.app/Content/resources目录中创建atom目录和符号链接到您的文件的app目录。这将启动您的应用程序。

相关问题