Ghee:

In my previous email I asked why we still need to hack 
dtlogin-integration's Xsession script to save the user's SHELL variable
and reset it after calling dbus-launch.  This seems unnecessary when
calling dbus-launch with --sh-syntax.

Also, why are we patching dtlogin-integration rather than modifying
the dtlogin-integration module and spinning a new release?

> I noticed that there more than one set of dbus-launch/dbus-daemon in 
> OpenSolairs b97 + vermillion 100.
> Based on the ordering of pids, the most likely app that launches 
> dbus-daemon is iiimd, however I can't
> confirm it since I don't know where the source is, and not sure the 
> exact sequence it start.
> 
> We need to have a coherence approach to start dbus session, we should 
> only have one session dbus
> per user session for memory/efficiency. So the approach is 2 folds:
> 
> - We should start dbus session as early as possible when user login, 
> Brian Cameron made suggestion to
> put it in /etc/X11/xinit/xinitrc.d, I am clarifying how does this work.

When using GDM, the /etc/X11/gdm/Xsession script has this code:

# run all system xinitrc shell scripts.
if [ -d /etc/X11/xinit/xinitrc.d ]; then
     for i in /etc/X11/xinit/xinitrc.d/* ; do
         if [ -x "$i" ]; then
             . "$i"
         fi
     done
fi

So, if you install files to this directory, they should run.  I
believe that the /etc/x11/xinit directory is empty by default on
both Solaris and OpenSolaris.  However, any package (such as
gnome-session) which wants to install a script to make sure that
something like dbus-launch is started can easily create the directory
and add any desired scripts.  Since OpenSolaris only uses GDM, this
should work fine.

> - Application should check whether there is DBUS_SESSION_BUS_ADDRESS 
> defined before
> doing an explicit dbus-launch.

For this to work with CDE login, though, you would need to also
put the same script in /usr/dt/config/Xsession.d.  Since, on
Solaris Nevada, GDM runs both the /etc/X11/gdm/Xsession script
and the /etc/X11/xinit/xinitrc.d scripts, you would obviously
need to check the environment variables as you describe and avoid
starting dbus-launch a second time if it was already started by
an earlier process.

By the way, I understand that Takao is considering moving G11N
specific Xsession startup code that is currently hardcoded into
the GDM Xsession script and/or dtstart script into the
/usr/dt/config/Xsession.d and /etc/X11/xinit/xinitrc.d scripts
so that code is better encapsulated and separated from other
session startup scripting.

Brian

Reply via email to