gnome-session/gnome

102 lines
3.9 KiB
Plaintext
Raw Normal View History

#!/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 online help desktop icon this way until there is
# a better solution. The actual files reside in gnome2-SuSE
if [ ! -e $HOME/.skel/.gnome2-run-10.3 ] ; then
touch $HOME/.skel/.gnome2-run-10.3
mkdir -p ~/Desktop
cp -u /usr/share/dist/desktop-files/GnomeOnlineHelp.desktop ~/Desktop
cp -u /usr/share/dist/desktop-files/SuSE.desktop ~/Desktop
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/opensuse-updater-applet.desktop ] ; then
mkdir -p ~/.config/autostart
cp /usr/share/gnome/autostart/opensuse-updater-applet.desktop ~/.config/autostart
echo "X-GNOME-Autostart-enabled=false" >> ~/.config/autostart/opensuse-updater-applet.desktop
fi
fi
# Uncomment after SLED12, remove after SLED14:
#rm -f ~/.skel/gnome2-run ~/.skel/gnome2-run-9.2 ~/.skel/sled10-run
exec /usr/bin/gnome-session