basedir-spec: machine specific config files

Geoffrey Thomas geofft at MIT.EDU
Thu Sep 22 05:48:13 PDT 2011


On Thu, 22 Sep 2011, Niels Ole Salscheider wrote:

> Hello,
> 
> 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. 
> $XDG_MACHINE_HOME/some_machine_hash/.
> 
> 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.

Hi Ole,

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, 
~/.config.tablet?

(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.)

-- 
Geoffrey Thomas
geofft at mit.edu


More information about the xdg mailing list