99 lines
3.7 KiB
Bash
99 lines
3.7 KiB
Bash
#!/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
|