Hi, Since we're doing stuff now that requires a session D-Bus, shouldn't we patch the X init scripts to actually execute it? Or were we thinking of an approach with gnome-session executing it? Attached is a patch to implement in /etc/X11/xdm/Xsession. We also need to patch gdm to depend on dbus-x11.
--- /etc/X11/xdm/Xsession~ 2004-08-09 15:31:37.864168912 -0400
+++ /etc/X11/xdm/Xsession 2004-08-07 20:18:46.000000000 -0400
@@ -101,6 +101,8 @@
# is ssh-agent available?
SSHAGENT=
[ -x /usr/bin/ssh-agent ] && SSHAGENT="/usr/bin/ssh-agent"
+DBUS_LAUNCH=
+[ -x /usr/bin/dbus-launch ] && DBUS_LAUNCH="/usr/bin/dbus-launch"
# now, we see if xdm/gdm/kdm has asked for a specific environment
case $# in
@@ -114,21 +116,21 @@
exec -l $SHELL -c "xterm -geometry 80x24-0-0"
;;
gnome)
- exec -l $SHELL -c "$SSHAGENT gnome-session"
+ exec -l $SHELL -c "$SSHAGENT $DBUS_LAUNCH gnome-session"
;;
kde|kde1|kde2)
- exec -l $SHELL -c "$SSHAGENT $SWITCHDESKPATH/Xclients.kde"
+ exec -l $SHELL -c "$SSHAGENT $DBUS_LAUNCH $SWITCHDESKPATH/Xclients.kde"
;;
twm)
# fall back to twm
- exec -l $SHELL -c "$SSHAGENT $SWITCHDESKPATH/Xclients.twm"
+ exec -l $SHELL -c "$SSHAGENT $DBUS_LAUNCH $SWITCHDESKPATH/Xclients.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 -l $SHELL -c "$SSHAGENT $1"
+ exec -l $SHELL -c "$SSHAGENT $DBUS_LAUNCH $1"
fi
;;
esac
@@ -136,11 +138,11 @@
# otherwise, take default action
if [ -x "$HOME/.xsession" ]; then
- exec -l $SHELL -c "$SSHAGENT $HOME/.xsession"
+ exec -l $SHELL -c "$SSHAGENT $DBUS_LAUNCH $HOME/.xsession"
elif [ -x "$HOME/.Xclients" ]; then
- exec -l $SHELL -c "$SSHAGENT $HOME/.Xclients"
+ exec -l $SHELL -c "$SSHAGENT $DBUS_LAUNCH $HOME/.Xclients"
elif [ -x /etc/X11/xinit/Xclients ]; then
- exec -l $SHELL -c "$SSHAGENT /etc/X11/xinit/Xclients"
+ exec -l $SHELL -c "$SSHAGENT $DBUS_LAUNCH /etc/X11/xinit/Xclients"
else
# should never get here; failsafe fallback
exec -l $SHELL -c "xsm"
Attachment:
signature.asc
Description: This is a digitally signed message part