我正在使用生活在菜单栏中的mac应用程序。我想知道我的选择是什么让它在启动时运行。获取应用程序启动时运行
- 是否必须由用户手动完成?
- 我是否需要用户的许可才能做到这一点?
- 我该如何用节点/ bash以编程方式进行操作?
- 原子壳内是否存在这样的事情?
- 有没有现成的模块可以做到这一点?
我正在使用生活在菜单栏中的mac应用程序。我想知道我的选择是什么让它在启动时运行。获取应用程序启动时运行
给auto-launch模块一试,它应该做你想做的。要回答你的问题:
选项可以让它在启动时运行。
假设你想这个应用程序启动为每个用户,当他们登录时,你会建立应用程序作为一个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。
您还可以在/applications/Atom.app/Content/resources目录中创建atom目录和符号链接到您的文件的app目录。这将启动您的应用程序。
Electron现在提供了一个官方API,用于将应用程序设置为在Windows和Mac上自动启动。
http://electron.atom.io/docs/api/app/#appsetloginitemsettingssettings-macos-windows
如果路径变化怎么办? – ThomasReggi 2015-01-27 18:57:30
您可以将plist的路径指向脚本,该脚本从文件或其他源读取路径。为什么路径在改变?当然,这意味着你正在执行一个不同的应用程序。 – TheDarkKnight 2015-01-28 09:14:51
我尝试过这种解决方案,但无法使其工作。该程序不运行。我不确定它应该用于'.app'文件和GUI应用程序。 – thomasb 2016-11-03 15:36:06