The Wanderer wrote:
> Bob Proulx wrote:
> >  exec x-session-manager
> 
> >The 'x-session-manager' is a Debian package specific symlink handle that
> >always points to the currently configured window manager.
> 
> Isn't that 'x-window-manager'?
> 
> At least, I don't have an 'x-session-manager' on my system (tracking testing,
> with a few hints of stable and sid), but I do have 'x-window-manager'.

Well...  I really meant x-session-manager since that is the system
default.  x-window-manager is something related but different.  And
then there is also x-terminal-emulator in the complete set.

A heavy desktop environment may be started by x-session-manager and
whatever that is may call x-window-manager to start up a system
configured window manager.  (But many of us do not run heavy desktop
environments and may simply start up a window manager only.)  And
either may start up x-terminal-emulator.  And those are simply logical
handles created by Debian to manage what happens when people install
or uninstall the long list of available packages.  A way to make the
transition automatic.

Systems will diverge depending upon what is installed.  The right
answer may be different for different combinations of installed
packages.  The system tries one and then falls back to the other.  But
for a personal file I don't expect that level of generality is needed.

Look in /etc/X11/Xsession.d/* for x-session-manager.  On my system:

  $ find /etc/X11/Xsession.d -type f -exec grep -lh x-session-manager {} +
  /etc/X11/Xsession.d/55gnome-session_gnomerc
  /etc/X11/Xsession.d/55awesome-javaworkaround
  /etc/X11/Xsession.d/50x11-common_determine-startup

At the least I expect you would have 50x11-common_determine-startup
since that is part of x11-common.  The exact list depends upon what is
installed.  Those startup files call x-session-manager first and fall
back to x-window-manager if it isn't installed.

Snippet from /etc/X11/Xsession.d/50x11-common_determine-startup where
we can see that all three are involved in a fallback control flow.

  # If there is still nothing to use for a startup program, try the system
  # default session manager, window manager, and terminal emulator.
  if [ -z "$STARTUP" ]; then
    if [ -x /usr/bin/x-session-manager ]; then
      STARTUP=x-session-manager
    elif [ -x /usr/bin/x-window-manager ]; then
      STARTUP=x-window-manager
    elif [ -x /usr/bin/x-terminal-emulator ]; then
      STARTUP=x-terminal-emulator
    fi
  fi

And you can see what x-session-manager is with update-alternatives.
Again on my system:

  $ update-alternatives --display x-session-manager
  x-session-manager - auto mode
    link currently points to /usr/bin/gnome-session
  /usr/bin/gnome-session - priority 50
    slave x-session-manager.1.gz: /usr/share/man/man1/gnome-session.1.gz
  /usr/bin/gnome-session-fallback - priority 40
    slave x-session-manager.1.gz: /usr/share/man/man1/gnome-session.1.gz
  /usr/bin/lxsession - priority 49
    slave x-session-manager.1.gz: /usr/share/man/man1/lxsession.1.gz
  /usr/bin/openbox-session - priority 40
    slave x-session-manager.1.gz:
    /usr/share/man/man1/openbox-session.1.gz
  /usr/bin/startlxde - priority 50
    slave x-session-manager.1.gz: /usr/share/man/man1/startlxde.1.gz
  /usr/bin/startxfce4 - priority 50
    slave x-session-manager.1.gz: /usr/share/man/man1/startxfce4.1.gz
  /usr/bin/xfce4-session - priority 40
    slave x-session-manager.1.gz: /usr/share/man/man1/xfce4-session.1.gz
  Current 'best' version is '/usr/bin/gnome-session'.

Although on my system the default is auto mode with gnome-session I
actually select awesome or fvwm explicitly in my .xsession files.  I
let the system do what it wants with gnome and it is available for me
to test with but I don't use it for my main desktop environment.  As
you can see I have several installed for testing purposes.

Hopefully that explains what is happening.

Bob

Attachment: signature.asc
Description: Digital signature

Reply via email to