On Wed, 2006-03-01 at 12:10 -0800, Brian Cameron wrote: > James: > > >> Simply copying the user's /etc/gdm/gdm.conf file to /etc/gdm/custom.conf > >> will workaround the problem until I correct it in the next release of > >> GDM. > >> > >> Again, apologies for the trouble. > > > > The problem is that everything FUSA currently reads from the config file > > (exceptions, min/max uid, global face dir, max user filesize, and allow > > root) are no longer reliably stored in one file anymore. The config file > > location is already compile-time configurable, but as you mentioned, the > > *intended* use is to keep everything possible in default.conf, with an > > almost-blank custom.conf that overrides a few values. > > > > I probably overreacted by suggesting that FUSA get pulled, but if > > there's a pretty obvious bug with recent GDMs (namely a totally > > uncontrollable user list), then I'm willing to hold off until 2.16. That > > said, I'll try to get the fix done by the end of this week and see what > > the release team thinks. > > I think I understand what your problem is, now. Is FUSA trying to > read the GDM configuration files directly? If so, I would very much > recommond *not* doing this. It is likely that the configuration > format in GDM will get futher complicated in the future. There is a > GDM bug where people are asking to be able to set [server-foo] > specific key/values that would override the default and custom values. > Not really sure how this would work, but someone may provide a patch > for that someday and make it even harder to parse. Yes, it is reading the configuration file directly, from C, via glib's GKeyFile API (generalized successor to the gnome_config code, which in turn was the starting point for the ve_config API) for ini-style configs. The location of the file is defined compile-time. The only exec() calls in the applet are for the external apps in the right-click menu (gdmsetup, gnome-about-me, and users-admin). FUSA also monitors the config file and /etc/passwd for changes to try and keep the menu up-to-date with the GDM configuration and available users (editing either should result in instant-apply across all users' desktops). In other words, FUSA is all C, and nestled quite closely with GDM's face-browser config. This is why splitting the config files broke things in a bad way. It's also why I was temporarily insane after being told "it doesn't work" the day after entering code freeze. My own fault, but it's a pretty obvious regression, pretty late in the game :-). > The better way to get config data is to call the following command > (using the gui/Include key as an example): > > gdmflexiserver --command="GET_CONFIG gui/Include" Yes, and: 1.) It's an even bigger waste to exec gdmflexiserver than it is to just read the file(s) myself, particularly when 2.) GET_CONFIG didn't used to work. I know, I tried to use it at first, but gave up because 3.) The socket doesn't appear to provide change-notification. Not the end of the world (in that only an admin can change the settings), but still worse than monitoring a config file. > Does this make your problem easier to fix? This is a much more > stable mechanism for getting config data from GDM and should be > easier for you to fix than writing a bunch of code to parse the > config files. > > Brian Updating the backend to just talk to the daemon was what I was going to concentrate on after 2.14, when I could freely do large changes like that, because breaking things temporarily, and requiring GDM 2.13.0.8+ would be less of an issue during the unstable 2.15 cycle. For now I'll just try to read the default.conf location from the socket parse it, and monitor & merge custom.conf/gdm.conf as it is now. If GET_CONFIG_FILE comes back ERROR, I'll just assume everything is in custom/gdm.conf. It sucks, but it'll work with newer GDMs, assuming these changes are the only one's I'll have to deal with for the 2.14 series. Which leads me to the Big Question: Is it reasonable to assume that the current config scheme will remain stable through the GDM 2.14 series? -- Peace, James Cape http://ignore-your.tv/ http://blog.ignore-your.tv/ "The greatest kick is the sense of being in the vortex of social change." -- Harvey Wesserman
Attachment:
signature.asc
Description: This is a digitally signed message part