1

我主要使用 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 机器上将桌面大小调整为“拉伸以填充屏幕”。

我怀疑我可以通过 ARD 发送很多 Unix 命令来更改 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

这很方便。

我使用“默认读取 com.apple.desktop”并发现说,我笔记本电脑上的放置是“放置 = 裁剪;”。

(顺便说一句,当您使用 defaults 命令时,您是否为每个用户都设置了它们?)

我什至下载了一个属性列表转换器来将 com.apple.desktop.plist 转换为我可以阅读的 XML 文件,我发现了这样的东西:

                    <key>Placement</key>
                <string>FillScreen</string>

但我不知道如何使用这些信息。

我尝试用我喜欢的设置覆盖我机器上的 com.apple.desktop.plist 文件,但发现这根本没有做任何事情,它没有改变桌面,即使我注销并登录客户端也没有机器,或重新启动。

我正在努力避免为系统偏好设置 GUI 脚本,因为我知道它的格式不好,而且我也无法弄清楚。尽管我确实尝试过,但通过安装 Xcode 并查看辅助功能测试以找出哪个窗口的哪个窗格......但未能编写脚本。

我发现这个网站有人在做类似于我正在做的事情,但它是德语的,而且谷歌翻译并不完美。

PS我从来没有写过Python脚本,而且我是一个初学者。

PPS 我从未成功使用过 Automator。

4

1 回答 1

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

在 10.8中更改放置键~/Library/Preferences/com.apple.desktop.plist并注销并重新登录对我有用。编辑 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"

于 2013-05-30T00:17:37.280 回答