Has happened twice, this time got it down to kdm I believe. If choose a Session in kdm besides 'default' you will get an error "Sorry, kde-3.3.0 is no valid session" This happend with kde-3.2.3 also, but can't pin down the exact details on that one. Don't remember choosing a different session, but reinstalling kde fix it. This time though emerged kde-3.3.0, ended session, chose kde-3.3.0 from Sessions and get the error. After figuring it out, ended session, chose 'default' and kde starts right up. Tried it with a test user and same results. Also chose kde-3.2.3 and same results, both kde are installed. Last time that wasn't the case, only kde-3.2.3 was installed. Showing both installed, doesn't really matter though, cause default is now kde-3.3.0 and it will do the same thing. bash-2.05b# qpkg -i kdebase kde-base/kdebase-3.2.3-r1 * KDE base packages: the desktop, panel, window manager, konqueror... [ ] kde-base/kdebase-3.3.0 * KDE base packages: the desktop, panel, window manager, konqueror... [ ] Reproducible: Always Steps to Reproduce: 1. Chose any session installed besides default. 2. Get error: Sorry, kde-... is no valid session. 3. Back at kdm login, chose 'default' session and kde starts up, no errors. Actual Results: Get error if chose any session besides default. Expected Results: Let me choose a session to boot to if it is installed. No log files are produced showing problem that can find.
Can you take a look at the files in /etc/X11/Sessions and in /usr/kde/3.3/share/config/kdm/sessions/ and see if there's something strange? /var/log/kdm.log can have useful info, too.
'No log files are produced showing problem that can find.' Nothing was showing up there or xdm.log either.
Little more info: 1) If chose kde-3.2.3, get the error, then change to default it will boot to kde-3.3.0. So can't get to any other kde even though installed. 2) Don't know why didn't say this first time, but looks like it might be xdm and not kdm. Say this cause of the message graphics.
The error message is produced by /usr/kde/3.3/share/config/kdm/Xsession It seems the file /usr/kde/3.3/share/config/kdm/sessions/kde-3.3.0.desktop and the other desktop files are missing/invalid. Please take a look at those files and directories...
Greping the error message does appear to be kdm and not xdm like thought, it is just defaulting to twm instead, hence the graphical look. The source of the error message is /usr/kde/3.3/share/config/kdm/Xsession line 47. Found it just before reading your message Gregorio. Thanks though. Gregorio: The files are there: Xsession.desktop and kde-3.2.1,3.2.2,3.2.3,3.3.0 .desktops are all there. ***Found the problem: Not in this file, but demonstrates what works. ***************************************** case $1 in "") exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session." ;; failsafe) exec xterm -geometry 80x24-0-0 ;; custom) exec $HOME/.xsession ;; default) exec /usr/kde/3.3/bin/startkde ;; *) eval exec "$1" ;; ***************************************** If pick failsafe: xterm works If pick default: kde-3.3 always boots If pick custom: will choose what have in ~/.xsession (ie. /usr/kde/3.2/bin/startkde). Didn't have ~/.xsession at first, so after adding it and making .xsessions executable kde-3.2.3 booted up. If pick anything else get the error message. ****Reason: It is the /usr/kde/3.3/share/config/kdm/sessions/*.desktop files. There is the same problem with /usr/kde/3.2/share/config/kdm/sessions/*.desktop files. They are not readable by anyone but root. Default in 3.2 folder is permissions: 600 . Think that 3.3 was same or was 700, forget. Anyway, changing permissions on *.desktop files in 3.3 to 644 was the lowest denominator that found to work. Solution: Permissions need to be changed to 644 on the 3.3 *.desktop files inorder to choose anything but: failsafe default or custom (custom requires you have ~/.xsessions file and is executable though). Also found bug report dated 8/15/2004 at debian: bug#265795 http://lists.debian.org/debian-qt-kde/2004/08/msg00268.html
So it's a problem for those with a default 600 mask for root. A possible solution could be something like this for kde-base/kdebase/files/3.3.0/Xsetup --- Xsetup.orig 2004-09-22 10:52:19.229333320 +0200 +++ Xsetup 2004-09-22 10:52:37.490557192 +0200 @@ -26,6 +26,8 @@ Name=${SESSION} EOF +chmod +r "${SESSIONDIR}/${SESSION}.desktop" + fi }
Your right, had changed /etc/profile umask to 077. 1) with patch(chmod +r "${SESSIONDIR}/${SESSION}.desktop") Since script doesn't remove existing files so won't change them. Also deleted *.desktop files to check and they will still get created with perms 600. a) Doing it manually also doesn't work either: bash-2.05b# chmod +r -v Xsession.desktop mode of `Xsession.desktop' changed to 0600 (rw-------) b) Doing it manually this way WILL work: bash-2.05b# chmod 644 -v sessions/*.desktop mode of `sessions/Xsession.desktop' changed to 0644 (rw-r--r--) mode of `sessions/kde-3.2.1.desktop' changed to 0644 (rw-r--r--) mode of `sessions/kde-3.2.2.desktop' changed to 0644 (rw-r--r--) mode of `sessions/kde-3.2.3.desktop' changed to 0644 (rw-r--r--) mode of `sessions/kde-3.3.0.desktop' changed to 0644 (rw-r--r--) 2) with patch, but change to (chmod 644 "${SESSIONDIR}/${SESSION}.desktop") Again it doesn't delete existing files, but for new sessions it DOES work. Results: Patch doesn't work for new session *.desktop files unless change +r to 644 perms. So could do that and would work, but what about existing files? Leave it up to the user/admin to change perms on them and new sessions will be taken care of? Could delete and recreate *.desktop sessions for each session in /etc/X11/Sessions when before start kde login. That would get rid of *.desktop sessions that have removed from /etc/X11/Sessions and change perms on all of the *.desktop files. That would also get rid of a little cruft left over in /usr/kde/*/share/config/kdm/sessions/*.desktop when delete /etc/X11/Sessions. Not sure if you want to go that route though.
Right, the chmod command has to be like you said. About removing and recreating .desktop files, I leave the decision to the gentoo/kde devs.
This should not be a problem now, since we use /usr/share/xsessions for .desktop files (in kdebase-3.3.2-r2 and in 3.4).