Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a ~/.xinitrc with the following content

xrdb -merge $HOME/.Xdefaults

this xinitrc is basically useless because it's not loaded when the user logs in, I don't think that I'm doing something wrong because the same command works on the bash, my question is: does xinitrc recognize the environment variables?

share|improve this question

~/.xinitrc is only read if you start X11 with startx (or anything that calls xinit). If you log in in graphics mode, the display manager chooses a session to start. Each session manager or desktop environment has its own startup script(s), if any.

Most systems automatically load resources from ~/.Xresources as part of the default X11 startup scripts. Try renaming your resources file to ~/.Xresources.

share|improve this answer

.xinitrc is exectued when you explicitly run xinit (startx ultimately calls xinit)to start an X-server. Mostly this doesn't happen as current Linuxes use desktop managers, which diretly start a X-Server and then run /etc/X11/Xsession <desktopenvironment>, where <desktopenvironment> is the value of any line Exec= from a file in /usr/share/xsessions, for instance

Exec=startxfce4

if you selected XFCE as sessiontype.

On at least Debian based systems the scripts in /etc/X11/Xsession.d/ are sourced (!) in order. Mostly all these scripts set stuff up and/or modify a variable STARTUP which is eventually used in the line

exec $STARTUP

So technically you could write a /usr/share/xsession/xinitrc.desktop file which lets you select a session which will run ~/.xinitrc.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.
{"cc_re__cc_re__cc_by_sa_3_0": ["                    <li><a href=\"//area51.stackexchange.com\" title=\"proposing new sites in the Stack Exchange network\">Area 51</a></li>\r\n                        <li><a href=\"//careers.stackoverflow.com\">Stack Overflow Careers</a></li>\r\n                    \r\n                </ol>\r\n            </td>\r\n    </tr>\r\n</table>\r\n                </div>\r\n            </div>\r\n            <div id=\"copyright\">\r\n                site design / logo &#169; 2016 Stack Exchange Inc; user contributions licensed under <a href=\"https://creativecommons.org/licenses/by-sa/3.0/\" rel=\"license\">cc by-sa 3.0</a> \r\n                with <a href=\"http://blog.stackoverflow.com/2009/06/attribution-required/\" rel=\"license\">attribution required</a>\r\n            </div>\r\n            <div id=\"svnrev\">\r\n                rev 2016.5.27.3620\r\n            </div>\r\n                <div id=\"additional-notices\">\r\n                    Linux is a registered trademark of Linus Torvalds. UNIX is a registered trademark of The Open Group. <br>This site is not affiliated with Linus Torvalds or The Open Group in an"], "copyright__copyright__copyright": ["sourced (!) in order. Mostly all these scripts set stuff up and/or modify a variable STARTUP which is eventually used in the line\n\nexec $STARTUP\n\nSo technically you could write a /usr/share/xsession/xinitrc.desktop file which lets you select a session which will run ~/.xinitrc.\n\nshare|improve this answer\n\nYour Answer\n\n\u00a0\ndiscard\n\nBy posting your answer, you agree to the privacy policy and terms of service.\n\nNot the answer you're looking for? Browse other questions tagged or ask your own question."]}