从 bash 文件打开 Firefox“错误:未指定显示”

从 bash 文件打开 Firefox“错误:未指定显示”

我需要打开浏览器并使用 IP 地址 1.2.3.4 访问我的服务器。首先,我 ping 我的服务器,如果 ping 没有失败,我会在浏览器中启动主页。为此,我编写了一个 bash 文件,如下所示:

# add ip / hostname separated by white space
myHost=1.2.3.4

# no ping request
COUNT=1

count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
if [ $count -eq 0 ]; then
# 100% failed
echo "Host : $myHost is down (ping failed) at $(date)"
else
    firefox $myHost
fi

但我收到一条错误消息 Error: no display specified。Firefox 无法启动。我做错了什么。

每 5 分钟使用 调用一次此文件cronjobcronjob似乎运行良好。

答案1

您必须指定显示。

在运行 Firefox 之前将其添加到您的脚本中

 export DISPLAY=:0

你的脚本将会是这样的:

#add ip / hostname separated by white space
myHost=1.2.3.4
export DISPLAY=:0
# no ping request
COUNT=1

count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
if [ $count -eq 0 ]; then
# 100% failed
echo "Host : $myHost is down (ping failed) at $(date)"
else
    firefox $myHost
fi

相关内容