1

我在做什么

我定期运行一个 shell 脚本来检查我的屏幕分辨率。基于此,它将运行两个苹果脚本之一,这基本上会改变另一个应用程序(极客工具)的可见性。

我的问题

苹果票据本身运行良好。我知道 osascript 是调用苹果脚本的方式,因为如果我尝试直接运行它,它会说它“无法执行二进制文件”。但是,当我使用osascript $Home/path/smallscreen.scpt它时,它给了我一个新错误:

osascript[61390:1405791] Error loading /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types:  dlopen(/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types, 262): no suitable image found.  
Did find: /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: no matching architecture in universal wrapper
osascript: OpenScripting.framework - scripting addition "/Library/ScriptingAdditions/Adobe Unit Types.osax" declares no loadable handlers.

也许我只是误解了一些东西,但我认为从这个答案的底部运行脚本应该是直截了当的:https ://stackoverflow.com/a/16071855/2522073

声称你可以像这样运行你的苹果脚本 osascript /Users/USERNAME/Desktop/foo.scpt


外壳代码:

rez=$(xdpyinfo | grep dimensions | awk '{print $2}' | awk -Fx '{print $1, $2}')
echo $rez> $HOME/Documents/Geeklets/Displays_temp.txt
rezold=`grep -s . $HOME/Documents/Geeklets/Displays_temp.txt`

if [ "$rezold" != "$rez" ]; then
    if [ "$rez" == "1280 777" ]; then
        osascript /Users/coolguy/Documents/Geeklets/smallscreen.scpt 
    else
        $HOME/Scripts/Geeklets/largescreen.scpt
    fi  
fi

我的苹果脚本:

tell application "GeekTool Helper"

    set smallGroup to group "small"
    set largeGroup to group "large"
    set defultGroup to group "Default Group"

    set visible of smallGroup to true
    set visible of largeGroup to false
    set visible of defultGroup to true  

end tell

我在 Mac 10.10.3 上运行它

4

1 回答 1

0

这解决了我的问题。 https://helpx.adobe.com/photoshop/kb/unit-type-conversion-error-applescript.html

似乎这是 32 位与 64 位问题的某些方面。不是编码问题!希望这最终能帮助别人。

于 2015-06-03T01:40:22.193 回答