标签: xvfb

在centos上启动时启动xvfb的正确方法?

我正在关注本教程,我想知道这个特定于 ubuntu 的步骤的等效 centos 版本:

You may receive a few warnings regarding fonts and such, but it’ll still work despite these. If you want the framebuffer to start automatically on system startup you can do:
sudo update-rc.d xvfb defaults 10
Run Code Online (Sandbox Code Playgroud)

在centos上启动时启动xvfb的正确方法是什么?

boot centos xvfb ubuntu

11
推荐指数
2
解决办法
2万
查看次数

带有 -nocursor 的 Xvfb 无论如何都会显示光标

xvfb-run用来执行 Xvfb:

xvfb-run \
  --server-num 44 \
  -s "-nocursor -ac -screen 0 1280x720x24" \
  chromium-browser \
    --temp-profile \
    --window-size=1280,720 \
    --disable-gpu \
    --window-position=0,0 \
    --app=http://example.com
Run Code Online (Sandbox Code Playgroud)

如果我再查看进程列表,我会看到预期的 Xvfb 进程和参数:

Xvfb :44 -nocursor -ac -screen 0 1280x720x24 -nolisten tcp -auth /tmp/xvfb-run.3QqQAT/Xauthority
Run Code Online (Sandbox Code Playgroud)

尽管如此,-nocursor如果我使用类似 FFmpeg 的 x11grab 之类的东西来查看该窗口的输出,光标肯定仍然会出现。

光标在 X11 窗口中仍然可见

即使卸载psmouse模块也不能解决这个问题。

指定光标应完全隐藏的正确方法是什么?

Ubuntu 16.04 服务器。

xorg xvfb

9
推荐指数
1
解决办法
1942
查看次数

通过 ffmpeg x11grab 设备从 xvfb 录制屏幕时出现黑屏

我正在尝试从运行的 Firefox 中录制视频,xvfb-run但除了黑屏外,它始终在视频文件中不输出任何内容。

这是我所做的:

启动firefox,打开google.com:

$ xvfb-run firefox https://google.com
Run Code Online (Sandbox Code Playgroud)

然后它会使用默认的显示服务器编号99。我可以通过命令看到显示信息xdpyinfo -display :99

通过命令截图效果很好:

$ xwd -root -silent -display :99.0 | xwdtopnm |pnmtojpeg > screen.jpg
Run Code Online (Sandbox Code Playgroud)

开始使用 ffmpeg 录制视频:

$ ffmpeg -f x11grab -i :99.0 out.mpg
Run Code Online (Sandbox Code Playgroud)

当我播放视频文件时out.mpg,总是黑屏。

有没有我遗漏的参数?

更新

我取得了进步,视频工作而不是黑屏仅通过以下命令:

$ ffmpeg -y -r 30 -g 300 -f x11grab -s 1024x768 -i :99 -vcodec qtrle out.mov
Run Code Online (Sandbox Code Playgroud)

请注意,它需要通过指定更多选项来匹配屏幕分辨率xvfb-run

$ xvfb-run -s "-screen 0 1224x768x16" -a firefox http://google.com
Run Code Online (Sandbox Code Playgroud)

但我还是想在这里得到更多的反馈和答案。

ffmpeg xvfb

8
推荐指数
1
解决办法
1万
查看次数

如何在 Raspberry Pi 上的 Xvfb 上运行 lightdm?

我有一个 Raspberry Pi,我将它用作无头服务器。但我想在它上面运行 X。它带有 lightdm,如果您使用随附的 HDMI 或视频输出运行它,它可以工作,我可以使用它和 x11vnc,但没有连接显示器,它默认为 800x600 或非常小的东西。我试过设置几何,没有效果。

所以我想我会运行 Xvfb,然后在它上面运行 lightdm,然后 x11vnc 整个 shebang。

问题是 lightdm 似乎不想连接到已经运行的 X 服务器,它想创建自己的。很好,所以我告诉它运行 Xvfb 而不是 X,它失败了,因为 lightdm 试图将“vt7”作为参数传递给 X 服务器,但 Xvfb 不接受虚拟终端作为参数,因为它没有使用任何终端,它是一个虚拟帧缓冲区。

所以帮帮我?我怎样才能获得 lightdm(我已经检查了文档和选项,没有什么明显的)来正确启动 Xvfb(没有 vt7 参数),或者让它附加到已经运行的现有 X 服务器而不是尝试运行它自己的。

xvfb raspberry-pi

5
推荐指数
1
解决办法
2万
查看次数

AWS EC2 Linux 无头 Firefox 问题:Xvfb:未定义符号:pixman_glyph_cache_create

我一直在使用 AWS EC2 Linux 执行无头 Firefox/Selenium 任务。我使用http://itsallabtamil.blogspot.com/2013/02/setting-up-chrome-firefox-ec2-selenium-java.html中的说明构建了它,后者又使用此脚本在 AWS EC2 上获取 GTK+ 和 Firefox Linux http://joekiller.com/2012/06/03/install-firefox-on-amazon-linux-x86_64-compiling-gtk/

昨天,我更新了所有软件包“sudo yum update”,但我无法再运行 Firefox!在过去的 12 个小时里,我一直在用头撞墙,但无法解决。基本上,如果我开始说 Xvfb:

Xvfb :1 -screen 0 1280x768x24
Run Code Online (Sandbox Code Playgroud)

然后尝试通过执行以下操作来启动 Firefox

firefox
export DISPLAY=:1
Run Code Online (Sandbox Code Playgroud)

在另一个终端中,我在 Xvfb 的终端中收到以下错误:

Xvfb: symbol lookup error: Xvfb: undefined symbol: pixman_glyph_cache_create
Run Code Online (Sandbox Code Playgroud)

带有 Firefox 的终端说:

Xlib:  extension "RANDR" missing on display ":1".
firefox: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.
Run Code Online (Sandbox Code Playgroud)

经过几个小时的谷歌搜索,我发现第一行是一个警告,可以忽略,但我假设第二行必须连接到未定义的符号错误。我尝试从头开始重建实例(注意,需要在脚本中更新 Fox 的 URL) - 同样的错误。

任何帮助将不胜感激!

linux firefox xvfb amazon-web-services amazon-ec2

5
推荐指数
1
解决办法
4669
查看次数

在 Mac OSX 上运行 xvfb

我正在尝试以无头模式运行SlimerJS,以便它不会在 Mac OSX 上打开可见的浏览器窗口。

根据SlimerJS docs,这可以使用xvfbwhich is "available on Linux and MacOS" 来完成,使用命令:

>> xvfb-run ./slimerjs myscript.js.
Run Code Online (Sandbox Code Playgroud)

虽然 OSX 附带了xvfb,但它没有相应的xvfb-run脚本。

如何使用 OSXxvfb版本获得相同的功能?

xvfb macos

5
推荐指数
1
解决办法
1万
查看次数

单个 Xvfb 服务器/进程上有多个客户端?

是否可以仅使用一个 Xvfb 进程同时为多个客户端提供服务?

或者,换一种说法:Xvfb 进程直接映射到一个屏幕,即多个客户端共享同一屏幕,或者每个新客户端都获得一个新的、独立的屏幕?

xvfb

1
推荐指数
1
解决办法
3420
查看次数