basedir-spec: machine specific config files
geofft at MIT.EDU
Thu Sep 22 05:48:13 PDT 2011
On Thu, 22 Sep 2011, Niels Ole Salscheider wrote:
> I would like to propose to distinguish between machine specific and
> machine independent config files for the next basedir-spec. So machine
> dependent config files could be stored in e. g.
> This is beneficial for a home directory that is shared across several
> devices with different form factors. So the screen resolution, positions
> of desktop widgets, power settings, ... can be stored in the machine
> dependent directory while sharing all other settings.
> If you want to log from another client with the same hardware, you can
> still crate a symlink to some default directory.
Do you have a provision for handling hundreds of clients with the same
hardware? At the moment, for e.g. ~/.config/monitors.xml, the data is
keyed on monitor type (name, product ID, etc.), so it's possible to
configure your preferred resolution for e.g. all Dell 2407WFPs at once.
(Granted, in implementation this doesn't work amazingly and I've seen
people end up with monitors.xml files specifying 800x600 on all monitors
unconditionally, but that's an implementation bug, not a design flaw.)
In your proposal, there isn't actually a good way to make changes that
appear on the same hardware. We run 400+ networked machines with more or
less identical hardware (on purpose) with shared home directories. As
rooms get reconfigured, spaces change, etc., we might add or remove
machines at any time. The best solution I can see in your proposal is to
have a script to create 400+ symlinks hard-coding each machine hash.
Meanwhile, the current setup already works fine, so this wouldn't make
things any better in networked homedirs as we implement them.
Do you have a specific use case in mind? For devices with radically
different form factors, does it actually make sense to use the same home
directory (are you currently doing this)? And even if so, wouldn't it make
sense for some of those devices to just change $XDG_CONFIG_DIR to, say,
(By the way, were you to implement this, please see if using
/var/lib/dbus/machine-id instead of your own machine hash function will
meet your needs.)
geofft at mit.edu
More information about the xdg