gpt4 book ai didi

osx-yosemite - launchctl - 删除启用/禁用覆盖

转载 作者:行者123 更新时间:2023-12-04 01:00:09 35 4
gpt4 key购买 nike

在 OS X Yosemite (10.10) 上,有没有办法删除服务的启用/禁用覆盖设置?

例如,要为 root 永久禁用不存在的服务“test”,请执行以下操作:

sudo launchctl disable user/0/test

检查它是否已添加到禁用列表中:
sudo launchctl print-disabled user/0

结果:
disabled services = {
"test" => true
}
login item associations = {
}

现在,如何从禁用的服务列表中删除“测试”?

(我知道我可以启用它,但我只想完全删除该条目。)

注:

如果我重新启动计算机,我会看到“测试”覆盖已添加到 launchd disabled文件:
sudo cat /var/db/com.apple.xpc.launchd/disabled.0.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>test</key>
<true/>
</dict>
</plist>

我曾尝试运行此命令从 .plist 手动删除它文件:
sudo /usr/libexec/Plistbuddy /var/db/com.apple.xpc.launchd/disabled.0.plist -c Delete:test

这确实从文件中删除了它,但是当我重新启动计算机时它又回来了。有任何想法吗?

最佳答案

这似乎是以前在 overrides.plist 中的信息的性质。已经改变..

根据 launchctlman “遗产”页面 load/unload子命令..

-w Overrides the Disabled key and sets it to false or true for the load and unload subcommands respectively. In previous versions, this option would modify the configuration file. Now the state of the Disabled key is stored elsewhere on- disk in a location that may not be directly manipulated by any process other than launchd.



我想现在......信息存储在 /var/db/com.apple.xpc.launchd中目录。

我的内容包含几个 plist。

config
disabled.0.plist
disabled.200.plist
...
disabled.501.plist
...
disabled.migrated
loginitems.0.plist
...
loginitems.501.plist
...

在这种情况下,文件名指的是不同用户的 ID( 501 是我的, 0 是 root)。更改这些文件中的键(显然是 root 用户)应该使用黑暗霸主 launchd 删除相应的覆盖。 .

如果没有,请尝试在启动到恢复或其他驱动器时编辑这些相同的文件 - 这样您就可以在 launchd 时弄乱它们。没有奔跑/无情地试图成为老板。

关于osx-yosemite - launchctl - 删除启用/禁用覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31206756/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com