[Bug 2035122] Re: Under ubuntu core/core-desktop, /etc/default/locale is not modifiable
Launchpad Bug Tracker
2035122 at bugs.launchpad.net
Mon Jan 22 17:24:15 UTC 2024
This bug was fixed in the package systemd - 249.11-0ubuntu3.12
---------------
systemd (249.11-0ubuntu3.12) jammy; urgency=medium
* core/device: ignore DEVICE_FOUND_UDEV bit on switching root (LP: #2037281)
File: debian/patches/lp2037281-core-device-ignore-DEVICE_FOUND_UDEV-bit-on-switching-roo.patch
https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=00f86f0b20f794f30aabe7181912d2ec2207e292
* use read-only /etc hack in more places (LP: #2035122)
File: debian/patches/debian/UBUNTU-Support-system-image-read-only-etc.patch
https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=c57406e850396a5d446aefe5e70a3aeaad080d72
* autopkgtest: do not allow qemu to be used on ppc64el.
Almost every run on ppc64el takes 12 to 24 hours, so do this as a last
resort to relieve pressure on autopkgtest infrastructure.
File: debian/tests/upstream
https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=d125a1ed3f01e59dba2f370c13801bfb76c16f5d
-- Nick Rosbrook <enr0n at ubuntu.com> Tue, 21 Nov 2023 15:57:17 -0500
** Changed in: systemd (Ubuntu Jammy)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/2035122
Title:
Under ubuntu core/core-desktop, /etc/default/locale is not modifiable
Status in systemd package in Ubuntu:
New
Status in systemd source package in Jammy:
Fix Released
Status in systemd source package in Lunar:
Won't Fix
Status in systemd source package in Mantic:
Won't Fix
Bug description:
[Impact]
When working with ubuntu core or ubuntu core desktop, neither
*/etc/default/locale* nor */etc/default/keyboard* are modifiable, so
it's not possible to set the global keyboard or the global language.
This is required to allow to set the GDM language, and the default one
during installation.
The first half of the solution is to create the folder
*/etc/writable/default*, and make soft-links from
*/etc/default/locale* to */etc/writable/default/locale* and from
*/etc/default/keyboard* to */etc/writable/default/keyboard*, just like
it is already being done with */etc/hostname*, */etc/issue*,
*/etc/localtime*, */etc/motd* and , */etc/timezone*.
This solution, unfortunately, isn't complete. Although any application
that just reads the files will work, not all of the applications that
write to them will; specifically the systemd utilities that set the
contents for those files, because they don't open the file directly;
instead, they create first the new file in the same folder than the
old one, fill its contents, and only then delete the old one and
rename the new one. To solve this, systemd in Ubuntu already has
several patches that detect if a file is a soft-link, in which case it
replaces the old path with the destination one.
Currently I have in place a patch for Ubuntu Core Desktop that
implements both changes for both */etc/default/locale* and
*/etc/default/keyboard*.
[Test plan]
Using *sudo localectl set-locale xx_YY.UTF-8* in an Ubuntu Core or
Ubuntu Core Desktop admin terminal must change the locale to the
specified one, which can be checked by reading the
*/etc/default/locale* file. Also, *localectl* must return the new
locale.
Using *sudo dbus-send --system --print-reply
--dest=org.freedesktop.locale1 /org/freedesktop/locale1
org.freedesktop.locale1.SetX11Keyboard string:XX string:pc10Y string:
string: boolean:true boolean:false" must change the
*/etc/default/keyboard* file to layout XX and model PC10Y (being Y
either 1, 2, 4 or 5). Reading the file allows to check it. Also,
*localectl status* must return the layout and model values in "X11
Layout" and "X11 Model" entries.
[Where problems could occur]
In general, applications just read the content of the file and use the
DBus interface to set the locale, so only those applications that
modify by themselves the */etc/default/keyboard* and/or
*/etc/default/locale* would present a problem, in which case they
would require specific patches. Anyway, those applications neither
would work with the current state (with those files in a read-only
filesystem).
[Other info]
For Noble, this will be addressed when we merge systemd v255 from
Debian. This is only needed on core, so we don't need to fix for
Mantic or Lunar.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2035122/+subscriptions
More information about the foundations-bugs
mailing list