Slim should not be executing xinitrc.d* prior to running /etc/Session/foo files. This causes xinitrc.d file to be executed twice.. which can cause issues. it also causes dbus and *kit modifications to $command variable to appear invalid For example with slim Xsession $command becomes exec dbus-launch --sh-syntax --exit-with-session /etc/Session/awesome but it in fact should be processed inside /etc/Session/awesome which results in exec dbus-launch --sh-syntax --exit-with-session /usr/bin/awesome the correct result.. Also depending on what your xinitrc.d* files are doing executing them twice can cause undesirable behavior.. It makes sense the /etc/X11/Session/* should be doing this, it also helps non - DM users, who will need these files processed.. please modify /usr/share/slim/Xsession and remove parsing of /etc/X11/xinit/xinitrc.d/* section Reproducible: Always
this bug also effects lxdm and lightdm
Do you have any reference as ro why yoi think the issue is with virtually all of the DM's in the portage tree rather than with the awesome /etc/X11/Sessions/ script? I havent done a full audit of all session scripts but the ones i have checked do not source the xinitrc.d files.
(In reply to Ian Stakenvicius from comment #2) > Do you have any reference as ro why yoi think the issue is with virtually > all of the DM's in the portage tree rather than with the awesome > /etc/X11/Sessions/ script? > > I havent done a full audit of all session scripts but the ones i have > checked do not source the xinitrc.d files. I originally agreed with you and filed the bug against awesome, https://bugs.gentoo.org/show_bug.cgi?id=498976 but it turns out that it makes sense for users of startx should want to run these files. This cannot occur with xinitrc.d/* being processed only by DM In the past /etc/X11/xinit/xinitrc.d/* just contained environment variable assignment, which wasn't a huge issue to execute twice. But lately it execute some processes.. without this proper distinction, these things execute twice. This bug post here also outlines a valid issue with dbus and DM execution of xnitrc.d/* unless the /usr/share/sessions/* file directly references an executable and not another shell script, dbus will modify the WM execution line improperly. I haven't checked all WM's for this behavior... not all WM's use Session files
(In reply to Harvey Mittens from comment #3) > (In reply to Ian Stakenvicius from comment #2) > > Do you have any reference as ro why yoi think the issue is with virtually > > all of the DM's in the portage tree rather than with the awesome > > /etc/X11/Sessions/ script? > > > > I havent done a full audit of all session scripts but the ones i have > > checked do not source the xinitrc.d files. > > I originally agreed with you and filed the bug against awesome, > > https://bugs.gentoo.org/show_bug.cgi?id=498976 > > but it turns out that it makes sense for users of startx should want to run > these files. This cannot occur with xinitrc.d/* being processed only by DM > Users of startx are already sourcing these files -- if you look at /etc/X11/xinit/xinitrc (which is used by xinit/startx) , it sources all of the xinitrc.d/* files. Slim doesn't use xinit, which is why these files need to be sourced by it's session script. However, I do think I see the issue now -- the double-sourcing is occurring because xinitrc.d/* is actually only supposed to run when $command *isn't* a session script (ie, isn't from /etc/X11/Sessions/). Since recently slim changed to use session *.desktop files by default instead of only /etc/X11/Sessions scripts, I expect this code is now running even when it shouldn't. I'll see if I can figure something out.