当系统在 Ubuntu 10.10 (Maverick) 上启动时,我试图让 Xvfb 运行,但它不起作用。在 /etc/rc.local 中,我有以下内容:
/root/start_xvfb.sh >> /var/log/start_xvfb.log 2>&1
exit 0
Run Code Online (Sandbox Code Playgroud)
在 /root/start_xvfb.sh 我有:
#!/bin/sh -e
startx -- `which Xvfb` :0 -screen 0 1024x768x24 &
exit 0
Run Code Online (Sandbox Code Playgroud)
重新启动机器后,日志文件 (/var/log/start_xvfb.log) 包含:
[dix] Could not init font path element /usr/share/fonts/X11/cyrillic, removing from list!
^M
waiting for X server to shut down
^M
Run Code Online (Sandbox Code Playgroud)
鉴于日志文件中的内容,似乎正在调用“startx -- `which Xvfb` :0 -screen 0 1024x768x24”,但此后不久该进程就被终止了。
我想在启动时启动 Xvfb,因为我需要在没有监视器显示的远程服务器上运行 Firefox。如果我在通过 SSH 连接到远程机器后运行 /etc/rc.local,Xvfb 启动没有问题,我可以通过“firefox --display=:0 &”启动 Firefox。如果我在没有先启动 Xvfb 的情况下尝试使用该命令运行 Firefox,我会收到消息“错误:无法打开显示::0”。
请注意,我并不是要实际查看本地工作站上的显示。我希望应用程序显示在远程机器的(虚拟的,内存中的)显示器上。
任何想法为什么 X 服务器在启动后立即在远程机器上关闭?有没有更好的方法让 Xvfb …