I noticed on startup my computer is saying “Failed to start D-bus system message bus”

my sway session would not start

I switched to dbus-deamon-units and now sway will start with seatd, but i can’t, for example, use notify-send as it says

Error spawning command line “dbus-launch --autolaunch=82fe279a661a4ecdb58cb22596899103 --binary-syntax --close-stderr”: Child process exited with code 1

I suspect I may have setup dbus to run as root with systemctl or something? but I have no idea what’s going on and have been at this for hours, any advice would be helpful

Also, it takes two attempts to run commands, zsh is saying

zsh: corrupt history file

edit: I discovered pacman was lying to me about dbus-daemon-units being installed, and dbus-broker is now running fine at a user level and dbus at the system level, but if I setup dbus broker as root everything breaks, I dunno

  • treadful@lemmy.zip
    link
    fedilink
    English
    arrow-up
    15
    arrow-down
    1
    ·
    1 year ago

    It’s mentioned in the announcements.

    We are making dbus-broker our default implementation of D-Bus, for improved performance, reliability and integration with systemd.

    For the foreseeable future we will still support the use of dbus-daemon, the previous implementation. Pacman will ask you whether to install dbus-broker-units or dbus-daemon-units. We recommend picking the default.

    For a more detailed rationale, please see our RFC 25.

    https://archlinux.org/news/making-dbus-broker-our-default-d-bus-daemon/

    Though it doesn’t say you really need to take any action but maybe it’s a start for something to look into.

    • t_378@lemmy.one
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      If you check out the mailing list archives there is some active discussion about dbus-broker as well.

  • nbailey
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    1 year ago

    Not an arch user, but it’s possible they moved dbus to a user scoped unit now. Might be possible to start it like this (or something similar)

    systemctl —user start dbus.service