[gdm-list] Proposed interface changes




GDM interested people:

We just released GDM 2.18 with lots of nice improvements.  I hope
people are enjoying the new features.  We are working to integrate
more neat features into 2.19.

There are some interface changes in GDM I would like to propose.  I plan
on making these changes in GDM 2.19 unless I hear negative feedback.  If
I don't get any response, I'll assume that this is approval.  If you
have better ideas how to fix any of these issues, please share.

1) Deprecate AlwaysRestartServer configuration option.

   Enhancement Request 326771

   This enhancement allows you to specify additional Xserver arguments
   in the desktop file using the X-Gdm-XserverArgs key.  This would
   be useful because environments (such as users who need a11y) might
   work better with certain extensions enabled which can be specified on
   the command line.  Likewise, certain desktops might require special
   arguments (I believe LookingGlass, for example, requires special
   extensions).

   Specifying additional arguments in the desktop file allows the user
   to create additional GDM sessions which cause GDM to run the Xserver
   in a special way.  Currently GDM only allows you to specify Xserver
   args per display.

   However, the above enhancement is hard to make work with
   AlwaysRestartServer because once you allow the extensions to change
   per-session, you need to restart when the extensions change.  Adding
   logic to make sure the daemon remembers whether it needs to restart
   the server would be cumbersome.

   AlwaysRestartServer is a dodgy configuration setting because it
   exposes the user to all sorts of problems when set to true.  Since
   it causes GDM to re-use the Xserver for each session, any memory
   leaks or instabilities in the Xserver could easily cause problems
   for users who run GDM for long periods of time.  For users who
   run GDM for long periods of time, any performance advantages made by
   reusing the Xserver could easily be lost by memory leaks affecting
   your performance, etc.

   I recommend we deprecate this key, remove all references to it in
   the code, but leave it in the config file with a comment explaining
   that the value is ignored.  GDM should always restart server.

2) Deprecate PidFile configuration option

   Bug 162849

   GDM currently saves the PID value of the daemon in the file specified
   in your configuration as PidFile (/var/run/gdm.pid.  This filename
   can be configured.  The Fast User Switch applet does not use this
   interface.  This Pid is only used by other GDM clients who want
   to know if the daemon is running or to kill/restart the daemon.

   I would like to hardcode this to /var/run/gdm.pid, so that all
   clients know where to find the PidFile without needing to first
   query the configuration.  Since you need to use the GDM socket
   to get configuration data, you currently find out that the
   daemon isn't available when the socket connection fails, which
   is broken.  Currently you have to wait for the connection to
   fail 5 times with a 1 second delay between tries.  If the
   location were hardcoded, then the client programs could easily
   see if the daemon is running without needing to access configuration.

   I recommend we deprecate this key, remove all references to it in
   the code, and make GET_CONFIG command return the hardcoded string
   if a client requests the PidFile key.

3) /var/lib/log/gdm and /var/lib/gdm.

   Sun's ARC community has complained that /var/lib is a stupid
   place to put files, and that the semantics of /var/lib are ill
   defined.  GDM is one of the only programs that uses this
   directory.

   I'd like to move the following 2 directories.  Note these are
   both already configurable in the GDM configuration, so any
   client program that accesses these should already be first getting
   the configuration key to know what directory to find them.

   /var/lib/gdm

      This directory contains xauth files, and is typically only
      used by GDM directly.  This directory is associated with the
      ServAuthDir key in the configuration file.

      I recommend we move /var/lib/gdm     to /var/gdm/auth

      Note the Fast User Switch applet does *not* use this directory
      it instead calls AUTH_LOCAL and uses XauFileName() to get the
      key.

   /var/lib/log/gdm

      Xserver output logs for each display started by GDM.  This
      directory is associated with the LogDir key in the configuration
      file.

      I recommend we move /var/lib/log/gdm to /var/log/gdm or /var/gdm.

      It doesn't make good sense to put GDM logs directly in /var/log
      since GDM generates many logs (one for each display that you
      use - including displays associated with VT's) so there are
      typically lots of log files.  Better to not clutter /var/log
      with so many logs.

4) Might be nice to add some newer GDM themes from art.gnome.org
   into the GDM default codebase, and perhaps change the default
   theme to something more modern.  Any ideas?

Brian




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]