我有一个 BeagleBone - 没有 LCD/显示器。当我尝试使用 startx 时,在控制台中显示 /dev/fb0 不存在。xorg.conf 文件正在使用 fbdev 驱动程序。显然,如果检测到 LCD,则一切正常。
如何设置虚拟显示器以便我可以对其进行 vnc 访问?
我有一个 BeagleBone - 没有 LCD/显示器。当我尝试使用 startx 时,在控制台中显示 /dev/fb0 不存在。xorg.conf 文件正在使用 fbdev 驱动程序。显然,如果检测到 LCD,则一切正常。
如何设置虚拟显示器以便我可以对其进行 vnc 访问?
以为我最好回答这个以供参考。哦,我还拿到了“风滚草”徽章……太好了……
如果没有连接 LCD/DVI cape,则引导不会加载帧缓冲区 (/dev/fb0)。因此,没有 X11 服务器启动。x11vnc 需要一个真正的 X11 服务器才能运行。还有一个程序 xvnc 可以代表您创建一个虚拟 X11/帧缓冲区,但我在 Angstrom 包中看不到它。
所以,我安装了 Xvfb - 并创建了一个虚拟帧缓冲区。安装包
xserver-xorg-xvfb
开始时,请记住(对于像我这样来自 Windows 的新手),它是区分大小写的。创建虚拟 X11 服务器;
Xvfb :1 -screen 0 1024x768x16 &
当你这样做时,你可能会得到这些错误;
(EE) AIGLX error: dlopen of /usr/X11/lib/dri/swrast_dri.so failed (dlopen(/usr/X11/lib/dri/swrast_dri.so, 5): image not found)
(EE) GLX: could not load software renderer
所以,加载包;
mesa-dri-driver-swrast
好的,错误消失了。现在我们可以导出我们的显示器(一个环境变量,这样 Firefox 或您运行的任何 X11 客户端都可以附加到显示器)。
export DISPLAY=:1
加载 Firefox(看的东西)
firefox &
现在我们尝试启动 x11vnc;
x11vnc -display :1 -bg -nopw -xkb
此时,使用此发行版,您将看到有关 XTEST 在构建时未找到/不可用的错误。这里描述了这个问题。
我确保我已经安装了所有正确的库,所以我认为它一定是在 Angstrom 上的一个糟糕的构建。所以,现在要自己构建它。我确保所有必需的库都可用;这些是以'-dev'结尾的;默认情况下,它们似乎都可用。我按照这里的说明进行操作。
除了复制行对我来说不太好,所以做你需要做的事情将它复制到 /usr/bin 文件夹。
现在它启动了,XTEST 没有错误,输入正常!