** 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

Reply via email to