Bug#367117: gdm: X startup scripts are a mess

Michal Suchanek hramrach at centrum.cz
Mon Mar 3 17:35:38 UTC 2008


Package: gdm
Version: 2.20.3-2
Followup-For: Bug #367117


I raised this concern with x11-common (or whatever is the name of the
package that contains /etc/X11/Xsession which gdm does not use for
reasons that completely escape my comprehention).

The reasoning is that it's not gdm's responsibility to track various
shell initialization files. Some poeple want their .profile, or
..bash_profile executed at startup. However, if your shell is tcsh it is
not run prior starting a X terminal emulator as all the
xdm/gdm/kdm/startx scripts are sh scripts.

On the other hand, the Xsession script should ensure that all system
initialization files for at least one shell are executed. Since
installing a shell init script fragment is the standard way of setting
up environment variables or aliases for packages that need them, these
settings should be included. Not only after a terminal emulator
launches, all the programs that are automatically started in a X session
(such as the window manager or panel that provides a "run" command)
should see the settings.

To provide for user customization the .xsessionrc support has been added
to the x11-common. However, gdm uses its own scripts so this
customization does not work with gdm. I would expect that this would not
work with kdm either, nor the gdm's .xprofile. If gdm has its own
session why kdm, entrance or all the other half dozen dms would not?

Of course, this means you need about then startup files. Or a .Xsession
or .xsession which works almost universally but overrides the system
session completely. None of the system X session init fragments is run
so you have to either find and run them manually or duplicate the
functionality to the extent that satisfies your needs for the moment.
There is no provision I am aware of to run your own wm after the system
shell and X session init fragments are all executed.

Also this whole mess is undocumented. There are some man pages for the
x11-base stuff, and gdm is perhaps "self documented" by listing all the
possible options on some configuration file hidden in an obscure
location. Sure, all the stuff is text files and shell scripts. But I do
not want to locate, decipher and debug various configuration files and
scripts for each method of logging in. It is the work of Debian to make
switching dms just the matter of installing a different package.
However, this would be possible only if exhaustive documentation of the
session init exists both for the package maintainers and the users so
that packages use the same scripts consistently and users know what
scripts to set up.

Thanks

Michal


-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.22-3-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages gdm depends on:
ii  adduser                    3.105         add and remove users and groups
ii  debconf [debconf-2.0]      1.5.19        Debian configuration management sy
ii  gksu                       2.0.0-5       graphical frontend to su
ii  icewm [x-window-manager]   1.2.33-1      wonderful Win95-OS/2-Motif-like wi
ii  libart-2.0-2               2.3.20-1      Library of functions for 2D graphi
ii  libatk1.0-0                1.20.0-1      The ATK accessibility toolkit
ii  libattr1                   1:2.4.41-1    Extended attribute shared library
ii  libc6                      2.7-6         GNU C Library: Shared libraries
ii  libcairo2                  1.4.14-1      The Cairo 2D vector graphics libra
ii  libdbus-1-3                1.1.2-1       simple interprocess messaging syst
ii  libdbus-glib-1-2           0.74-1        simple interprocess messaging syst
ii  libdmx1                    1:1.0.2-2     X11 Distributed Multihead extensio
ii  libfontconfig1             2.5.0-2       generic font configuration library
ii  libglade2-0                1:2.6.2-1     library to load .glade files at ru
ii  libglib2.0-0               2.14.6-1      The GLib library of C routines
ii  libgnomecanvas2-0          2.20.1.1-1    A powerful object-oriented display
ii  libgtk2.0-0                2.12.5-2      The GTK+ graphical user interface 
ii  libpam-modules             0.99.7.1-5    Pluggable Authentication Modules f
ii  libpam-runtime             0.99.7.1-5    Runtime support for the PAM librar
ii  libpam0g                   0.99.7.1-5    Pluggable Authentication Modules l
ii  libpango1.0-0              1.18.4-1      Layout and rendering of internatio
ii  librsvg2-2                 2.20.0-1      SAX-based renderer library for SVG
ii  librsvg2-common            2.20.0-1      SAX-based renderer library for SVG
ii  libselinux1                2.0.35-1      SELinux shared libraries
ii  libwrap0                   7.6.dbs-14    Wietse Venema's TCP wrappers libra
ii  libx11-6                   2:1.0.3-7     X11 client-side library
ii  libxau6                    1:1.0.3-2     X11 authorisation library
ii  libxdmcp6                  1:1.0.2-2     X11 Display Manager Control Protoc
ii  libxext6                   1:1.0.3-2     X11 miscellaneous extension librar
ii  libxi6                     2:1.1.3-1     X11 Input extension library
ii  libxinerama1               1:1.0.2-1     X11 Xinerama extension library
ii  libxml2                    2.6.31.dfsg-1 GNOME XML library
ii  lsb-base                   3.1-24        Linux Standard Base 3.1 init scrip
ii  rxvt-unicode [x-terminal-e 9.02-1        RXVT-like terminal emulator with U
ii  xterm [x-terminal-emulator 231-1         X terminal emulator

Versions of packages gdm recommends:
ii  gdm-themes       0.5.1                   Themes for the GNOME Display Manag
ii  whiptail         0.52.2-11.1             Displays user-friendly dialog boxe
ii  xserver-xephyr   2:1.3.0.0.dfsg-12lenny2 Next Generation Nested X Server
ii  xserver-xorg     1:7.3+10                the X.Org X server
ii  zenity           2.20.1-1                Display graphical dialog boxes fro

-- debconf-show failed





More information about the pkg-gnome-maintainers mailing list