Currently tl-notify works via the saved environment mechanism. But that doesn't trigger until the end of the session startup. So whilst the user is still hanging around in the profile selected, or waiting on something else in xstartup.d, you get this from tl-notify:
> $ /opt/thinlinc/sbin/tl-notify Foo
> error: notify 'ossman' on display 3 failed ([Errno 2] No such file or directory: '/var/opt/thinlinc/sessions/ossman/3/xstartup.env')
On modern systems the bus is always available at /run/user/<uid>/bus, so perhaps we can have some fallback?
(see bug 5950 for the whole shared dbus thing)