You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.3 KiB
78 lines
2.3 KiB
#!/bin/bash |
|
# Copyright (C) 1999 - 2004 Red Hat, Inc. All rights reserved. This |
|
# copyrighted material is made available to anyone wishing to use, modify, |
|
# copy, or redistribute it subject to the terms and conditions of the |
|
# GNU General Public License version 2. |
|
# |
|
# You should have received a copy of the GNU General Public License |
|
# along with this program; if not, write to the Free Software |
|
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
|
|
|
GSESSION="$(type -p gnome-session)" |
|
MSESSION="$(type -p mate-session)" |
|
STARTKDE="$(type -p startkde)" |
|
STARTLXDE="$(type -p startlxde)" |
|
|
|
# check to see if the user has a preferred desktop |
|
PREFERRED= |
|
if [ -f /etc/sysconfig/desktop ]; then |
|
. /etc/sysconfig/desktop |
|
if [ "$DESKTOP" = "GNOME" ]; then |
|
PREFERRED="$GSESSION" |
|
elif [ "$DESKTOP" = "MATE" ]; then |
|
PREFERRED="$MSESSION" |
|
elif [ "$DESKTOP" = "KDE" ]; then |
|
PREFERRED="$STARTKDE" |
|
elif [ "$DESKTOP" = "LXDE" ]; then |
|
PREFERRED="$STARTLXDE" |
|
fi |
|
fi |
|
|
|
if [ -n "$PREFERRED" ]; then |
|
exec "$PREFERRED" |
|
fi |
|
|
|
# now if we can reach here, either no desktop file was present, |
|
# or the desktop requested is not installed. |
|
|
|
if [ -n "$GSESSION" ]; then |
|
# by default, we run GNOME. |
|
exec "$GSESSION" |
|
elif [ -n "$STARTKDE" ]; then |
|
# if GNOME isn't installed, try KDE. |
|
exec "$STARTKDE" |
|
elif [ -n "$STARTLXDE" ]; then |
|
# if neither GNOME nor KDE then LXDE |
|
exec "$STARTLXDE" |
|
fi |
|
|
|
# We should also support /etc/X11/xinit/Xclients.d scripts |
|
XCLIENTS_D=/etc/X11/xinit/Xclients.d |
|
if [ "$#" -eq 1 ] && [ -x "$XCLIENTS_D/Xclients.$1.sh" ]; then |
|
exec -l $SHELL -c "$SSH_AGENT $XCLIENTS_D/Xclients.$1.sh" |
|
fi |
|
|
|
# Failsafe. |
|
|
|
# these files are left sitting around by TheNextLevel. |
|
rm -f $HOME/Xrootenv.0 |
|
|
|
# Argh! Nothing good is installed. Fall back to twm |
|
{ |
|
# gosh, neither fvwm95 nor fvwm2 is available; |
|
# fall back to failsafe settings |
|
[ -x /usr/bin/xsetroot ] && /usr/bin/xsetroot -solid '#222E45' |
|
|
|
if [ -x /usr/bin/xclock ] ; then |
|
/usr/bin/xclock -geometry 100x100-5+5 & |
|
fi |
|
if [ -x /usr/bin/xterm ] ; then |
|
/usr/bin/xterm -geometry 80x50-50+150 & |
|
fi |
|
if [ -x /usr/bin/firefox -a -f /usr/share/doc/HTML/index.html ]; then |
|
/usr/bin/firefox /usr/share/doc/HTML/index.html & |
|
fi |
|
if [ -x /usr/bin/twm ] ; then |
|
exec /usr/bin/twm |
|
fi |
|
}
|
|
|