2023年11月27日发(作者:)
控制macOS的开机启动
Mac开机启动的配置与其他类Unix系统相⽐较⿇烦,Linux配置⽂件即可。
macOS系统上开机启动这个叫法不准确,应该叫“⾃启动”或者“登录时启动”。macOS上启动项可分为登陆项(Login Items)和启动项
(Startup Items)。Login items在⽤户登录后⽴即启动并⼀直运⾏,直到⽤户退出登录或者⼿动终⽌才会停⽌运⾏。Startup items苹果官⽅
不推荐再使⽤,Startup items在系统装载的最后阶段启动。详见官⽅⽂档。
下⾯简要介绍如何配置⾃启动项。
使⽤登录项添加⾃启动项
这种⽅式⽀持有⽤户界⾯的程序。
进⼊->->,点击+号找到想⾃动启动的软件,选择后按确定即可。
设置⽤户与群组登录项
删除⾃启动项,重新进⼊,选中⽬标项点击减号后确定即可。
登录项
使⽤launchctl⼯具添加启动项
从OS X 10.4 Tiger开始,Apple要求开发者使⽤launch daemons and agents配置⾃启动项,launch daemons和launch agents由
launchd进程管理。launchd是macOS下⽤于初始化系统环境的关键进程,它是内核装载成功之后在OS环境下启动的第⼀个进程。采⽤这种⽅式
来配置⾃启动项只需要⼀个plist⽂件,该plist⽂件存在于以下⽬录,各⽬录决定了其启动的先后和拥有的权限:
~/Library/LaunchAgents //特定⽤户登录后以当前⽤户启动,第三⽅程序⼀般都放这⾥
/Library/LaunchAgents //任⼀⽤户登录后以当前⽤户启动,管理员使⽤
/System/Library/LaunchAgents //系统组件,任⼀⽤户登录后以当前⽤户启动
/Library/LaunchDaemons //系统装载时以root⽤户启动,管理员使⽤
/System/Library/LaunchDaemons //系统组件,系统装载时以root⽤户启动
⽬录区别:
/System/Library //存放Apple开发的系统组件。
/Library //存放系统管理员安装的程序。
~/Library //存放普通⽤户安装的程序。
launch daemon和launch agents区别:
它们本质上都是守护进程,launch daemons在系统装载时启动,属于所有⽤户;launch agents是某个⽤户拥有的程序,在这个⽤户登录后启
动。
创建plist⽂件
vi ~/Library/LaunchAgents/
写⼊以下xml
"/DTDs/"> brew services start mysql //如果⽤Homebrew安装了mysq: 只运⾏不开机启动 brew services run mysql 停⽌运⾏不再开机启动(存疑,未验证) brew services stop mysql 注意Homebrew安装的程序不全都⽀持这种⽅式,如果命令执⾏失败,请⼿动配置plist⽂件,使⽤launchctl⼯具添加启动项。


发布评论