Открыть / активировать закрытое приложение на удаленной машине через pssh в Mac os10.12.6

Я пытался открыть приложение удаленно, используя приведенную ниже команду, но я получаю сообщение об ошибке

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)

Помоги мне в решении этого. Есть ли что-нибудь еще, что нужно включить на удаленной машине, чтобы это произошло?

1 ответ

Я бы предпочел оставить это как комментарий, но это было слишком долго. Тем не менее, я боюсь, что это может быть не полный ответ, так как причины ошибки - множество, но я надеюсь, что это может помочь.

Во-первых, SSH на удаленной машине, используя стандартные ssh команду (или перейдите к машине физически и откройте терминал). Теперь посмотрим, сможете ли вы запустить приложение оттуда, используя open /Applications/FusionX.app, Если это выдает ту же ошибку, то посмотрите, можете ли вы запустить настоящий двоичный файл, расположенный в /Applications/FusionX.app/Contents/MacOS

cd /Applications/FusionX.app/Contents/MacOS
./FusionX

(Предполагается, что двоичный файл, расположенный в этой папке, называется FusionX. Если нет, измените строку выше соответственно.)

Если это не запускает приложение, выполните эту команду:

chmod +x ./FusionX

затем попытайтесь снова запустить бинарный файл. Если это работает, выйдите из защищенной оболочки или вернитесь на локальный компьютер и попробуйте запустить pssh команда снова. Я надеюсь, что это может решить вашу проблему.

Кроме того, вы можете попробовать чистый AppleScript для удаленного запуска приложения с помощью команды, такой как

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

(Для этого требуется, чтобы " Удаленные события Apple" были включены на удаленном компьютере (в " Системных настройках"> "Общий доступ") и предполагается, что FusionX поддерживает сценарии Apple.)

Очевидно, что ограничением здесь является необходимость указывать эту команду для каждой удаленной машины отдельно, а не с помощью одной параллельной команды, предназначенной для нескольких хостов.

Другие вопросы по тегам