On Sun, Dec 15, 2002 at 01:45:29PM -0800, Ross Boylan wrote: > DISAPPEARING SESSIONS > > I am running KDE 2 (2.2.2) on Debian/testing, and I have also built > KDE 3.1 (c. rc5) from CVS and installed it in local directories. > > So my kdm is from the standard distribution. I have added a kde3 > session type to it to invoke the kde 3 installation. The problem I > have is that session type keeps disappearing--not every time I log out > or shutdown, but intermittently. > > I originally created the session type by editing some control files; > the first time it disappeared I used kcontrol's login manager settings > to add the session. Either way, it sometimes disappears. (The kde3 > invoking script I wrote for the session to use doesn't disappear, but > the kde3 in the session drop downs does disappear). > > Since I thought the setup might be somewhat Debian specific, I thought > I'd ask here. > > One theory that has occurred to me is that it may disappear whenever > my last logout is from a kde3 session. I typically run kde2 in one > virtual terminal and kde3 in another. Does anyone see any way the > kde3 logout could overwrite the settings kde2 uses? Note that my kde3 > build is standard, not via debian/rules. > > Another possibility is that something about apt-get dist-upgrade > resets the session list, since I just did one of those before the > session disappeared. >
This happened again, and I got curious enough to track it down. The theory of the last paragraph is on the right track. When an upgrade installs an item that invokes update-menus (anything that affects the menus, e.g., knode on my last update) this in turn invokes /etc/menu-methods/kdm. This in turn invokes kdm-update-menu in its postrun. kdm-update-menu rebuilds the session menu unless generate-sessiontypes is not in /etc/kde2/kdm/kdm.options. When it does, it pulls together alternatives registered for x-window-manager and x-session-manager. So I think the solution is to either disable generate session types or tell the system that my new session type (kde3) is an alternative with update-alternatives. Question: should I file a bug because user-created sessions added from kcontrol get zapped in this way? Probably kcontrol should do the necessary update-alternative. This is for a testing kde2 system; I don't know if it's changed with the kde3 packages. I've been installing the regular, non-Debian, kde3.1.