在 macOS 中监控 `defaults read` 输出并生成相应的 `defaults write` 命令

问题描述 投票:0回答:1

我想监视

defaults read
的输出,以检测 macOS 和应用程序在没有用户交互的情况下首选项的变化,然后显示具有相同效果的相应
defaults write
命令。我想改进我的工作流程,以声明方式配置我的设置,如下所示:

  1. 启动监控工具。
  2. 更改 macOS 或应用程序中的首选项。
  3. 该工具显示
    defaults write
    命令。
  4. 将命令复制并粘贴到我的安装脚本中。 我找到了一个可以用作起点的脚本:macos-defaults。但是,它并没有完全按照我的要求执行,因为它提示按下一个键并且不显示默认写入命令。

我理想的工具类似于 Karabiner-EventViewer,它解决了不同的问题,但方式相似。

如何创建一个 macOS 监控工具来检测首选项更改并生成适当的默认写入命令?任何可以帮助我实现这一目标的指导、库或现有解决方案都将不胜感激。

顺便说一句,

defaults read
?更像是
defaults dread
,我说得对吗?

macos monitoring default preferences
1个回答
0
投票

取决于您的目标和限制。

你能监控用户如何通过执行

defaults write
修改偏好吗? - .

您需要运行 EndpointSecurity 系统扩展/守护程序才能执行此操作,这需要您从 Apple 获得自定义权利。

执行命令行默认实用程序是更改首选项的唯一方法吗? -

你能监控应用程序偏好的任何变化,包括 CFPreferences API 等吗?

我会说,启用 SIP - No,因为有偏好守护进程/代理存储偏好缓存,并且客户端和此类进程之间的通信很可能是 xpc - Apple 不允许与此类 IPC 进行交互。

你能用禁用的 SIP 实现这个吗? ,编写驱动程序,将一些钩子库注入进程,钩子首选项 API 或其他任何东西。

© www.soinside.com 2019 - 2024. All rights reserved.