#!/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/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