Hello, I’m contacting you on behalf of the Anaconda team to raise awareness that Anaconda has to change the backend which is used to control keyboard configuration of the Live environment. That means that we will depend on the org.freedesktop.locale1 D-Bus API and we are contacting you with a request to support this API. Currently Anaconda depends on libXklavier library, however, we are forced to migrated from this solution to Wayland compatible solution for various reasons:
Also, the Anaconda team got a lot smaller, so we are not in position to maintain both solutions based on the system. That would get us into more bugs in the future which we don’t have capacity to resolve. For that reason we are requesting all the SIGs owning spins on Fedora to implement support which will reflect this DBus API to the Live environment. More precisely, this API will be used by Anaconda to read and change the currently set keyboard layout configuration on Live media. Your Live environment should reflect on these changes and apply them to the running Live environment. I’ll create a system wide change soon to connect all the parties in one place but we wanted to reach all of you beforehand.
What you need to do:
For more information please see this https://www.freedesktop.org/software/systemd/man/latest/org.freedesktop.locale1.html
We would like to get these changes together with Wayland to switch to Fedora 41 if possible. In case you won’t be able to add support for the DBus service, we will solve this situation with the same approach as described in bug above which means that Anaconda won’t be controlling your system keyboard configuration in the Live environment and users will be requested to set this in the Anaconda for the installed system only.
We are sorry for the inconvenience and we will try to help you with this migration process.
A note, this change is already in progress: https://gitlab.gnome.org/GNOME/gnome-kiosk/-/merge_requests/39
Metadata Update from @ngompa: - Issue set to the milestone: Fedora 41 - Issue tagged with: experience, installation
It looks like this was done for GNOME Kiosk in GNOME 46, and the remaining thing to do is to add it to GNOME Shell for GNOME 47.
Yes, to my understanding there is missing Javascript code to make this working on Gnome Shell. We were already talking about this during the Wayland migration.
Yes, GNOME Kiosk is ready. As explained in the merge request, when no session configuration is available, i.e, gsettings set org.gnome.desktop.input-sources sources "[]", system configuration (org.freedesktop.locale1) is used.
gsettings set org.gnome.desktop.input-sources sources "[]"
org.freedesktop.locale1
GNOME Shell could follow the same or it could follow a KDE like approach, allowing to opt-in using an environment variable or a command line argument.
org.freedesktop.locale1 is already used in GDM: https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/status/keyboard.js#L364
if (Main.sessionMode.isGreeter) this._settings = new InputSourceSystemSettings(); else this._settings = new InputSourceSessionSettings();
One easy way to implement it would be changing the first if to if (Main.sessionMode.isGreeter || <opt_in_condition>), but of course, the final implementation needs to be discussed with the community upstream.
if (Main.sessionMode.isGreeter || <opt_in_condition>)
Hi, just for the record, I asked @catanzaro to bring this to Gnome upstream.
Upstream issue report
Metadata Update from @catanzaro: - Issue tagged with: meeting-request
Metadata Update from @ngompa: - Issue untagged with: meeting-request - Issue tagged with: meeting
Workstation WG discussed this today and we agree that the Anaconda developers' plan seems good to us, though some details need to be worked out.
We'd like to see this implemented upstream.
Metadata Update from @catanzaro: - Issue untagged with: meeting
Log in to comment on this ticket.