cra*_*ane 6 applescript osx-mavericks macos
如何从脚本更新 Mac OS X Mavericks 桌面背景?
从脚本更新 Mac OS X 桌面背景到 OS X 10.8,但不再工作。桌面默认为默认的“Wave”背景。
小智 7
Jan-Yves 所引用的文件现在似乎已成定局。
我在 Mavericks 上使用 SQLite Database Browser 2.0 b1.app。它有点旧,但仍然有效。
如果打开 ~/Library/Application Support/Dock/desktoppictures.db,可以查看关键的“数据”表。它基本上只是当前桌面图片应该是什么的路径。但是,根据您正在运行的监视器数量,可以有多行。显然,您可以为每个显示器设置不同的桌面图片,我相信这种改进是 Mavericks 的一部分。
您可以在 sqlite 编辑器中手动更改行,然后执行“killall Dock”,只要您记得在编辑器中保存更改即可。这并不比打开系统偏好设置更容易,但我尝试了它只是为了确保系统如何工作。在手动编辑之前备份 .db 文件可能是有意义的。
无论如何,我使用几个小的 shell 脚本来更改我的桌面,作为我更改主机文件时的警告。
完整的脚本如下所示:
#!/bin/sh
sqlite3 ~/Library/Application\ Support/Dock/desktoppicture.db "update data set value = '/Users/user/Documents/My Pictures/dlanham_Phobos.sitechange.jpg'";
killall Dock;
Run Code Online (Sandbox Code Playgroud)
您可以轻松添加参数以允许对图片进行更多控制,但这是基本逻辑。
你会看到一些帖子推荐了一个额外的“where rowid=1”。出于我的目的,我允许更改所有显示器的桌面,因此我省略了 rowid。它将更新多行。
希望这可以帮助。
Mavericks 更改了存储桌面背景信息的位置。它曾经位于~/Library/Preferences/com.apple.desktop.plist
(作为二进制 plist 文件),现在位于~/Library/Application Support/Dock/desktoppictures.db
(作为 SQLite 文件)。如果你打开它(我认为 sqlite3 是 OS X 的标准配置?否则你应该能够找到一个 SQLite DB 应用程序 - 我使用Base,但可能有更好的)你会注意到你有桌面背景文件名在data
表中。其他表很有趣,但有点神秘。您基本上可以在表上运行 UPDATE 查询来更改给定空间的桌面背景,例如:
UPDATE data SET value=~/Pictures/foo.png WHERE ROWID=1
Run Code Online (Sandbox Code Playgroud)
我刚刚自己解决了这个问题:这里有更多细节。
[预计到达时间:固定链接]
归档时间: |
|
查看次数: |
3864 次 |
最近记录: |