So I installed and am properly using xbindkeys. The problem is that I must manually start this process each time I start my system. I read more into the wiki and found there is a method one can exploit to auto-start this process - editing ~/.xinitrc. So, I went into that directory and did not find such a file. I then jumped over to the xinitrc wiki to read more about this file.

Apparently, this file apparently is a script read by the startx/xinit program that is ran to start basic working environment - or a desktop environment if installed and explicitely coded in the script. From this wiki page it reads that:

In the absence of ~/.xinitrc, startx/xinit defaults to parsing the global file /etc/X11/xinit/xinitrc, which starts a basic environment with the Twm window manager, Xclock and Xterm.

It seems confusing considering that I have cinnamon installed as my default desktop environment which is started each time I login - but apparently without the use of .xinitrc to dictate that. Unless my display manager is starting cinnamon behind-the-scenes I am not quite sure how this is all working.

The point: The reason I bring all that up is because the second link above (method) requires that I edit a file that does not exist, yet the same file is said to be required by the last link (this wiki) since my desktop, non-basic, is started on log-in. What is happening here?

1 Answer 1


startx and ~/.xinitrc isn't the only method of starting an X11 environment. Most desktop environments come with a "display manager" daemon which automatically starts Xorg on all available monitors, and shows a graphical login screen.

While some display managers do try to run ~/.xinitrc themselves, most DMs take the list of available "sessions" from /usr/share/xsessions/*.desktop.

As for the other question – starting programs when the desktop environment starts – there usualy are two methods, as in my earlier post:

  • According to the XDG Autostart specification, the desktop environment's "session manager" (e.g. cinnamon-session) will read the programs from ~/.config/autostart/*.desktop. You can manage them using cinnamon-session-properties.

  • Some display managers will read the ~/.xprofile script, which works similarly to ~/.xinitrc but without starting a window manager (as that's already done by the session manager).

  • 1
    You must be one of very few in this niche of stack exchange! I do recall reading your answer to that question - that is where I got the idea to use .xinitrc. It was just that after reading into that file I was slightly confused as to how it all was working.
    – sherrellbc
    May 22, 2014 at 17:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.