What is the purpose of the
.xsession file in the home folder? What should be put in there? The desktop environments don't use that file and for the X startup from the tty there is
If you log in in text mode then start a GUI session with xinit or with the wrapper script
xinit does the following things:
- Start an X server (typically through the script
- Usually run some scripts in
/etc/X11/xinit/xinitrc), depending on how it's set up.
~/.xinitrc, if it exists. If it doesn't exist, run a default client (traditionally
~/.xinitrcterminates, kill the X server.
If you log in in graphical mode on an X display manager (xdm, gdm, kdm, wdm, lightdm, …), traditionally, what is executed after you log in is some scripts in
~/.xsession has the role of
~/.xinitrc combined: it's supposed to perform the initial startup of your session (e.g. define environment variables), then launch programs specific to the GUI (usually at least window manager).
Nowadays, most X display managers give you a choice of a session. Choosing a particular session launched a specific desktop environment, session manager, window manager. What is executed then is only that DE/SM/WM and whatever programs it chooses to start based on whatever configuration files it chooses to read. Many environments provide a “custom session” that reads the traditional
X session startup can be complicated these days. A good place to start is the script
/etc/X11/Xsession to see how things will get executed.
On my Debian/Ubuntu systems, the script
/etc/X11/Xsession sets the variable
USERXSESSION=$HOME/.xsession. Later, the script
/etc/X11/Xsession.d/50x11-common_determine-startup looks for this script and uses it as the primary session, if allowed by system policy in
/etc/X11/Xsession.options, and if no other session was requested by the display manager.
I strongly recommend you to take a look in the book X Window system administrator's guide : for X version 11. Chapter 2 explains the purpose of
.xsession and the whole configuration process for a sample setup. Also it's a nice refresher for the whole x-window related terminology (and i hope you don't get spooked :) ). You can get the book from
Although it's rather outdated you can find a lot of information of the underlying concepts that didn't change until today and it is very legible. Moreover it is really funny to take a look at what was top notch at those days.
.xsession is the traditional startscript for the X11 environment. Nowadays with sessionmanagers like kdm it is not that much of a use anymore, but on a traditionaly set up system. This is what is run after starting X11 with startx.
protected by Stephen Kitt Jan 29 at 21:40
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?