On 03/09/2011 03:47 AM, David Witbrodt wrote:
From: Lionel Le Folgoc<mrpo...@gmail.com>

You should have the following env var  set:
XDG_MENU_PREFIX=xfce-

Hmmm...

     $ echo $XDG_MENU_PREFIX
     $


And garcon looks for  $d/menus/${XDG_MENU_PREFIX}applications.menu
(with $d in $XDG_CONFIG_DIRS, or  /etc if empty).

     $ echo $XDG_CONFIG_DIRS
     $

As an experiment (having failed, so far, to get Shutdown/Restart buttons working) I decided to restore any changed files to their original state and install 'gdm3'. I found that this does, in fact, give me working buttons (which is not relevant to this bug report) but the menus do not work any better than they did with 'xdm':

$ echo $XDG_MENU_PREFIX

$ echo $XDG_CONFIG_DIRS

$

That is disappointing. I found that 'gdm3' starts the X server on tty8 instead of tty7.

This is usually set by /etc/xdg/xfce4/xinitrc, spawned  by
/usr/bin/startxfce4 (both from xfce4-utils>=  4.8.0).

Since those environment variables do not get set, I'm going to
have to say that 'xdm' bypasses the setup you folks are
expecting to have happen.

Looking at /etc/X11/xdm, I see the following in 'xdm-config':

     DisplayManager*startup:  /etc/X11/xdm/Xstartup
     DisplayManager*session:  /etc/X11/xdm/Xsession
     DisplayManager*setup:    /etc/X11/xdm/Xsetup
     DisplayManager*reset:    /etc/X11/xdm/Xreset

The 'Xsession' script is a one-liner:

     . /etc/X11/Xsession

So, 'xdm' hands off to 'x11-common', which does this

     ...
     SYSSESSIONDIR=/etc/X11/Xsession.d
     ...
     SESSIONFILES=$(run-parts --list $SYSSESSIONDIR)
     if [ -n "$SESSIONFILES" ]; then
       set +e
       for SESSIONFILE in $SESSIONFILES; do
         . $SESSIONFILE
       done
       set -e
     fi

Now looking in Xsession.d/, there is '40x11-common_xsessionrc'
which would run ~/.xsession if I had one.  I do not.

The fallback seems to be in '50x11-common_determine-startup':

     # 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

Those are not programs but symlinks to the Debian alternatives system:

     # la -d /usr/bin/x-*
     [...]  /usr/bin/x-session-manager ->    /etc/alternatives/x-session-manager
     [...]  /usr/bin/x-terminal-emulator ->  
/etc/alternatives/x-terminal-emulator
     [...]  /usr/bin/x-window-manager ->     /etc/alternatives/x-window-manager
     [...]

The alternatives seem to be set appropriately:

     # la -d /etc/alternatives/x-*
     [...]  /etc/alternatives/x-session-manager ->         
/usr/bin/xfce4-session
     [...]  /etc/alternatives/x-session-manager.1.gz ->
/usr/share/man/man1/xfce4-session.1.gz
     [...]  /etc/alternatives/x-terminal-emulator ->
/usr/bin/xfce4-terminal.wrapper
     [...]  /etc/alternatives/x-terminal-emulator.1.gz ->
/usr/share/man/man1/xfce4-terminal.wrapper.1.gz
     [...]  /etc/alternatives/x-window-manager ->          /usr/bin/xfwm4
     [...]  /etc/alternatives/x-window-manager.1.gz ->
/usr/share/man/man1/xfwm4.1.gz
     [...]

I'm finding the same sort of setup here in /etc/gdm3/Xsession, which explains why the menus are not working:

    [...]
    SYSSESSIONDIR=/etc/X11/Xsession.d
    [...]
    SESSIONFILES=$(run_parts $SYSSESSIONDIR)
    if [ -n "$SESSIONFILES" ]; then
      for SESSIONFILE in $SESSIONFILES; do
        . $SESSIONFILE
      done
    fi

I could easily be misunderstanding or misinterpretting these scripts, since I don't have any experience with them, but its clear that, by default, gdm3 doesn't get anywhere near /etc/xdg/xfce4/xinitrc or I would have working menus.


The troubleshooting continues...
Dave W.



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to