我正在设置一个由各种 Linux 机组成的测试环境,并且我需要通过 ssh 在远程机器上启动 Firefox 实例。
远程机器安装了 Ubuntu Desktop(11)和 Firefox。
源计算机是持续集成服务器,它从非 GUI 环境创建到远程计算机的 ssh 会话。然后,它运行一个脚本,该脚本尝试在远程计算机上启动 Firefox。
但是,由于 ssh 会话来自非 GUI 环境,因此没有显示。
是否有可能实现无头 X-windows 显示器?即 Firefox 可在远程环境中运行的虚拟显示器?我有哪些选择?
答案1
您需要一个 Firefox 的 GUI。但您有几个选择:
1)在你的主机上运行 Xorg 并在这里显示 Firefox(ssh -Y user@remotehost)
2)在远程主机上启动 vncserver,并在其中运行 Firefox
3) 如果 xorg 已经在远程主机上运行,只需允许远程主机上的本地 Xorg 连接(xhost +127.0.0.1),然后使用以下命令之一启动 Firefox(第一个命令应该有效,如果不行,请尝试第二个):
DISPLAY=":0" firefox
DISPLAY=":0" firefox -no-remote
答案2
X 虚拟帧缓冲区将解决这个问题。
sudo apt-get install xvfb
Xvfb :1 &
然后启动 Firefox:
ssh HOST 'export DISPLAY=:1; firefox"
答案3
有 ssh 客户端/X11 服务器软件包,例如这。
只需确保 $DISPLAY 指向您正在连接的位置并在控制台中启动 Firefox。