在Mac OS10.12.6中通过pssh打开/激活远程计算机上的已关闭应用程序

问题描述 投票:0回答:1

我试图使用下面的命令远程打开一个应用程序,但我收到一个错误

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

mapsadmin是具有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)

帮我解决这个问题。还有什么东西可以在远程机器上启用以实现这一点吗?

shell ssh osx-mountain-lion pssh
1个回答
0
投票

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

首先,使用标准ssh命令将ssh导入远程机器(或者物理地进入机器并打开终端)。现在看看你是否能够使用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

(这需要在远程计算机上打开远程Apple事件(在“系统偏好设置”>“共享”下),并假设FusionX是Apple可编写脚本的。)

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

© www.soinside.com 2019 - 2024. All rights reserved.