Take the 2-minute tour ×
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.

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
    
Are you using something like startx to start X? I don't think your .xinitrc will be read if you are using a login manager. –  phunehehe May 28 '13 at 15:38
    
@phunehehe I'm using ubuntu 13.04 64 bit –  user2384250 May 28 '13 at 15:44
    
Then you are using Ubuntu's default login manager (lightdm). You may want to add a start-up application instead. –  phunehehe May 28 '13 at 15:48
    
@phunehehe thanks –  user2384250 May 28 '13 at 15:53
add comment

2 Answers

~/.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
add comment

.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
add comment

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.