在 ubuntu 中通过 bash 脚本远程安装软件包

在 ubuntu 中通过 bash 脚本远程安装软件包

我正在尝试使用 bash 脚本远程将 Firefox 软件包安装到我的所有 Linux 主机。但是每当我执行脚本时都会出现以下错误。如何在 bash 脚本中启用 DISPLAY?

错误:

No protocol specified
Error: cannot open display: :0.0
No protocol specified
Error: cannot open display: :0.0

答案1

这很奇怪:错误似乎是由 Firefox 需要访问 X 功能而产生的(这是正常的),但这些export命令足以使其工作(如果您在主机上有一个正在运行的 X 会话)。

我能给你的唯一建议是像这样替换导出行(你只需要一行):

#export DISPLAY=:0.0
export DISPLAY=:0

或者尝试在每个命令上明确设置显示:

su user1 -c 'DISPLAY=:0 firefox -no-remote -CreateProfile firefox18'

答案2

在您希望 Firefox 出现的机器上尝试运行命令 xhost -,这允许客户端 Windows 从任何主机连接。一旦您运行完 Firefox,您可能应该运行 xhost + 以确保安全。

相关内容