[Pkg-xfce-devel] Bug#617470: Results of experimenting with gdm3

Dave Witbrodt dawitbro at sbcglobal.net
Thu Mar 10 11:59:06 UTC 2011


On 03/09/2011 03:47 AM, David Witbrodt wrote:
>> From: Lionel Le Folgoc<mrpouit at 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.





More information about the Pkg-xfce-devel mailing list