Kdm session manager
Luca
liliana.perossa at fastwebnet.it
Thu Sep 28 08:06:31 BST 2006
James Richard Tyrer wrote:
> Luca wrote:
>
>> James Richard Tyrer wrote:
>>
>>> Luca wrote:
>>>
>>>
>>>> Hi!
>>>>
>>>> I have installed kde-3.5.4, xfce4, metacity, gnome-2.14.2 and
>>>> gnome-2.16.0 and I use kdm as login manager. I created the desktop files
>>>> for the sessions but I am unable to start gnome-2.16.0.
>>>> Kde-3.5.4 is installed in /opt/kde-3.5.4 with a symlink /opt/kde
>>>> pointing to it, gnome-2.14.2 is installed in /opt/gnome-2.14.2 with a
>>>> symlink /opt/gnome pointing to it, gnome-2.16.0 is installed in
>>>> /opt/gnome-2.16.0, xfce4 is installed in /usr and metacity is installed
>>>> in /usr.
>>>>
>>>> Since I use to launch dbus-daemon with gnome my gnome-xxx desktop files
>>>> looks so:
>>>> gnome-dbus.desktop
>>>> [Desktop Entry]
>>>> Encoding=UTF-8
>>>> Name=GNOME with D-BUS
>>>> Comment=GNOME Desktop with D-BUS support
>>>> Exec=dbus-launch --exit-with-session gnome-session
>>>> TryExec=/usr/bin/dbus-launch
>>>> Icon=
>>>> Type=Application
>>>>
>>>> gnome-2.16.0-dbus.desktop
>>>> [Desktop Entry]
>>>> Encoding=UTF-8
>>>> Name=GNOME 2.16.0 with D-BUS
>>>> Comment=GNOME 2.16.0 Desktop with D-BUS support
>>>> Exec=dbus-launch --exit-with-session /opt/gnome-2.16.0/bin/gnome-session
>>>> TryExec=/usr/bin/dbus-launch
>>>> Icon=
>>>> Type=Application
>>>>
>>>> How do I manage to start the different sessions?
>>>> I also tried to modify /opt/kde-3.5.4/share/config/kdm/Xsession in this way:
>>>> case $session 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 /opt/kde-3.5.4/bin/startkde
>>>> ;;
>>>> Gnome-2.14.2)
>>>> export BINDIR=/opt/gnome-2.14.2/sbin
>>>> export HOME=$HOME/.gnome-2.14.2
>>>> export SBINDIR=/opt/gnome-2.14.2/sbin
>>>> export LIBEXECDIR=/opt/gnome-2.14.2/lib/gdm
>>>> export PATH=/bin:/usr/bin:/usr/X11R7/bin:$GNOMEDIR
>>>> exec /opt/gnome-2.14.2/bin/gnome-session
>>>> ;;
>>>> Gnome-2.16.0)
>>>> export BINDIR=/opt/gnome-2.16.0/sbin
>>>> export HOME=$HOME/.gnome-2.16.0
>>>> export SBINDIR=/opt/gnome-2.16.0/sbin
>>>> export LIBEXECDIR=/opt/gnome-2.16.0/lib/gdm
>>>> export PATH=/bin:/usr/bin:/usr/X11R7/bin:$GNOMEDIR
>>>> exec /opt/gnome-2.16.0/bin/gnome-session
>>>> ;;
>>>> *)
>>>> eval exec "$session"
>>>> ;;
>>>> esac
>>>> exec xmessage -center -buttons OK:0 -default OK "Sorry, cannot execute
>>>> $session. Check $DESKTOP_SESSION.desktop."
>>>>
>>>> Still I am unable to start gnome-2.16.0, and just a note when I start
>>>> gnome-2.14.2 it seems to load in background some things of gnome-2.16.0,
>>>> I have two trash icons.
>>>>
>>>>
>>> If you are going to directly execute "gnome-session" the stuff you put
>>> in the: "gnome-xxx.desktop" is not relevant since it is NOT executed.
>>>
>>> I don't think that you want to change HOME and I have no idea if setting
>>> BINDIR, SBINDIR, & LIBEXECDIR does anything at all except to take up
>>> space. Stuff in the environment doesn't do any good unless something
>>> reads it.
>>>
>>> What is: GNOMEDIR? IAC, the directory "/opt/gnome-<version>/bin" needs
>>> to go at the _start_ of the PATH. If there is stuff in:
>>> "/opt/gnome-<version>/sbin" you might need to add that as well although
>>> normally, only root uses it.
>>>
>>> Then, you have two sets of GNOME libraries. You must use the correct
>>> ones. To control this, you must set the environment variable
>>> LD_LIBRARY_PATH.
>>>
>>> LD_LIBRARY_PATH=/opt/gnome-<version>/lib
>>> export LD_LIBRARY_PATH
>>>
>>> There are other issues so I would recommend that rather than putting
>>> this stuff in your "Xsession" script that you write a short script to
>>> start GNOME -- one script for each version.
>>>
>>> I find that to run GNOME that I must set: XDG_CONFIG_DIRS.
>>>
>>>
>>>
>> Thanks James I'll try that, however is it possible to export the
>> variables in the gnome-<version>.desktop files instead of creating a
>> script to start one or another?
>>
>
> In theory, you can execute multiple commands with "Exec=<command line>",
> however, KDE tends to balk at long command lines in 'desktop' files.
>
> Also, you are going to need some punctuation between commands just like
> on the shell command line. Either:
>
> <command 1> && <command 2>
>
> or
>
> <command 1>: <command 2>
>
> I would use the first one in this case (with "&&") since this makes it
> dependent -- "<command 2> will only execute if "<command 1>" works (i.e.
> no error code on exit).
>
>
Thanks, for now I have managed to comment the entries in Xsession and in
the gnome-<version>.desktop files I call to execute the script for the
gnome-session.
In each gnome-<version>/bin I placed a script like you suggested like
this one (example for gnome-2.14.2):
startgnome-2.14.2
> #!/bin/sh
> # Begin script to start gnome-2.14.2
>
> export PATH=/opt/gnome-2.14.2/bin:$PATH
> export PKG_CONFIG_PATH=/opt/gnome-2.14.2/lib/pkgconfig:$PKG_CONFIG_PATH
> export LD_LIBRARY_PATH=/opt/gnome-2.14.2/lib:$LD_LIBRARY_PATH
> # export HOME=$HOME/.gnome-2.14.2
> export BINDIR=/opt/gnome-2.14.2/sbin
> export SBINDIR=/opt/gnome-2.14.2/sbin
> export LIBEXECDIR=/opt/gnome-2.14.2/lib/gdm
> export XDG_CONFIG_DIRS=/etc/gnome-2.14.2/xdg:$XDG_CONFIG_DIRS
>
> dbus-launch --exit-with-session /opt/gnome-2.14.2/bin/gnome-session
>
> # End gnome-2.14.2 script
and the gnome-2.14.2.desktop file looks like that:
[Desktop Entry]
Encoding=UTF-8
Name=GNOME with D-BUS
Commect=GNOME Desktop with D-BUS support
Exec=/opt/gnome-2.14.2/bin/startgnome-2.14.2
TryExec=/opt/gnome-2.14.2/bin/startgnome-2.14.2
Icon=
Type=Application
Script and desktop file for gnome-2.16.0 are like these with the obvious
changes pointing to gnome-2.16.0.
Now it finally works.
Thanks a lot,
Luca
___________________________________________________
This message is from the kde mailing list.
Account management: https://mail.kde.org/mailman/listinfo/kde.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.
More information about the kde
mailing list