【问题标题】:Error code -10810 when calling "open" from applescript从 applescript 调用“open”时出现错误代码 -10810
【发布时间】:2011-02-23 09:09:40
【问题描述】:

我正在尝试使用 AppleScript 来修改一些应用程序设置。代码如下所示:

#!/bin/sh

echo '
 tell application "Finder"
   tell disk "'$1'"
       open
       set current view of container window to icon view
       ...
       close
   end tell
end tell
' | osascript

但是,当 applescript 点击“打开”时,我不断收到 -10810 错误代码(“64:68:执行错误:发生了 -10810 类型的错误。(-10810)”)。我做了一些谷歌搜索,我得到的只是“重新启动并等待,它有时会神奇地开始工作”(它没有)。

机器正在运行 Mac OS Server 10.6。我虽然可能是一些权限问题,但是以 root 身份运行命令会返回相同的错误。

更新:已解决(嗯,或多或少 :-))。问题是“开放”需要一个用户界面。问题是我使用 ssh 来运行脚本(我在这里没有提到,因为我认为它不相关)。所以没有用户界面。当我首先使用 VNC 登录时,它可以工作。

【问题讨论】:

  • 只是让您知道,您不需要(并且可能不应该)在开头使用 #!/bin/sh 行。您不是通过sh 运行它,而是通过applescript 运行它。
  • 他将它作为 shell 命令运行。仔细看。他正在通过命令行传递一个参数。检查某人是否登录(并且您可以运行 Applescript)的问题是一个很多人忘记的棘手问题。如果您想测试以确保有人登录,您可以运行 shell 命令“users”,其中列出了当前登录的用户。显然,如果没有人登录,这将不会返回任何用户。
  • 如果您已经解决了问题,请将您的解决方案作为答案发布在下面并接受它。

标签: shell applescript


【解决方案1】:

已解决(好吧,或多或少:-))。

问题是“开放”需要一个 UI。问题是我使用 ssh 来运行脚本(我在这里没有提到,因为我认为它不相关)。所以没有用户界面。当我首先使用 VNC 登录时,它可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    相关资源
    最近更新 更多