On Sat 08 Nov 2014 at 07:16:41 -1000, Joel Roth wrote: > On Sat, Nov 08, 2014 at 04:17:21PM +0000, Brian wrote: > > On Sat 08 Nov 2014 at 06:02:00 -1000, Joel Roth wrote: > > > > > Do you have a reference about .xinitrc vs. .xsession? > > > > Lots. :). Fortunately, startx(1) has now been altered to read: > > > > Note that in the Debian system, what many people traditionally put in the > > .xini‐ > > trc file should go in .xsession instead; this permits the same X > > environment to > > be presented whether startx, xdm, or xinit is used to start the X > > session. All > > discussion of the .xinitrc file in the xinit(1) manual page applies > > equally well > > to .xsession. Keep in mind that .xinitrc is used only by xinit(1) > > and com‐ > > pletely ignored by xdm(1). > > Thanks, that is very helpful. Now, for the first time, I'm > looking through the shell scripts in /etc/X11. A lot of > stuff related to input methods is here. > > > Basically, the files in /etc/X11/Xsession.d are not used with .xinitrc. > > Perhaps this applies to login managers such as xdm, gdm, not > startx?
No, it applies equally to startx. If there is no ~/.xinitrc (and unless there are special circumstances there shouldn't be) the system-wide xinitrc in /etc/X11/xinit is used. Should ~/.xinitrc exist xinitrc is not used. A decent example is Xfce on Wheezy. Startx requires co-operation from a consolekit script in Xsession.d for a user to be able to shutdown the machine and do other things for which permission is normally required. With ~/.xinitrc that script isn't sourced. > According to the comment in /etc/X11/Xsession, which loads > the runs the scripts in /etc/X11/Xsession.d: > > # global Xsession file -- used by display managers and xinit (startx) > > And /etc/X11/xinit/xinitrc: > > # global xinitrc file, used by all X sessions started by xinit (startx) > > # invoke global X session script > . /etc/X11/Xsession > > It's not obvious to me what the initial dot '.' > accomplishes. '.' means 'source'. It is a bash builtin so 'help source' for its function. If Xsession is executed instead of sourced it is run in a sub-shell. When the command terminates the sub-shell disappears and so do any variables created or modified by the executed script. These variables (for example, 'USERXSESSION=$HOME/.xsession') remain available after the script completes when it is sourced. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20141108181024.gc3...@copernicus.demon.co.uk