GNOME Bugzilla – Bug 788396
No error handling for name change
Last modified: 2021-06-09 16:24:25 UTC
The Accounts service calls like changing the real name can fail. For example, on NixOS, there is a certain mode of operation which only allows changing account details through editing global declarative configuration file. The action will thus fail with org.freedesktop.Accounts.Error.NotSupported. The following warning will appear in the console/journal but the user interface will admit no concern. (gnome-control-center:17713): AccountsService-WARNING **: SetRealName call failed: GDBus.Error:org.freedesktop.Accounts.Error.NotSupported: Modifying users not supported without users.mutableUsers The user inteface should display an error dialogue when an error happens, NotSupported is not the only error you can receive. Downstream issue: https://github.com/NixOS/nixpkgs/issues/10025
Depends on: https://bugs.freedesktop.org/show_bug.cgi?id=103055
Seems like a bug in the nixos implementation of accountsservice to me - just edit that global configuration - it is a system service for a reason...
yea why would we want to show the user an error message in this case? Isn't that a pretty poor user experience? I think two better ideas: 1) permanently desensitize or hide the "Unlock" button 2) as Matthias said, fix accountsservice to edit the global declarative configuration file
The global configuration is more of a recipe for building an immutable root partition (think Puppet, just better) and it is not supposed to be edited automatically. It is usually kept in a VCS repository and often deployed to remote machines. Regarding the error messages, the dbus calls can [fail](https://cgit.freedesktop.org/accountsservice/tree/src/daemon.c?id=0.6.45#n90) and in that case, displaying an error message is better user experience than just ignoring it and letting user wonder why the panel does not work. From one point of view, desensitization of the real name field would be better since otherwise, the user would carry out the action only to learn that it is not allowed. The error dialogue, on the other hand, can provide additional instructions. There would have to be a popover with explanation or something. Moreover, it does not look like AccountsService provides a method for obtaining the list of capabilities/allowed calls either.
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new bug report at https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/ Thank you for your understanding and your help.