让应用程序在启动时运行

时间:2015-01-26 19:03:27

标签: node.js macos startup electron

我使用住在菜单栏中的atom shell制作了一个mac应用程序。我想知道我的选择是什么让它在启动时运行。

  • 是否必须由用户手动完成?
  • 我是否需要用户的许可才能执行此操作?
  • 如何使用node / bash以编程方式执行此操作?
  • 原子shell中是否存在这样做?
  • 是否有可以执行此操作的现有模块?

4 个答案:

答案 0 :(得分:7)

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

  • 没有
  • 不,但如果你先问
  • ,它就是Classier™
  • 见上文
  • 没有
  • 见上文。

答案 1 :(得分:3)

Electron现在提供了一个官方API,用于将应用程序设置为在Windows和Mac上自动启动。

http://electron.atom.io/docs/api/app/#appsetloginitemsettingssettings-macos-windows

答案 2 :(得分: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。

答案 3 :(得分:0)

您还可以在atom / symlink的/prolications/Atom.app/Content/resources目录中创建一个app目录到您的文件中。这将在启动时启动您的应用程序。