我主要使用Apple远程桌面(ARD)管理几个计算机实验室。我一直试图通过使用终端的命令行或使用Applescript来调整桌面大小。
我找到了这个用于更改桌面的简单脚本:
tell application "System Events"
-- SET DESKTOP TO SPECIFIC PICTURE
tell current desktop
set picture rotation to 0 -- (0=off, 1=interval, 2=login, 3=sleep)
set picture to file "Mac OS X:Library:Desktop Pictures:Plants:Agave.jpg"
end tell
这就是改变桌面的技巧,但我需要在我的OSX 10.7机器上将桌面大小调整为“拉伸到填充屏幕”。
我怀疑有很多Unix命令可以通过ARD发送来改变com.apple.desktop.plist设置。你知道,像pmset这样的东西:
pmset -a hibernatemode 0 disksleep 10 womp 1 networkoversleep 0 sleep 180 powerbutton 0 ttyskeepawake 1 autorestart 0 panicrestart 157680000 displaysleep 18
这非常方便。
我使用过“defaults read com.apple.desktop”,发现说我的笔记本电脑上的Placement是“Placement = Crop;”。
(顺便说一下,当你使用defaults命令时,你是为每个用户设置它们吗?)
我甚至下载了一个Property List Converter来将com.apple.desktop.plist转换成我能读的XML文件,我发现了这样的东西:
<key>Placement</key>
<string>FillScreen</string>
但我不知道如何使用这些信息。
我尝试使用我喜欢的设置覆盖我机器上的com.apple.desktop.plist文件,但发现它什么都没做,它没有改变桌面,即使我退出并且没有客户端计算机,或重新启动。
我正在努力避免使用GUI脚本编写系统首选项,因为我知道它的格式不好,而且我也无法解决这个问题。虽然我确实尝试过,通过安装Xcode并查看Accessibility测试的东西来找出哪个窗口的哪个窗格......并且无法编写脚本。
我发现this website某人正在做类似于我正在做的事情,但它是用德语进行的,谷歌翻译并不完美。
P.S。我从来没有写过Python脚本,而且我是一个初学者。
P.P.S。我从未成功使用过Automator。
答案 0 :(得分:0)
您可以单击弹出按钮,然后单击菜单1的一些菜单项:
tell application "System Preferences"
reveal anchor "DesktopPref" of pane id "com.apple.preference.desktopscreeneffect"
end tell
tell application "System Events" to tell process "System Preferences"
tell pop up button 2 of tab group 1 of window 1
click
click menu item "Stretch to Fill Screen" of menu 1
end tell
end tell
更改~/Library/Preferences/com.apple.desktop.plist
中的展示位置键并退出并重新登录为10.8中的我工作。另一种编辑plist的方法:
f=~/Library/Preferences/com.apple.desktop.plist; plist=$(plutil -convert xml1 $f -o - | awk '/<key>Placement<\/key>/{print;getline;sub(/>.*<\//,">FillScreen</")}1'); printf %s "$plist" > "$f"