It used to be the case (since the XFree86 days and maybe earlier) that X server configuration files are to be found under /etc; namely in /etc/Xorg. However, recent distributions (at least, recent Arch and Debian) put it under /usr/share/X11. Why is that? Doesn't host-level configuration belong under /etc ?


From man 5 xorg.conf, after describing a whole lot of locations under /etc:

   Finally, configuration files will also be searched for in  a  directory
   reserved  for system use.  This is to separate configuration files from
   the vendor or 3rd party packages from those  of  local  administration.
   These files are found in the following directory:


So if you want to make a local adjustment, copy a file from /usr/share/X11 to its appropriate place under /etc. If these files would be updated from your vendor, your local, system wide configuration will not be overridden.

  • So, you're saying /usr/share/X11 are package defaults while /etc/X11/ are local modifications? Also - why is this now the case when previously it wasn't? And considering the fact this convention is not very popular with other packages, which simply install their default settings under /etc and let you modify them? – einpoklum Jan 10 '16 at 12:20
  • @einpoklum It's an improvement. Instead of local settings being drowned in thousands of lines of boilerplate, the default settings go to /usr and the local overrides go to /etc. It's actually the way it should be, and many packages do follow this convention — maybe you didn't notice because you never went to look for configuration files and libraries under /usr. – Gilles Jan 10 '16 at 22:53

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.