在 Mac os10.12.6 中通过 pssh 打开/激活远程机器上关闭的应用程序

Posted

技术标签:

【中文标题】在 Mac os10.12.6 中通过 pssh 打开/激活远程机器上关闭的应用程序【英文标题】:Open/Activate an closed Application on a remote machine through pssh in Mac os10.12.6 【发布时间】:2018-05-31 17:26:17 【问题描述】:

我尝试使用以下命令远程打开应用程序,但出现错误

pssh -h node.txt -O StrictHostKeyChecking=no -l mapsadmin -i "open /Applications/FusionX.app"

以下是错误:

Stderr: LSOpenURLsWithRole() failed with error -10810 for the file /Applications/FusionX.app

ma​​psadmin 是具有root 权限的用户,仍然无法获得运气。请帮我解决这个问题。

我也尝试过 AppleScript,但没有成功

pssh -h node.txt -O StrictHostKeyChecking=no -l mapsadmin -i "osascript -e 'tell application \"FusionX\" to activate'"
[1] 16:07:31 [FAILURE] <IP address> Exited with error code 1
Stderr: 30:38: execution error: An error of type -10810 has occurred. (-10810)

帮我解决这个问题。远程机器上是否还有其他功能可以让这种情况发生?

【问题讨论】:

您有没有尝试以下任何建议? 【参考方案1】:

我更愿意将此作为评论,但它太长了。但是,我担心这可能不是一个完整的答案,因为错误的原因很多,但我希望这可能会有所帮助。

首先,使用标准的ssh 命令通过 ssh 连接到您的远程计算机(或者物理地访问计算机并打开 Terminal)。现在看看你是否可以使用open /Applications/FusionX.app 从那里运行应用程序。如果这引发相同的错误,那么看看你是否可以运行位于 /Applications/FusionX.app/Contents/MacOS

中的实际二进制文件
cd /Applications/FusionX.app/Contents/MacOS
./FusionX

(假设该文件夹中的二进制文件名为FusionX。如果不是,请相应地调整上面的行。)

如果应用程序没有运行,请运行以下命令:

chmod +x ./FusionX

然后尝试再次运行二进制文件。如果可行,请退出安全 shell 或返回本地计算机并尝试再次运行 pssh 命令。我希望这可能会解决您的问题。

另外,您可以尝试使用纯 AppleScript 来使用类似的命令远程启动应用程序

tell application "FusionX" of machine "eppc://remote_ip_or_hostname" to activate

(这需要 Remote Apple Events 在远程机器上(在 System Preferences > Sharing 下)打开 On 并假设 FusionX 是 Apple 可编写脚本的.)

显然,这里的限制是必须为每台远程机器单独指定此命令,而不是通过针对多个主机的单个并行命令。

【讨论】:

以上是关于在 Mac os10.12.6 中通过 pssh 打开/激活远程机器上关闭的应用程序的主要内容,如果未能解决你的问题,请参考以下文章

当我想制作 libsvm 时出现“make”错误(系统:MAC OS X 10.12.6)

markdown 安装Oracle PHP扩展(oracle OCI8) - 适用于Mac OS 10.12.6的即时客户端 - 自制环境 - 在PHP 7.2上

Mac Lion OS 的右键快捷方式?

mac os10.10.3 可以装WIN7吗

mac osx 10.8.5怎么升级

如何在 mac osx 中通过 ant 脚本杀死节点服务器