Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Chinese
  4. 如何让 Linux 平台的简单 QT5 应用不自动运行 dbus-launch ?
Forum Updated to NodeBB v4.3 + New Features

如何让 Linux 平台的简单 QT5 应用不自动运行 dbus-launch ?

Scheduled Pinned Locked Moved Unsolved Chinese
1 Posts 1 Posters 391 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Offline
    I Offline
    Isle
    wrote on last edited by
    #1

    在 Linux 平台下,哪怕是一个再简单的 QT5 GUI 应用程序,也依赖 libdbus-1. 因为 X11 下的 QT5 GUI 应用的依赖链条是: libqxcb / libQt5XcbQpa --> libQt5DBus --> libdbus-1, 当然 Wayland 环境也大同小异。但在 QT4 时代并非如此,因为 QT4 下的简单 GUI 程序并不强行依赖 libQtDBus.

    Linux 下的许多 GUI 应用都依赖 libdbus-1, 但它们不会触发 D-Bus 的自动运行机制,而 QT5 GUI 程序却会。结果就是:当启动一个简单的 QT5 GUI 应用时,假如 dbus-launch 和 dbus-daemon 没有启动,那么 QT5 GUI 应用会触发它,让它启动起来。

    有无什么办法让 dbus-launch 不要自动运行,而是有需要时再运行?注意并非要求禁用 dbus-launch 和 dbus-daemon, 而是在无需使用到 D-BUs 时不自行触发启动它。

    哪怕需要修改 libQt5DBus 部分的源代码也行,我愿意自己编译 QT 库。当然如果无需修改 QT 库,通过某些选项配置能够达到目的就更好了。

    1 Reply Last reply
    0

    • Login

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Get Qt Extensions
    • Unsolved