我正在尝试在终端(无 GUI)中运行 ssh 来安装 Adobe AIR 文件:
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 应用程序使用您的本地显示器 - 你可以通过安装 xvfb 来欺骗 Adobe 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
编辑:添加了来自评论和链接的脚本的信息。