Запуск приложения Adobe AIR на удаленном безголовом сервере

Я пытаюсь установить файл Adobe AIR с ssh в терминале (без графического интерфейса):

sudo Adobe\ AIR\ Application\ Installer -silent -eulaAccepted MyAirApp.air

Но я получаю следующую ошибку:

(Adobe AIR Application Installer:7509): Gtk-WARNING **: cannot open display:

Как это может быть сделано?

РЕДАКТИРОВАТЬ: Эта команда выполняется удаленно с использованием SSH

1 ответ

Решение

Как запустить приложение Adobe AIR на автономном сервере

Проблема не в том, что вы пытаетесь запустить его из терминала. Проблема в том, что на машине не работает графический дисплей. Вы, кажется, работаете на безголовом сервере.

Я знаю две возможности:

  • Если вы подключаетесь с помощью ssh, вы можете добавить -X и разрешите приложению Adobe AIR использовать локальный дисплей
  • Вы можете обмануть Adobe AIR, полагая, что дисплей работает, установив xvfb. Используйте скрипт, который я скопировал из этого поста:

Скопируйте этот код в файл с именем xvfb_wrapper.sh:

#!/bin/sh
# 
# Author: Matthew Wilson, rPath, Inc. 
# 
# This could probably be done more elegantly in Python... 

pid='' 
for ((d=0; d < 20; d++)); do 
    DISPLAY=:$d 
    Xvfb -ac $DISPLAY > /dev/null 2>&1 & 
    sleep 2 
    jobs -l %1 > /dev/null 
    pid=$(jobs -l %1 2>&1 | grep Running | awk '{print $2}') 
    if [ -z "$pid" ]; then 
        continue 
    fi 
    if ps $pid > /dev/null 2>&1; then 
        break 
    fi 
done 

if [ -z "$pid" ]; then 
    echo "unable to start Xvfb" 
    exit 1 
fi 

trap "kill -9 $pid" SIGINT SIGTERM EXIT 

export DISPLAY=$DISPLAY 

$*

Вызов chmod +x xvfb_wrapper.sh дать ему права на исполнение. Вызовите ваше приложение с xvfb_wrapper.sh перед ним. В этом примере это будет:

sudo xfvb_wrapper.sh "Adobe AIR Application Installer" -silent -eulaAccepted MyAirApp.air

Редактировать: Добавлена ​​информация из комментариев и скрипт по ссылке.

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