通过终端编辑系统首选项


11

我希望通过命令行编辑系统首选项设置,但不能在我的生活中找到正确的变量名称。

在用户和组下的登录选项中,我希望能够将显示登录窗口从用户列表更改为“名称和密码”。
在日期和时间,我想知道如何更改我们使用的服务器的时间。启用“共享设置节能器”设置中的字段

如果有人可以帮助我或指出我正确的方向,那将是很好的,因为我知道你编辑首选项.plists但它知道要添加什么或找到首选的命名约定。

谢谢。


1
您是否设法配置登录选项?

Answers:


20

首先,您可以查看列出了很多这些内容的网站:http//secrets.blacktree.com/

然而,我只是采取了一个强力解决方案:

复制Preferences文件夹

$ cp -r /Library/Preferences before

启动系统首选项。通过GUI进行更改。可能最好一次做一次更改,例如我将“显示登录窗口:”从“用户列表”更改为“名称和密码”。退出系统首选项。

再次复制Preferences文件夹:

$ cp -r /Library/Preferences after

查看更改的文件:

$ diff -ur before after
Binary files before/Preferences/com.apple.loginwindow.plist and after/Preferences/com.apple.loginwindow.plist differ

比较两个版本。由于它们是二进制文件,因此您需要将它们转换为XML以进行比较。我为此使用别名:

$ alias plist='plutil -convert xml1 -o /dev/stdout'
$ diff -u <(plist before/Preferences/com.apple.loginwindow.plist) <(plist after/Preferences/com.apple.loginwindow.plist)
--- /dev/fd/63  2013-01-23 18:20:29.000000000 +0200
+++ /dev/fd/62  2013-01-23 18:20:29.000000000 +0200
@@ -9,7 +9,7 @@
    <key>RetriesUntilHint</key>
    <integer>3</integer>
    <key>SHOWFULLNAME</key>
-   <false/>
+   <true/>
    <key>lastUser</key>
    <string>loggedIn</string>
    <key>lastUserName</key>

此时我们找到了设置。确认我们有defaults

$ defaults read /Library/Preferences/com.apple.loginwindow SHOWFULLNAME
1
$ sudo defaults write /Library/Preferences/com.apple.loginwindow SHOWFULLNAME -bool false
$ defaults read /Library/Preferences/com.apple.loginwindow SHOWFULLNAME
0

启动系统偏好设置并确认已更改。


7

sudo opensnoop -n cfprefsd显示正在访问的属性列表。您还可以按修改日期对首选项文件进行排序:ls -t {~,}/Library/Preferences/{ByHost,}

对于用户域中的首选项,您还可以运行defaults read > temp,更改某些首选项以及运行diff temp <(defaults read)


在macOS 10.12.1上,opensnoop只打印错误消息; 首先dtrace: system integrity protection is on, some features will not be available,然后是一个消息列表dtrace: error on enabled probe ID 5 (ID 167: syscall::open:return): invalid user access in action #11 at DIF offset 2; 第二部分似乎运作良好
ssc

1

您可以使用AppleScript控制许多“系统偏好设置”属性。有关示例,请参阅https://www.macosxautomation.com/applescript/features/system-prefs.html

根据您的目的,您可以创建一个脚本来执行类似的操作

$ set-setting "dock preferences" "autohide:true, magnification:false"

如果在较新的macOS版本中更改了属性标签,请使用Script Editor.app运行和调试代码。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.