gpt4 book ai didi

selenium - 如何使 Xvfb 显示可见?

转载 作者:行者123 更新时间:2023-12-02 12:55:49 36 4
gpt4 key购买 nike

我通过 Xvfb 在显示器编号 :99 上运行 selenium,如下所示:

/usr/bin/Xvfb :99 -ac -screen 0 1024x768x8 & export DISPLAY=":99" && java -jar /usr/lib/selenium/selenium-server-standalone-2.24.1.jar -port 4444

但是,默认情况下不显示 :0 以外的数字。如何使其可见以实际看到 selenium 在浏览器中正在做什么?

最佳答案

使用X11vnc

您只需安装 x11vnc通过:

sudo apt-get install x11vnc xvfb fluxbox

可以选择安装 Fluxbox 以拥有简单的窗口管理器。

运行x11vnc在外壳中

然后要设置对 Xvfb 的访问以进行远程控制,您可以使用 X11 over SSH 或 VNC over SSH,例如

export DISPLAY=:1
Xvfb $DISPLAY -screen 0 1024x768x16 &
fluxbox &
x11vnc -display $DISPLAY -bg -forever -nopw -quiet -listen localhost -xkb

运行x11vnc使用脚本

这是可运行的脚本友好版本 Xvfb , x11vncfluxbox :

export DISPLAY=${DISPLAY:-:0} # Select screen 0 by default.
xdpyinfo
if which x11vnc &>/dev/null; then
! pgrep -a x11vnc && x11vnc -bg -forever -nopw -quiet -display WAIT$DISPLAY &
fi
! pgrep -a Xvfb && Xvfb $DISPLAY -screen 0 1024x768x16 &
sleep 1
if which fluxbox &>/dev/null; then
! pgrep -a fluxbox && fluxbox 2>/dev/null &
fi
echo "IP: $(hostname -I) ($(hostname))"

注意:我在以下 Docker project 中使用它(检查.funcs.cmds.inc.sh)。

运行x11vnc使用单行代码

或者您可以使用以下一行:

$ x11vnc -create -env FD_PROG=/usr/bin/fluxbox \
-env X11VNC_FINDDISPLAY_ALWAYS_FAILS=1 \
-env X11VNC_CREATE_GEOM=${1:-1024x768x16} \
-gone 'killall Xvfb' \
-bg -nopw
<小时/>
  • -create使其启动 Xvfb
  • X11VNC_FINDDISPLAY_ALWAYS_FAILS=1使其转到创建的 Xvfb session (显示 :1 而不是 :0 这将是普通桌面)
  • FD_PROG=/usr/bin/fluxbox让它启动 Fluxbox(Ubuntu 的一个,应该有背景 Ubuntu Logo )
  • X11VNC_CREATE_GEOM=${1:-1024x768x16}将屏幕设置为 16 位颜色 1024x768
  • -gone退出时进行清理,否则 Xvfb 会被留下(杀死 xvfb 也会杀死 fluxbox )

连接到 VNC

如果您的 Xvfb 仅在本地主机上监听,您可以设置到本地主机的隧道,这样 vncviewer 就可以连接到本地主机以远程控制服务器。例如

ssh -N -T -L 5900:localhost:5900 user@remotehost &
vncviewer -encodings 'copyrect tight zrle hextile' localhost:5900

或者要监听所有带有密码的地址,请使用:

x11vnc -display :0.0 -usepw

要设置密码,请运行:x11vnc -storepasswd .

参见:Remote control over SSH在 Xvfb 维基百科页面

<小时/>

还检查:

关于selenium - 如何使 Xvfb 显示可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12050021/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com