-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
grisbi: preferences are never saved #73880
Comments
@layus @r-ryantm @marzipankaiser Have you experienced the same issue? |
You need to have dconf D-Bus service registered. You can do that using |
Had the same problem, was fixed for me with DConf as noted in @jtojnar's comment. |
@jtojnar @marzipankaiser That works, thank you! I am not so familiar with NixOS yet but I was under the impression that a package should include all its required dependencies. If grisbi needs dconf, why isn't included in the grisbi nix expression? Does that make sense? |
Well, grisbi comes with the dconf adapter, able to talk with the system daemon. But you need this daemon running. A bit like an X server in a sense. grisbi comes with the X client things, but expects an X server to be already running. If you try to run grisbi from a tty, it will fail with a message about the missing X server, much like it did fail here with the missing dconf daemon (with a cryptic message I admit). We could create a nixos option like |
That makes sense, thank you all. |
Generally, Nix packages try to be self-contained but there are some runtime dependencies that would not be easy to include into the package, or it would be grossly inefficient. In this case grisbi depends on a D-Bus daemon with dconf service registered. And while it would be possible to wrap grisbi in such a way that it runs its own D-Bus session bus and run dconf instance on it, each program running its own D-Bus server and dconf instance would soon leave you without any free memory. Regular Linux distributions solve this issue by having programs essentially modify D-Bus configuration, even transitively (grisbi would modify system to install dconf, which would modify system to install dbus, and modify its configuration), this is impure and thus impossible in Nix by design. It would be possible to create a service that would recognize attempted impurities in programs and propagate impurities into their targets (e.g. see that you installed grisbi, which depends on dconf D-Bus service so it would register it in the global D-Bus daemon) but so far, no-one implemented it AFAIK, probably because it would suffer from many of the same issues as impure package managers. Edit: As layus points out, there are some runtime dependencies that depend on exclusive access to hardware (like X server), which could not be made self-contained at all. |
Describe the bug
Every time I start Grisbi, it welcomes me with:
It seems that my settings are not saved anywhere.
When I launch grisbi from a terminal, I get some errors:
To Reproduce
Install Grisbi
Launch Grisbi, change any settings in Edit > Preferences and close the application.
Launch again and you are greeting with the first use message.
Expected behavior
Settings should be saved and the first time use greeting should only appear on first time use.
Metadata
The text was updated successfully, but these errors were encountered: