Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#47972 - [xdm-archlinux] Issues with user session after XDM login, these do not occur with xdm package

Attached to Project: Community Packages
Opened by Alain Kalker (ackalker) - Monday, 01 February 2016, 00:27 GMT
Last edited by Sergej Pupykin (sergej) - Monday, 01 February 2016, 16:48 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sergej Pupykin (sergej)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

When I log in using XDM with xdm-archlinux.service running, I'm experiencing issues with some commands related to the systemd user session which suggest that the session is not correctly registered with PAM and systemd.
These issues do not occur when I login with the xdm.service running.

I'm suspecting that the .../xdm-config from the xdm-archlinux package is somehow out of sync with that of the xdm package.

Comparing both xdm-config files, the most notable differences I found are that xdm-archlinux's xdm-config is missing the line:

DisplayManager.authDir: /var/lib/xdm

but there are other differences which could be important.


Additional info:
* package version(s)
xdm-archlinux 0.4-2
xorg-xdm 1.1.11-6
* config and/or log files etc.


Steps to reproduce:

Ensure xdm.service is enabled and active/running:

1. Login on VT1 (text mode session)
2. Login on VT2 using XDM
3. In a terminal window, run:
$ loginctl list-sessions # (note the session ID for the X session)
$ who
$ journalctl -b _SYSTEMD_SESSION=<session id of X session>

Now log out of the X session, in the text session on VT1 stop and disable xdm.service, then enable and start xdm-archlinux.service
Repeat steps 1 to 3

Actual results:

With xdm.service active/running:

- `loginctl list-sessions` shows both the text and X sessions
- `who` lists both sessions
- `journalctl -b _SYSTEMD_SESSION=<session id of X session>` shows log messages for the X session

With xdm-archlinux.service active/running:

- `loginctl list-sessions` shows both the text and XDM sessions
- `who` lists only the text session
- `journalctl -b _SYSTEMD_SESSION=<session id of X session>` shows no entries whatsoever

Expected results

The output of all commands should be similar and sensible (ignoring differences in process IDs, etc.), with either xdm.service or xdm-archlinux.service active/running.
This task depends upon

Closed by  Sergej Pupykin (sergej)
Monday, 01 February 2016, 16:48 GMT
Reason for closing:  Fixed
Comment by Alain Kalker (ackalker) - Monday, 01 February 2016, 00:33 GMT
Correction: xdm package -> xorg-xdm package. Oops.
Comment by Alain Kalker (ackalker) - Monday, 01 February 2016, 11:51 GMT
To add: I have not customized the configuration of xorg-xdm nor that of xdm-archlinux.
My ~/.xinitrc is a copy of /etc/X11/xinit/xinitrc, with the last few lines which start the clients replaced by

exec i3

I obtained a list of differences between the config of xorg-xdm and that of xdm-arch-linux by doing:

$ while read v1 v2; do echo $v1 $v2; done < /etc/X11/xdm/xdm-config | grep -v '^\(!\|$\)'|LC_ALL=C sort > xdm-config
$ while read v1 v2; do echo $v1 $v2; done < /etc/X11/xdm/archlinux/xdm-config | grep -v '^\(!\|$\)'|LC_ALL=C sort > xdm-config-archlinux
$ diff -u xdm-config{,-archlinux}
--- xdm-config 2016-02-01 12:39:35.259514910 +0100
+++ xdm-config-archlinux 2016-02-01 12:40:08.579312463 +0100
@@ -1,19 +1,15 @@
DisplayManager*authComplain: true
DisplayManager*authorize: true
DisplayManager*chooser: /usr/lib/X11/xdm/chooser
-DisplayManager*loginmoveInterval: 10
-DisplayManager*reset: /etc/X11/xdm/Xreset
-DisplayManager*resources: /etc/X11/xdm/Xresources
+DisplayManager*resources: /etc/X11/xdm/archlinux/Xresources
DisplayManager*session: /etc/X11/xdm/Xsession
-DisplayManager*startup: /etc/X11/xdm/Xstartup
DisplayManager._0.reset: /etc/X11/xdm/TakeConsole
-DisplayManager._0.setup: /etc/X11/xdm/Xsetup_0
-DisplayManager._0.startup: /etc/X11/xdm/GiveConsole
+DisplayManager._0.setup: /etc/X11/xdm/archlinux/Xsetup
+DisplayManager._0.startup: /etc/X11/xdm/archlinux/Xstartup
DisplayManager.accessFile: /etc/X11/xdm/Xaccess
-DisplayManager.authDir: /var/lib/xdm
DisplayManager.errorLogFile: /var/log/xdm.log
DisplayManager.keyFile: /etc/X11/xdm/xdm-keys
DisplayManager.pidFile: /var/run/xdm.pid
DisplayManager.requestPort: 0
DisplayManager.servers: /etc/X11/xdm/Xservers
-DisplayManager.willing: su nobody -s /bin/sh -c /etc/X11/xdm/Xwilling
+DisplayManager.willing: su nobody -c /etc/X11/xdm/Xwilling

I think that for better maintainability it is better to simply copy /etc/X11/xdm/xdm-config to /etc/X11/xdm/archlinux/xdm-config and apply the Arch Linux theming to that. If there are any changes to upstream xdm-config, a simple `diff -u` will point them out.

Loading...