Запуск приложения 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
Редактировать: Добавлена информация из комментариев и скрипт по ссылке.