splitting up xfce's xinitrc

Brian J. Tarricone bjt23 at cornell.edu
Thu Jul 7 10:15:31 CEST 2005

Hash: SHA1

Hey all,

I've been thinking a bit about the state of our xinitrc file, and, as
we've discussed before, it has a couple problems:

1) If we add something to it that's essential for some bit of Xfce to
work properly, and a user has a custom xinitrc, then something will
break for them.

2) Users often have trouble understanding how the xinitrc file works
depending on whether or not xfce4-session is installed.

I can't really think of anything to do about #2.  Personally, I'd like
to make non-session-manager-ness deprecated and tell people if they want
to do that, they're on their own.  But whatever.

But for #1, I have an idea.  It sucks because it makes the startup
process slightly more complicated.  But here's the idea.

We have $sysconfdir/xdg/xfce4/xinitrc.base.  The 'startxfce4' script
will run this script as the argument to xinit.  This file contains the
important stuff that has to happen, like setting the Xft-related
Xresources.  This file is *not* overrideable by the user.  So if a user
copies it to ~/.config/xfce4/xinitrc.base and modifies it, this has no
effect.  The one in $sysconfdir still gets run.

Then, at the end of xinitrc.base, we have the decision to either run
~/.config/xfce4/xinitrc, or, if that doesn't exist,
$sysconfdir/xdg/xfce4/xinitrc.  This file contains all the other stuff:
starting xscreensaver, ssh-agent, dbus-launch (which we may move into
xinitrc.base if it becomes required), and then finish up with either
launching xfce4-session, or the individual components.

So, in short, it looks like this:

* $bindir/startxfce4 ->
  * $sysconfdir/xdg/xfce4/xinitrc.base ->
    * choice:
      > ~/.config/xfce4/xinitrc
      > $sysconfdir/xdg/xfce4/xinitrc

What do people think?


Version: GnuPG v1.4.1 (GNU/Linux)


More information about the Xfce4-dev mailing list