- run ck-xinit-session for all sessions where the xdg cookie isn't already

set (#452156, patch from Patrice Dumas)
- add which Requires (#413041, patch from Patrice Dumas)
This commit is contained in:
Adam Tkac 2009-02-25 09:57:22 +00:00
parent b71c79e37e
commit c92ca0017c
3 changed files with 17 additions and 10 deletions

View File

@ -40,7 +40,7 @@ SWITCHDESKPATH=/usr/share/switchdesk
# this script.
XCLIENTS_D=/etc/X11/xinit/Xclients.d
if [ -d "$XCLIENTS_D" -a "$#" -eq 1 -a -x "$XCLIENTS_D/Xclients.$1.sh" ]; then
exec -l $SHELL -c "$SSH_AGENT $XCLIENTS_D/Xclients.$1.sh"
exec -l $SHELL -c "$CK_XINIT_SESSION $SSH_AGENT $XCLIENTS_D/Xclients.$1.sh"
else
# now, we see if xdm/gdm/kdm has asked for a specific environment
case $# in
@ -60,18 +60,18 @@ case $# in
exec /bin/sh -c "exec -l $SHELL -c \"gnome-session\""
;;
kde|kde1|kde2)
exec $SSH_AGENT /bin/sh -c "exec -l $SHELL -c \"startkde\""
exec $CK_XINIT_SESSION $SSH_AGENT /bin/sh -c "exec -l $SHELL -c \"startkde\""
;;
twm)
# fall back to twm
exec $SSH_AGENT /bin/sh -c "exec -l $SHELL -c \"twm\""
exec $CK_XINIT_SESSION $SSH_AGENT /bin/sh -c "exec -l $SHELL -c \"twm\""
;;
*)
# GDM provies either a command line as the first argument or
# provides 'failsafe', 'default' or 'custom'. KDM will do the
# same at some point
if [ "$1" != "default" -a "$1" != "custom" ]; then
exec $SSH_AGENT /bin/sh -c "exec -l $SHELL -c \"$1\""
exec $CK_XINIT_SESSION $SSH_AGENT /bin/sh -c "exec -l $SHELL -c \"$1\""
fi
;;
esac
@ -80,11 +80,11 @@ fi
# otherwise, take default action
if [ -x "$HOME/.xsession" ]; then
exec -l $SHELL -c "$SSH_AGENT $HOME/.xsession"
exec -l $SHELL -c "$CK_XINIT_SESSION $SSH_AGENT $HOME/.xsession"
elif [ -x "$HOME/.Xclients" ]; then
exec -l $SHELL -c "$SSH_AGENT $HOME/.Xclients"
exec -l $SHELL -c "$CK_XINIT_SESSION $SSH_AGENT $HOME/.Xclients"
elif [ -x /etc/X11/xinit/Xclients ]; then
exec -l $SHELL -c "$SSH_AGENT /etc/X11/xinit/Xclients"
exec -l $SHELL -c "$CK_XINIT_SESSION $SSH_AGENT /etc/X11/xinit/Xclients"
else
# should never get here; failsafe fallback
exec -l $SHELL -c "xsm"

View File

@ -65,4 +65,6 @@ if [ -x /usr/bin/ssh-agent -a -z "$SSH_AGENT_PID" ]; then
fi
CK_XINIT_SESSION=
[ -x /usr/bin/ck-xinit-session ] && CK_XINIT_SESSION="/usr/bin/ck-xinit-session"
if [ -x /usr/bin/ck-xinit-session -a -z "$XDG_SESSION_COOKIE" ]; then
CK_XINIT_SESSION="/usr/bin/ck-xinit-session"
fi

View File

@ -3,7 +3,7 @@
Summary: X.Org X11 X Window System xinit startup scripts
Name: xorg-x11-%{pkgname}
Version: 1.0.9
Release: 4%{?dist}
Release: 5%{?dist}
License: MIT
Group: User Interface/X
URL: http://www.x.org
@ -39,7 +39,7 @@ Requires: xauth
Requires: coreutils
Requires: xorg-x11-server-utils
Requires: ConsoleKit-x11
Requires: ConsoleKit-libs
Requires: which
# NOTE: Most of the xinitrc scripts/config files are now in xorg-x11-xinit,
# so the xinitrc package became unnecessary. The xdm configs/scripts move
@ -129,6 +129,11 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/xsessions/xinit-compat.desktop
%changelog
* Wed Feb 25 2009 Adam Tkac <atkac redhat com> 1.0.9-5
- run ck-xinit-session for all sessions where the xdg cookie isn't already
set (#452156, patch from Patrice Dumas)
- add which Requires (#413041, patch from Patrice Dumas)
* Mon Aug 25 2008 Matthias Clasen <mclasen@redhat.com> 1.0.9-4
- Make the gnome session actually take the gnome case in the switch (#458694)
- Update patches