-
-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DBus and Xfce #22302
Comments
For the sake of linking the two issues/PRs: #20871 |
DBus daemon now loads its config from /run/current-system/dbus. Reloading the daemon makes it re-read that file and catch the updates after a system upgrade.
Hi @abbradar, |
A grep in EDIT: actually with some but unrelated: |
After some more digging it seems that when configuration is stored in |
:-) Or, you could just drop the ExecStart part, because --system and --session are what dbus does by default. |
See |
Yep, it works! See #22343; it'd be nice if you could review. |
My feeling in this issue is that while putting files in /etc might seemingly solve the issue, the files in /etc may not be read at all. See
To me, this hints that it may work for some reason we do not understand. An not do what we think it does. For example, the services uses both
nixpkgs/nixos/modules/services/system/dbus.nix Lines 67 to 80 in 29667f6
Why use both ? and how do they interact ? |
@abbradar For example, if you |
I can't reproduce this, for me
|
Oh, I found it:
in |
Ok, so you see that dbus loads nixpkgs/nixos/modules/services/system/dbus.nix Lines 25 to 45 in f66d782
This needs to be addressed before making yet another change to dbus. |
I looked through it and it seems to me that we don't actually need to modify it -- we can just use the upstream version. The only modification is used to force D-Bus to use |
BTW I think this file is used because of this line. |
The current behavior is due to a commit (783c40e) from @vcunat that set the datadir of dbus to "/run/current-system/sw/share". (
I wonder why such a NixOS specific path was used in the configuration of the package. I guess this is because there are not many users of our dbus package outside of NixOS. Such a setup makes dbus very special compared to other services. |
@vcunat Maybe we can remove this option? Then dbus will use its configuration from |
:-) certainly don't feel bounded by that commit of mine. I don't remember it, but I'm fairly certain my understanding of dbus was minimal at that time (and it hasn't improved much since). |
Issue description
DBus currently seems broken on Xfce -- for example,
services.gnome-keyring
doesn't work for me. Reverting 29667f6. fixes it; that suggests problem is thatdbus-daemon
is started not by systemd but by Xfce itself, so it misses arguments and expects its configuration in/etc/dbus-1
.systemctl --user status dbus
shows that the service is not started on Xfce, which confirms this theory.EDIT: Additionally,
services.dbus.socketActivated
fixes SSH agent but then Chromium and some other applications begin to take forever to start up;strace
shows that they get a DBus-related error from some fd.Steps to reproduce
Technical details
nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion
) f66d782The text was updated successfully, but these errors were encountered: