0

我正在使用以下命令检查 shell 脚本:

#!/bin/bash

echo "Content-Type: text/plain"
echo
echo "Time is:"
date
/usr/bin/firefox http://www.google.fr &

如果我在终端中运行脚本,我会得到日期,然后可以打开 firefox 浏览器。但是如果我使用浏览器(localhost/cgi-bin/scriptest)运行脚本,我会得到日期

Time is:
Mon Sep  9 14:18:47 CEST 2013

但是firefox浏览器没有打开。 如果我使用终端而不是从浏览器运行脚本,有谁知道为什么会出现 firefox 浏览器?任何解决方案?

4

1 回答 1

3

确保您在同一用户和同一 X 会话下的终端上运行脚本。应设置 DISPLAY 变量。添加此行以了解更多信息:

...
echo "DISPLAY: \"$DISPLAY\", whoami: $(whoami)"
/usr/bin/firefox http://www.google.fr  ## No need to add &.

您的用户应该与您的 X 会话中的用户相同。如果 DISPLAY 没有价值,请尝试设置:0.0为快速破解:

...
export DISPLAY=':0.0'
/usr/bin/firefox http://www.google.fr

如果它仍然不起作用,请尝试参考DISPLAY类似这里的一些线程。

于 2013-09-09T12:53:40.463 回答