The Session file that fluxbox provides is inadequate to start up an X session properly. At the minimum the following is missing: # run all system xinitrc shell scripts. if [ -d /etc/X11/xinit/xinitrc.d ]; then for i in /etc/X11/xinit/xinitrc.d/* ; do if [ -x "$i" ]; then . "$i" fi done fi Take a look at /etc/X11/Sessions/Xsession for some more examples.
Cardoe: just glancing at /etc/X11/Sessions/Xsession - it doesn't do anything with xinitrc.d either.
Right. That script is wrong as well. Only reason that hasn't been caught is most people don't use startx + twm for anything but testing.
I suppose you mean /etc/X11/Sessions/fluxbox and not /usr/share/xsessions/fluxbox.desktop But shouldn't this be the job of xdm or the 'startx' script?
It's provided by /etc/X11/Sessions/Gnome, you can check with KDE users how it's provided for them. Granted, /etc/X11/gdm/Xsession provides it as well, so if you were to use gdm to login to fluxbox it would work for you.
Under /etc/X11/Sessions/, Gnome and Xsession are almost identical, differing as follows: Xsession: loads xterm, errfile has 'xsession' in the name, cleans up after xbanner, tries in order to find what to start: $HOME/.xsession:$HOME/.Xclients:/etc/X11/xinit/Xclients:/etc/X11/Xclients:xsm Gnome: starts an ssh-agent if none already exist, reads /etc/X11/xinit/xinitrc.d, tries in order to find what to start: $HOME/.gnomerc:/etc/X11/gdm/gnomerc:gnome-session KDE calls /usr/kde/3.5/bin/startkde, which is radically different from the Gnome and Xsession ones. However, the sparseness of the fluxbox init explains why Xresources/Xmodmap/Xkbmap seemed to be ignored sometimes. I'll attach a new /etc/X11/Sessions/fluxbox shortly.
Created attachment 137979 [details] /etc/X11/Sessions/fluxbox New script for the fluxbox session start. Based on Xsession and Gnome session scripts. Untested still.
while doing this, I noticed a bug in the Gnome+Xsession scripts, so I filed bug #201625 for them to fix up their XkbSymbols loading - it's fixed in my attached script anyway.
Thanks very much for the patch, but this really seems like a lot of code duplication, especially if the only difference between this script and the Xsession and Gnome ones is the last line. Do we really want to maintain these all separately when it could be done somewhere more central? For example, have a common /etc/X11/misc/xession.sh that I (and other sessions) could just source before calling 'exec startfluxbox'?
I'm in favour of a merge myself, but I posted the separate version because following the past history of Xsession was very hard. It appears to have fractionated and forked many times, and then each gotten different changes along the way. Maybe dberkholz can chime in with a plan to rationalize all of them. gentoo-x86/gnome-base/gnome-session/files/Gnome - last change 2002-06-02 Xsession - originally part of x11-base/xfree, but bounced around many places in CVS - additionally, there is an outdated copy installed into /usr/$libdir/X11/xdm/ Here's a list of every one that ever existed in the tree, ordered by when they were last touched. Dec 15 2005 x11-apps/xdm/files/Xsession,v Dec 15 2005 x11-apps/xinit/files/Xsession,v Nov 16 2005 gnome-base/gdm/files/2.6.0/Attic/Xsession,v Sep 12 2005 gnome-base/gdm/files/2.6.0-openpam/Attic/Xsession,v Jun 5 2005 gnome-base/gdm/files/2.4.4/Attic/Xsession,v Jan 3 2005 x11-base/xfree/files/4.3.0/Attic/Xsession,v Jan 3 2005 x11-base/xfree/files/4.3.0/Sessions/Attic/Xsession,v Jan 27 2004 x11-base/xfree/files/4.2.1-r2/Attic/Xsession,v Jan 27 2004 x11-base/xfree/files/4.2.1-r2/Sessions/Attic/Xsession,v Dec 14 2003 x11-base/xfree/files/4.1.0-r6/Attic/Xsession,v Dec 14 2003 x11-base/xfree/files/4.2.0-r12/Attic/Xsession,v Dec 14 2003 x11-base/xfree/files/4.2.0-r12/Sessions/Attic/Xsession,v Aug 29 2003 x11-base/xfree/files/4.3.99.8/Sessions/Attic/Xsession,v Aug 28 2003 x11-base/xfree/files/4.3.99.8/Attic/Xsession,v May 20 2003 x11-base/xfree/files/4.2.1/Attic/Xsession,v May 20 2003 x11-base/xfree/files/4.2.1/Sessions/Attic/Xsession,v May 20 2003 x11-base/xfree/files/4.2.1-r1/Attic/Xsession,v May 20 2003 x11-base/xfree/files/4.2.1-r1/Sessions/Attic/Xsession,v Mar 10 2003 x11-base/xfree/files/4.2.99.902/Attic/Xsession,v Mar 10 2003 x11-base/xfree/files/4.2.99.902/Sessions/Attic/Xsession,v Feb 28 2003 x11-base/xfree/files/4.2.99.4/Attic/Xsession,v Feb 28 2003 x11-base/xfree/files/4.2.99.4/Sessions/Attic/Xsession,v Feb 2 2003 x11-base/xfree/files/4.2.99.3-r2/Attic/Xsession,v Feb 2 2003 x11-base/xfree/files/4.2.99.3-r2/Sessions/Attic/Xsession,v Jan 16 2003 x11-base/xfree/files/4.2.99.3-r1/Attic/Xsession,v Jan 16 2003 x11-base/xfree/files/4.2.99.3-r1/Sessions/Attic/Xsession,v Dec 26 2002 x11-base/xfree/files/4.2.99.3/Sessions/Attic/Xsession,v Dec 26 2002 x11-base/xfree/files/4.2.99.3/Attic/Xsession,v Dec 7 2002 x11-base/xfree/files/4.2.99/Attic/Xsession,v Dec 7 2002 x11-base/xfree/files/4.2.99/Sessions/Attic/Xsession,v Sep 8 2002 x11-base/xfree/files/4.2.0-r9/Sessions/Attic/Xsession,v Sep 8 2002 x11-base/xfree/files/4.2.0-r11/Attic/Xsession,v Sep 8 2002 x11-base/xfree/files/4.2.0-r11/Sessions/Attic/Xsession,v Sep 8 2002 x11-base/xfree/files/4.2.0-r9/Attic/Xsession,v May 31 2002 x11-base/xfree/files/4.2.0-r10/Attic/Xsession,v May 31 2002 x11-base/xfree/files/4.2.0-r10/Sessions/Attic/Xsession,v May 31 2002 x11-base/xfree/files/4.2.0-r8/Attic/Xsession,v May 31 2002 x11-base/xfree/files/4.2.0-r8/Sessions/Attic/Xsession,v Apr 7 2002 x11-base/xfree/files/4.2.0-r5/Sessions/Attic/Xsession,v Apr 7 2002 x11-base/xfree/files/4.2.0-r6/Sessions/Attic/Xsession,v Apr 7 2002 x11-base/xfree/files/4.2.0-r7/Sessions/Attic/Xsession,v Apr 7 2002 x11-base/xfree/files/4.1.0-r1/Attic/Xsession,v Apr 7 2002 x11-base/xfree/files/4.2.0-r5/Attic/Xsession,v Apr 7 2002 x11-base/xfree/files/4.2.0-r6/Attic/Xsession,v Apr 7 2002 x11-base/xfree/files/4.2.0-r7/Attic/Xsession,v Jan 28 2002 x11-base/xfree/files/4.2.0-r4/Attic/Xsession,v Jan 28 2002 x11-base/xfree/files/4.2.0-r4/Sessions/Attic/Xsession,v Jan 28 2002 x11-base/xfree/files/4.2.0-r3/Attic/Xsession,v Jan 28 2002 x11-base/xfree/files/4.2.0-r3/Sessions/Attic/Xsession,v Jan 28 2002 x11-base/xfree/files/4.2.0-r2/Sessions/Attic/Xsession,v Jan 28 2002 x11-base/xfree/files/4.2.0-r2/Attic/Xsession,v Jan 28 2002 x11-base/xfree/files/4.1.0-r5/Attic/Xsession,v Jan 28 2002 x11-base/xfree/files/4.1.0-r4/Attic/Xsession,v Jan 20 2002 x11-base/xfree/files/4.2.0-r1/Attic/Xsession,v Jan 20 2002 x11-base/xfree/files/4.2.0-r1/Sessions/Attic/Xsession,v Jan 20 2002 x11-base/xfree/files/4.2.0/Attic/Xsession,v Nov 11 2001 x11-base/xfree/files/Attic/Xsession,v Nov 11 2001 x11-base/xfree/files/4.1.0-r3/Attic/Xsession,v Nov 11 2001 x11-base/xfree/files/4.1.0-r2/Attic/Xsession,v And Gnome,v: Dec 21 2006 gnome-base/gnome-core/files/Attic/Gnome,v Dec 15 2005 gnome-base/gnome-session/files/Gnome,v Jan 20 2002 x11-base/xfree/files/4.2.0-r1/Sessions/Attic/Gnome,v
What about when gdm or kdm starts the Fluxbox session - Should they run this too instead of 'startfluxbox'? Or do they automatically do some of this magic already?
Alright, I have included this script in fluxbox-1.0.0-r1, thanks for submitting it! I look forward to the day when this is all centralized.
Okay, maybe this will never, ever actually be centralized.