File gnome of Package gnome-session

#!/bin/bash
#
# This is not the original gnome-session but a start script
# to install some preconfiguration for GNOME2
# and some variables to check.
#
# For feedback on this script please use
# https://bugzilla.novell.com/
#

# openSUSE <= 10.3 and SLED <= 10 modified the user GConf database to change background.
# New openSUSE obsoletes this mechanism by branding and gnome-wp-list.
# We still have to detect old modifications in the user database and remove them.
#
# This code may disappear after SLED 12:
OLD_WALLPAPER=$(gconftool-2 --get /desktop/gnome/background/picture_filename 2>/dev/null)
PICTURE_OPTIONS=$(gconftool-2 --get /desktop/gnome/background/picture_options 2>/dev/null)
if [ "$PICTURE_OPTIONS" != "none" -a \(\
     "$OLD_WALLPAPER" != "${OLD_WALLPAPER#/usr/share/wallpapers/default}" -o ! -e "$OLD_WALLPAPER" \) ] ; then
	gconftool-2 -u /desktop/gnome/background/picture_filename
	gconftool-2 -u /desktop/gnome/background/picture_options
fi

function use_sled10_default {
    # do this only for SLED *
    ([ -e /etc/SuSE-release ] && grep "SUSE Linux Enterprise Desktop" /etc/SuSE-release) || return

    # do this only one time
    [ -e $HOME/.skel/sled10-run ] && return

    # dump the existing config for backup
    PANEL_BACKUP=panel-settings-backup-`date '+%m%d%y%H%M%S'`.xml
    gconftool-2 --dump /apps/panel > $PANEL_BACKUP

    # unset the current panel configuration
    gconftool-2 --recursive-unset /apps/panel/default_setup
    gconftool-2 --unset /apps/panel/general/toplevel_id_list
    gconftool-2 --unset /apps/panel/general/applet_id_list
    gconftool-2 --unset /apps/panel/general/object_id_list
    gconftool-2 --recursive-unset /apps/panel/profiles/default
    gconftool-2 --recursive-unset /apps/panel/toplevels
    gconftool-2 --unset /apps/metacity/general/num_workspaces

    # we are done, set the flag
    touch ~/.skel/sled10-run
}

# start up the gnome2 session

# reset the SLED 10 UI only if upgrading from NLD9/SLES9, anything newer we
# ignore (like SL 9.3), the logic here is redundant but its low risk
# Remove this code after SLED11:
mkdir -p $HOME/.skel
TRY_SLED10=1
if [ ! -e $HOME/.skel/gnome2-run ] || [ -e $HOME/.skel/gnome2-run-9.2 ] ; then
  TRY_SLED10=0
fi

if [ $TRY_SLED10 -gt 0 ] ; then
 use_sled10_default
else
 touch ~/.skel/sled10-run
fi

# Install the live install desktop icon this way until there is
# a better solution.  The actual files reside in gnome2-SuSE
# the /usr/share/applications/YaST2/live-installer.desktop exists on a live install system
if [ -e /usr/share/applications/YaST2/live-installer.desktop ] ; then
  mkdir -p ~/Desktop
  cp -u /usr/share/applications/YaST2/live-installer.desktop ~/Desktop
  # Workaround for gio not knowing about X-KDE-SubstituteUID -- see bnc#379332
  sed -i "s/^Exec=/Exec=gnomesu -- /g" ~/Desktop/live-installer.desktop

# setup live install to not start beagled
  if [ -e /etc/xdg/autostart/beagled-autostart.desktop ] ; then
    mkdir -p ~/.config/autostart
	cp /etc/xdg/autostart/beagled-autostart.desktop ~/.config/autostart
	echo "X-GNOME-Autostart-enabled=false" >> ~/.config/autostart/beagled-autostart.desktop
  fi

# setup live install to not start updater-applet
  if [ -e /usr/share/gnome/autostart/gpk-update-icon.desktop ] ; then
    mkdir -p ~/.config/autostart
	cp /usr/share/gnome/autostart/gpk-update-icon.desktop ~/.config/autostart
	echo "X-GNOME-Autostart-enabled=false" >> ~/.config/autostart/gpk-update-icon.desktop
  fi
fi

# Uncomment after SLED12, remove after SLED14:
#rm -f ~/.skel/gnome2-run ~/.skel/gnome2-run-9.2 ~/.skel/sled10-run

# TODO: look for a better fix for 11.1
export SDL_AUDIODRIVER=pulse
if test -f /etc/alsa-pulse.conf ; then
  export ALSA_CONFIG_PATH=/etc/alsa-pulse.conf
fi

exec /usr/bin/gnome-session
openSUSE Build Service is sponsored by