FedoraThis forum is for the discussion of the Fedora Project.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I could be wrong in this, but this could be a starting point for those who want to experiment. Notice the /etc/X11 directory
As root:
Copy and modify one of the KDE/GNOME scripts in this folder:
/etc/X11/gdm/Sessions
Open file /etc/X11/xdm/Xsession, locate the section below (about halfway down) and copy and modify the KDE line
Code:
# now, we see if xdm/gdm/kdm has asked for a specific environment
case $# in
1)
if [ -x "$SWITCHDESKPATH/Xclients.$1" ]; then
exec -l $SHELL -c "$SSHAGENT $SWITCHDESKPATH/Xclients.$1";
fi;
case "$1" in
failsafe)
exec -l $SHELL -c "xterm -geometry 80x24-0-0"
;;
gnome)
exec -l $SHELL -c "$SSHAGENT gnome-session"
;;
kde|kde1|kde2)
exec -l $SHELL -c "$SSHAGENT $SWITCHDESKPATH/Xclients.kde"
;;
To set a default graphical environment, open up /etc/X11/xinit/Xclients and alter the defaults. This section is about 1/3 of the way down. Here's my swapped section:
Code:
if [ -z "$PREFERRED" ]; then
GSESSION=gnome-session
STARTKDE=startkde
# by default, we run KDE.
if which $STARTKDE >/dev/null 2>&1; then
exec `which $STARTKDE`
fi
# if KDE isn't installed, try GNOME.
if which $GSESSION >/dev/null 2>&1; then
exec `which $GSESSION`
fi
fi
I know this is messy, but hopefully one day someone (or even myself) could come up with a nice GUI to work this out.
1. Copy the desktop entry file of your 3rd party session manager into /usr/share/xsessions folder. In my case, i installed Xfce to /2nd/programs/xfce-4RC1 folder, this is what i did:
This adds an entry of Xfce42 to the login screen next too Gnome, KDE, failsafe...
2. To make it the default:
Go to your home folder:
# cd ~
Make a backup copy of your current .Xclients-default just in case:
# cp .Xclients-default .Xclients-default.backup
Change .Xclients-default to contain this:
#!/bin/bash
exec <fullpath-to-startYourSessionManager> (in my case it's exec /2nd/programs/xfce-4RC1/bin/startxfce4)
exit 1
This makes xfce4 the default manager already, no need to run switchdesk. It actually doesn't show up on switchdesk.
This way is not sophisticated like Winno's way but i found it's less headace. Hope it can help you. I'll try Winno's way now.
Distribution: Red Hat 7.2/8/9, Fedora Core 1/2/3, Smoothwall, Mandrake 7.0/10, Vecter 4, Arch 0.6, EnGuarde
Posts: 289
Rep:
Quote:
Originally posted by Winno I could be wrong in this, but this could be a starting point for those who want to experiment. Notice the /etc/X11 directory
As root:
Copy and modify one of the KDE/GNOME scripts in this folder:
/etc/X11/gdm/Sessions
Open file /etc/X11/xdm/Xsession, locate the section below (about halfway down) and copy and modify the KDE line
Code:
# now, we see if xdm/gdm/kdm has asked for a specific environment
case $# in
1)
if [ -x "$SWITCHDESKPATH/Xclients.$1" ]; then
exec -l $SHELL -c "$SSHAGENT $SWITCHDESKPATH/Xclients.$1";
fi;
case "$1" in
failsafe)
exec -l $SHELL -c "xterm -geometry 80x24-0-0"
;;
gnome)
exec -l $SHELL -c "$SSHAGENT gnome-session"
;;
kde|kde1|kde2)
exec -l $SHELL -c "$SSHAGENT $SWITCHDESKPATH/Xclients.kde"
;;
To set a default graphical environment, open up /etc/X11/xinit/Xclients and alter the defaults. This section is about 1/3 of the way down. Here's my swapped section:
Code:
if [ -z "$PREFERRED" ]; then
GSESSION=gnome-session
STARTKDE=startkde
# by default, we run KDE.
if which $STARTKDE >/dev/null 2>&1; then
exec `which $STARTKDE`
fi
# if KDE isn't installed, try GNOME.
if which $GSESSION >/dev/null 2>&1; then
exec `which $GSESSION`
fi
fi
I know this is messy, but hopefully one day someone (or even myself) could come up with a nice GUI to work this out.
Hope this helps
Dude, don't know why you are looking for a 3rd party program when you already have gnome-session*rpm installed. It's part of the FC3 package. Only difference between FC2 and FC3 is FC2 has a GUI program that allows changing the default desktop. On either FC2 or FC3, you can use the following command to change the default desktop. If you installed blackbox as a RPM, you shouldn't have to do anything with code.
Code:
switchdesk "desktop name"
(eg. switchdesk kde, switchdesk gnome, switchdesk xfce, (and in your case) switchdesk blackbox)
That's it. 2 word syntex to fix all your problems!
If you need to step away from gnome-session*rpm, I don't think there is one. But if you are interested in changing this in the gui, just make a small script program and have it linked to a icon you create on the desired desktop. Or learn VC++ and QDesigner and create some widgets. Hope this helps bud. =)
Distribution: Red Hat 7.2/8/9, Fedora Core 1/2/3, Smoothwall, Mandrake 7.0/10, Vecter 4, Arch 0.6, EnGuarde
Posts: 289
Rep:
Making a GUI for this should not be that tough. All they need to do is this:
Code:
//Assuming C++
//Declaring major varables.
int SessionOptions = 4;
char Session[SessionOptions] = { "gnome", "kde", "xfce", "blackbox" };
int SessionDesired;
// Program Execution
cin >> SessionDesired; // Replace with widgets from QT Designer
System( "gnome-session" Session[SessionDesired] );
Of corse this is a very crude and simple program. It may not even work without some alteration, but it's complexity should be the same. Addition syntex would be added for addition support. Addition support could be security, error control, addition compatibility functionality, etc. If I knew how to use QT Designer, I would have made this in a heart beat, and thrown it as a RPM for the public.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.