如何在无头服务器上运行 Adob​​e AIR 应用程序

如何在无头服务器上运行 Adob​​e AIR 应用程序

我正在尝试在终端(无 GUI)中运行 ssh 来安装 Adob​​e AIR 文件:

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

但我收到以下错误:

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

如何才能做到这一点?

编辑:此命令正在使用 SSH 远程运行

答案1

如何在无头服务器上运行 Adob​​e AIR 应用程序

问题不在于您尝试从终端运行它。问题在于机器上没有运行图形显示。您似乎在无头服务器上运行。

我知道有两种可能性:

  • 如果您使用 ssh 连接,则可以添加选项-X并允许 Adob​​e AIR 应用程序使用您的本地显示器
  • 你可以通过安装 xvfb 来欺骗 Adob​​e AIR,让它相信有一个显示器正在运行。使用下面的脚本,它是我从这个帖子

将此代码复制到名为的文件中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

编辑:添加了来自评论和链接的脚本的信息。

相关内容