进一步阅读

进一步阅读

这个问题快把我逼疯了。我不知道为什么有时会发生这种情况。完全感觉断断续续。

我有一个/etc/rc.local在启动时触发的 shell 脚本。我正在使用Ubuntu x64 19.10......无论其价值如何,我通过数字海洋从云滴中运行它。

长话短说...

我的脚本一开始有这样的内容......

echo "Starting virtual display session..."
export DISPLAY=:0
Xvfb :0 -screen 0 640x360x16 & 
DISPLAY=:0.0 fluxbox &
sleep 1
x11vnc -display :0.0 -usepw -forever -bg

所有这些在大多数情况下都有效......

然而,fluxbox有时只是无法加载。我最终会得到一个 X 显示会话,但没有窗口管理器。当我跑步时,ps aux | grep fluxbox我看到什么也没有。

问题是这种情况只是偶尔发生。我可以重新启动系统,大多数时候它会加载,但有时它完全无法启动进程。

更新:当这似乎发生时,我可以看到发生以下错误:

Error: Couldn't connect to XServer:0.0

如果我设置显示的导出并在启动 Fluxbox 进程时设置显示,为什么会发生这种情况?

有人有什么主意吗?

注意:我只有通过 xvfb 的虚拟帧缓冲区,它始终运行在DISPLAY=:0

谢谢你!

答案1

Xvfb :0 -屏幕 0 640x360x16 &
DISPLAY=:0.0 通量盒 &

这很简单。您已经分叉了两个进程以并行运行。Xvfbfluxbox程序尝试连接到 X 服务器时,程序尚未完成初始化。您有一个多任务操作系统,毫无疑问是一个多处理器机器,并且在引导时有一个不确定的负载。除非您采取措施避免/防止此类竞争条件,否则它们是存在的。

进一步阅读

相关内容