FS#41092 - [xorg-xinit] installing broken defaults in /etc/skel
Attached to Project:
Arch Linux
Opened by Brian BIdulock (bidulock) - Friday, 04 July 2014, 23:27 GMT
Last edited by Andreas Radke (AndyRTR) - Monday, 16 March 2015, 18:18 GMT
Opened by Brian BIdulock (bidulock) - Friday, 04 July 2014, 23:27 GMT
Last edited by Andreas Radke (AndyRTR) - Monday, 16 March 2015, 18:18 GMT
|
Details
Description:
xorg-xinit PKGBUILD is installing two files in /etc/skel: .xinitrc and .xsession The .xinitrc installed for a new user breaks xinit and startx because it never launches a session and simply returns. The .xsession installed for a new user simply calls the install .xinitrc so it breaks xdm logins (and any other dm that uses ~/.xsession). If the .xinitrc file was not installed for a new user, xinit and startx would default to using /etc/X11/xinit/xinitrc which is fully functional by default and in the backups array. If the .xsession file was not installed for a new user, xdm would default to using /etc/X11/xinit/xinitrc as well. Fix: do not install files in /etc/skel in PKGBUILD. Additional info: * package version(s) xorg-xinit 1.3.3-3 * config and/or log files etc. Steps to reproduce: remove xorg-xinit and xorg-xdm create a new user A install xorg-xinit and xorg-xdm create a new user B log into console as new user B startx <= fails log into console as new user A startx <= succeeds start xdm.service log into xdm as new user B <= fails log into xdm as new user A <= succeeds |
This task depends upon
Closed by Andreas Radke (AndyRTR)
Monday, 16 March 2015, 18:18 GMT
Reason for closing: Fixed
Additional comments about closing: files removed in 1.3.4-2
Monday, 16 March 2015, 18:18 GMT
Reason for closing: Fixed
Additional comments about closing: files removed in 1.3.4-2
xsession file is a simple starting point X expects to be there. See here for some
more explenation:
http://manpages.ubuntu.com/manpages/lucid/man5/Xsession.5.html - no idea if Arch has such man page in some pkg.
I see no bug here.
"An important point is that programs which are run by .xinitrc should be run in the background if they do not exit right away, so that they don't prevent other programs from starting up. However, the last long-lived program started (usually a window manager or terminal emulator) should be left in the foreground so that the script won't exit (which indicates that the user is done and that xinit should exit)."
The install /etc/skel/.xinitrc file has the last long-lived program (exec gnome-session, exec startkde) commented out. This causes a return to xinit and the session is immediately torn down causing "user B" in the "steps to reproduce" fail to log in. If no /etc/skel/.xinitrc was installed, the default /etc/X11/xinit/xinitrc would run which is in the backups array and by default is functional: it ends with: twm & and exec xterm -geometry 80x66+0+0 -name login The session does not exit until the xterm is destroyed.
If the broken /etc/skel/.xinitrc and /etc/skel/.xsession were not installed, xdm and xinit both default to /etc/X11/xinit/xinitrc which is fine. As it is, these files break X logins from all quarters for new users. How is that not a bug?