【问题标题】:what is dbus daemon and why vlc needs it什么是 dbus 守护进程以及为什么 vlc 需要它
【发布时间】:2014-03-04 11:46:34
【问题描述】:

我已经使用 buildroot 交叉编译了 VLC(2.1.2 版)媒体播放器作为 arm 板。我已使用串行电缆将板连接到我的 linux PC。当我尝试在 minicom 中使用“vlc”命令运行播放器时,该命令位于我的根文件系统的 /usr/bin 中。我收到以下错误:

抑制接口错误:无法连接到 D-Bus 会话守护进程:/usr/bin/dbus-launch 异常终止并出现以下错误:自动启动错误:X11 初始化失败。

任何人都可以澄清这个错误的含义,也可以告诉我什么是 dbus 以及为什么我的 VLC 播放器需要它。

感谢您的帮助。

【问题讨论】:

  • 互联网是收集有关广泛主题的基本信息的好地方,例如"What is dbus?"。 (无论如何,如果没有“正确初始化”X11,这个 VLC 应该如何播放?)
  • 感谢您的快速回复。您能否建议如何初始化 X11。我是 linux 新手。
  • X11 通常用于“桌面”。您的安装中有这样的可用吗?
  • 看起来您正在使用嵌入式 ARM 板,例如 Beaglebone 或 RaspberryPi……它们没有通常的桌面,但许多仍然可以处理 X 服务器。您可以尝试运行startx 来启动您的X11 服务器。如果失败,请以 root 身份执行 X 看看会发生什么。
  • @rodrigo BR 至少有 FluxBoxEnlightenment。试试 FluxBox 并选择 xdm。这应该会在启动时自动启动 X。

标签: linux x11 embedded-linux dbus buildroot


【解决方案1】:

我正在开发基于 buildroot 的最小 rootfs。在我的 rootfs 中包含包“twm”后,这个错误就解决了。然后在板子启动后,我在终端上运行以下命令:

export DISPLAY=:0
startx &

然后运行 ​​vlc

vlc

这样我就摆脱了这个错误。

【讨论】:

    【解决方案2】:

    既然您说您已经交叉编译了 vlc 并面临 dbus 启动问题,我希望您正在使用最小的 root fs。

    在运行 vlc 之前尝试在终端中执行此操作:

    $ export DISPLAY=:0
    

    如果你已经编译了支持 x11 的 dbus,那么 dbus-launch 将会成功。

    【讨论】:

    • 显然,在从 cron 作业调用的脚本中也需要这样做。 (3B+ 上的 Raspbian,在 2020 年 2 月 2 日测试之前完全更新)
    猜你喜欢
    • 2018-09-12
    • 1970-01-01
    • 2014-06-01
    • 2015-07-04
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多