Mac上有些软件无法禁止开机启动怎么办?

时间: 2019-03-29 23:26 栏目: Mac OS 浏览: 6453 赞: 0 踩: 0 字体:

以下为本篇文章全部内容:

macOS 系统的启动项会以 .plist 的文件存在于以下目录中:

  • /Library/LaunchDaemons:系统启动时运行,用户不登录也会运行。

  • /Library/LaunchAgents:用户登录后运行。

  • ~/Library/LaunchAgents:用户自定义的用户启动项

  • /System/Library/LaunchDaemons:系统自带的启动项

  • /System/Library/LaunchAgents:系统自带的启动项

每个 .plist 文件中,有 3 个属性控制着是否会开机自动启动。

  • KeepAlive:决定程序是否需要一直运行,如果是 false 则需要时才启动。默认 false

  • RunAtLoad:开机时是否运行。默认 false。

  • SuccessfulExit:此项为 true 时,程序正常退出时重启(即退出码为 0);为 false 时,程序非正常退出时重启。此项设置时会隐含默认 RunAtLoad = true,因为程序需要至少运行一次才能获得退出状态。

所以其实针对这三项,不同的值有不同的表现:

  • 如果 KeepAlive = false:

    • RunAtLoad = false 时:程序只有在有需要的时候运行。

    • RunAtLoad = true 时:程序在启动时会运行一次,然后等待在有需要的时候运行。

    • SuccessfulExit =  true / false 时:不论 RunAtLoad 值是什么,都会在启动时运行一次。其后根据 SuccessfulExit 值来决定是否重启。

  • 如果 KeepAlive = true :

    • 不论 RunAtLoad/SuccessfulExit 值是什么,都会启动时运行且一直保持运行状态。

如果不希望开机自动运行,则需要:

1. 找到对应程序的 .plist 文件
2. 删除 SuccessfulExit 属性。
3. 将 RunAtLoad / KeepAlive 均设为 <false/>


例如修改adobe的桌面软件不要开机启动

sudo vim /Library/LaunchAgents com.adobe.AdobeCreativeCloud.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>Label</key>
        <string>com.adobe.AdobeCreativeCloud</string>
        <key>Program</key>
        <string>/Applications/Utilities/Adobe Creative Cloud/ACC/Creative Cloud.app/Contents/MacOS/Creative Cloud</string>
        <key>ProgramArguments</key>
        <array>
                <string>/Applications/Utilities/Adobe Creative Cloud/ACC/Creative Cloud.app/Contents/MacOS/Creative Cloud</string>
                <string>--showwindow=false</string>
               <string>--onOSstartup=true</string>
        </array>
        <key>RunAtLoad</key>
        <false/>//修改成false为禁止开机启动
</dict>
</plist>