** Description changed: + Impact + ------ + + Files in the /etc/X11/Xresources directory stopped being automatically + loaded into the X resource database by GDM. + + This typically causes changes in the user interface of multiple + programs; There are also parameters for fonts, including sclaing + (Xft.dpi) and mouse pointer size (XCursor.size). There is of course no + exhaustively listing the impact as each program can use arbitrary + entries in the database and alter its behavior as desired, not only + limited to the GUI (e.g. XTerm*saveLines). + + Test case + --------- + + *Install the GDM update from proposed. + *Create the file /etc/X11/Xresources/m with the following contents: + XTerm*Foreground: white + XTerm*Background: darkblue + *[This will kill your graphical session in a standard Ubuntu setup] Execute 'systemctl restart gdm'. + *Log in as usual. + *Start XTerm. + + XTerm launches, has a dark blue background and a white font. + + Regression potential + -------------------- + + The main potential here is that files in that directory that were not + loaded before (because they did not match a pattern) would now be. + + Original report + --------------- + After upgrading from 21.04 to 21.10, my /etc/X11/Xresources/ directory no longer loads on login. Looking at the sources, I think this can be traced to: - - Switching from a custom Xsession file to the upstream Xsession file in 3.38.0-1ubuntu1, combined with - - An oversight in `debian/patches/ubuntu/xresources_is_a_dir.patch` + - Switching from a custom Xsession file to the upstream Xsession file in 3.38.0-1ubuntu1, combined with + - An oversight in `debian/patches/ubuntu/xresources_is_a_dir.patch` Looking at [that patch](https://salsa.debian.org/gnome- team/gdm/-/blob/ubuntu/master/debian/patches/ubuntu/xresources_is_a_dir.patch), it has: ```diff --- a/data/Xsession.in +++ b/data/Xsession.in @@ -122,6 +122,13 @@ fi - - if [ -f "$sysresources" ]; then - xrdb -nocpp -merge "$sysresources" + + if [ -f "$sysresources" ]; then + xrdb -nocpp -merge "$sysresources" +elif [ -d "$sysresources" ]; then + # directory of Xresources files on Debian/Ubuntu + for i in `ls "$sysresources"` ; do + if [ -r "$sysresources/$i" -a -f "$sysresources/$i" ] && expr "$i" : '^[[:alnum:]_-]\+$' > /dev/null; then + xrdb -nocpp -merge "$sysresources/$i" + fi + done - fi - - if [ -f "$userresources" ]; then + fi + + if [ -f "$userresources" ]; then ``` However, looking a few lines further up in [the original Xsession.in file](https://salsa.debian.org/gnome- team/gdm/-/blob/ubuntu/master/data/Xsession.in#L97), I see: ```sh if [ -f /etc/X11/Xresources ]; then - sysresources=/etc/X11/Xresources + sysresources=/etc/X11/Xresources else - sysresources=/usr/etc/X11/Xresources + sysresources=/usr/etc/X11/Xresources fi ``` In other words, if `/etc/X11/Xresources` is a directory, the `sysresources` variable is never set correctly, so the patch should also modify this part of the script. I have observed this broken behavior on version 41~rc-0ubuntu2, but looking at the ubuntu/master branch (as linked above), it still seems broken there. I'm currently testing this patch: ```diff --- Xsession.orig 2021-12-27 22:05:09.038863375 +0100 +++ Xsession 2021-12-27 22:05:33.143057433 +0100 @@ -111,7 +111,7 @@ - usermodmap="$HOME/.Xmodmap" - userxkbmap="$HOME/.Xkbmap" - + usermodmap="$HOME/.Xmodmap" + userxkbmap="$HOME/.Xkbmap" + -if [ -f /etc/X11/Xresources ]; then +if [ -e /etc/X11/Xresources ]; then - sysresources=/etc/X11/Xresources - else - sysresources=/usr/etc/X11/Xresources + sysresources=/etc/X11/Xresources + else + sysresources=/usr/etc/X11/Xresources ``` I don't know if it works yet, since I need to log out for that, and close my browser, so need to submit this report first ;-) ``` $ lsb_release -rd Description: Ubuntu 21.10 Release: 21.10 $ apt-cache policy gdm3 gdm3: - Installed: 41~rc-0ubuntu2 - Candidate: 41~rc-0ubuntu2 - Version table: - *** 41~rc-0ubuntu2 500 - 500 http://nl.archive.ubuntu.com/ubuntu impish/main amd64 Packages - 100 /var/lib/dpkg/status + Installed: 41~rc-0ubuntu2 + Candidate: 41~rc-0ubuntu2 + Version table: + *** 41~rc-0ubuntu2 500 + 500 http://nl.archive.ubuntu.com/ubuntu impish/main amd64 Packages + 100 /var/lib/dpkg/status ```
** Changed in: gdm3 (Ubuntu Noble) Importance: Undecided => Low ** Changed in: gdm3 (Ubuntu Oracular) Importance: Undecided => Low -- You received this bug notification because you are a member of Ubuntu Desktop Bugs, which is subscribed to gdm3 in Ubuntu. https://bugs.launchpad.net/bugs/1955850 Title: /etc/X11/Xresources no longer loaded, error in patch To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gdm3/+bug/1955850/+subscriptions -- desktop-bugs mailing list desktop-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/desktop-bugs