gnome-session/gnome

90 lines
3.4 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/
#
if test "x$XDG_CONFIG_HOME" = "x"; then
XDG_CONFIG_HOME="$HOME/.config"
fi
SUSE_DIR="$XDG_CONFIG_HOME/suse"
if test -e /usr/share/applications/YaST2/live-installer.desktop; then
IS_LIVE_IMAGE="yes"
else
IS_LIVE_IMAGE="no"
fi
# 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.
#
# We also need to fix the case where the user explicitly configured the
# background to what used to be the default background; for openSUSE <= 11.3,
# the filename was specific to each version of openSUSE.
if test "$IS_LIVE_IMAGE" != "yes" -a ! -f "$SUSE_DIR/gnome-11.4-wallpaper-migrated"; then
PICTURE_FILENAME=$(gconftool-2 --get --ignore-schema-defaults /desktop/gnome/background/picture_filename 2>/dev/null)
PICTURE_OPTIONS=$(gconftool-2 --get --ignore-schema-defaults /desktop/gnome/background/picture_options 2>/dev/null)
if test -n "$PICTURE_OPTIONS" -a -n "$PICTURE_FILENAME" -a \
"$PICTURE_OPTIONS" != "none" -a \
! -e "$PICTURE_FILENAME" -a \( \
"$PICTURE_FILENAME" != "${PICTURE_FILENAME#/usr/share/wallpapers/default}" -o \
"$PICTURE_FILENAME" = "/usr/share/wallpapers/openSUSE112-1600x1200.png" -o \
"$PICTURE_FILENAME" = "/usr/share/backgrounds/daft/daft.xml" -o \
"$PICTURE_FILENAME" = "/usr/share/wallpapers/openSUSE113-1600x1200.jpg" -o \
"$PICTURE_FILENAME" = "/usr/share/backgrounds/IK/IK.xml" \
\); then
gconftool-2 --unset /desktop/gnome/background/picture_filename
gconftool-2 --unset /desktop/gnome/background/picture_options
fi
mkdir -p -m 0700 "$XDG_CONFIG_HOME"
mkdir -p "$SUSE_DIR"
touch "$SUSE_DIR/gnome-11.4-wallpaper-migrated"
fi
# Some actions that are specific to the LiveCD
if test "$IS_LIVE_IMAGE" = "yes" ; then
# 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 .config/user-dirs.dirs ]; then
. .config/user-dirs.dirs
else
XDG_DESKTOP_DIR="$HOME/Desktop"
fi
mkdir -p $XDG_DESKTOP_DIR
cp -u /usr/share/applications/YaST2/live-installer.desktop $XDG_DESKTOP_DIR/
# setup live install to not have a lock-enabled screensaver
gconftool-2 --set /apps/gnome-screensaver/lock_enabled --type=bool "false"
# 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
# Use gnome-applications.menu instead of applications.menu: its
# structure is more appropriate.
export XDG_MENU_PREFIX=gnome-
# 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