真是搞不懂,苹果的开发人员想什么呢,以前使用plist的方式不是很好吗?就像下面这样的修改,不是很直观明了方便吗,他为什么要改用SQLite的数据库格式呢?而且这种方式适用于MCX的管理,对于企业级的管理,会相当方便。而10.9使用数据库的方式,也不便于使用MCX啊。搞不懂,难道苹果在酝酿什么改变?不得而知。
/usr/bin/defaults write com.apple.desktop Background '{default = {ImageFilePath = "/Library/Desktop Pictures/Black & White/Lightning.jpg"; };}'
/usr/bin/killall Dock
这个数据库存放在~/Library/Application Support/Dock/desktoppicture.db中,
最简单的变更方法,可以使用Greg写的Python脚本轻松实现,他的脚本可以在Github上找到,我们这里把它贴上来:
#!/usr/bin/python
import os
import subprocess
import sqlite3
desktop_picture_path = '/Library/Desktop Pictures/Wave.jpg'
database_location = os.path.expanduser(
'~/Library/Application Support/Dock/desktoppicture.db')
conn = sqlite3.connect(database_location)
print 'Opened database successfully'
conn.execute('DELETE FROM data')
conn.execute('INSERT INTO data VALUES (?)', (desktop_picture_path, ))
conn.execute('VACUUM data')
conn.commit()
print 'Records created successfully'
conn.close()
subprocess.check_call(['/usr/bin/killall', 'Dock'])
其实使用bash脚本也一样轻松.
文章讨论了苹果系统从使用plist文件改为使用SQLite数据库来管理桌面背景的变化,并提供了一个Python脚本示例,用于更改存储在~/Library/ApplicationSupport/Dock/desktoppicture.db中的桌面背景图片。
3263

被折叠的 条评论
为什么被折叠?



