unowned /usr/share/glib-2.0/schemas/20_ubuntu-desktop-installer-interface.gschema.override after desktop install
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-desktop-provision |
Triaged
|
Medium
|
Unassigned |
Bug Description
After a classic install (no tpm fde) using the 20230825.2 canary image, I have a file
/usr/share/
The contents of the file are:
$ cat /mnt/2/
[org.gnome.
color-scheme=
gtk-theme='Yaru'
$
I do not remember if the non-canary image prompted me for a theme preference, or if I made the same selection on the non-canary image. However, the installer should not be writing files under /usr to the target system; /usr is owned by the package manager. Overrides need to be written somewhere else, one of /home, /var, /etc in decreasing order of preference (the theme selection should IMHO only apply to the initial user and not to further users on the system who are added post-install).
On both canary and daily-live, I also see a file /usr/share/
$ cat /mnt/2/
[org.gnome.
maximize=@as []
unmaximize=@as []
$
I have no idea what this file is for.
tags: | added: fde |
description: | updated |
affects: | ubuntu-desktop-installer → ubuntu-desktop-provision |
summary: |
unowned /usr/share/glib-2.0/schemas/20_ubuntu-desktop-installer- - interface.gschema.override after canary install + interface.gschema.override after desktop install |
This is done by ubuntu- desktop- installer/ snap/local/ postinst. d/10_override_ desktop_ settings and four files are created this way:
```
#!/bin/sh
set -e
user=ubuntu schemas= /usr/share/ glib-2. 0/schemas schemas= $target/ $source_ schemas
target=/target
source_
target_
if [ ! -d $source_schemas ] || [ ! -d $target_schemas ] || ! id $user >/dev/null 2>&1; then
exit
fi
dconf_dump() { schema= $target_ schemas/ 20_ubuntu- desktop- installer- $1.gschema. override desktop/ $1/ > $target_schema desktop. $1.foo: ubuntu] [^/]*)\ ]/\[org. gnome.desktop. $1.\1:ubuntu\ ]/g" $target_schema desktop. $1:ubuntu] /\]$/\[ org.gnome. desktop. $1:ubuntu\ ]/g" $target_schema
target_
sudo -u $user dconf dump /org/gnome/
# - [foo] -> [org.gnome.
sed -i -E "s/^\[(
# - [/] -> [org.gnome.
sed -i -E "s/^\[\
[ -s $target_schema ] || rm $target_schema
}
dconf_dump a11y
dconf_dump interface
dconf_dump peripherals
dconf_dump wm
glib-compile- schemas $target_schemas
```