On Tue, Nov 05, 2024 at 10:18:39PM +0100, deloptes via
tde-users wrote:
It seems TDE should check if systemd is in use
and if
not start the session via dbus-launch.
All good. it should be easy enough to fix
in starttde. Something like
this?
diff --git a/starttde b/starttde
index 66360e228..bbc3b2202 100755
--- a/starttde
+++ b/starttde
@@ -772,9 +772,15 @@ TDE_SESSION_UID=`id -u`
export TDE_SESSION_UID
echo "[starttde] TDE_SESSION_UID: $TDE_SESSION_UID" 1>&2
+# If we're not running under systemd, we need to launch tdeinit with
dbus-launch +DBUSWRAPPER=""
+if [ -z $DBUSWRAPPER ] && [ -x $(which dbus-launch) ]; then
+ DBUSWRAPPER=$(which dbus-launch)
+fi
May be there is a better way to check if dbus session is started for the
user. Look in starttde below following line
# Start tde_dbus_hardwarecontrol at background
In debian there is the dbus-x11 package that contains dbus-launch command.
It provides also few scripts where it says
$ cat /etc/X11/Xsession.d/75dbus_dbus-launch
# $Id:$
# In order to activate the session bus at X session launch
# simply place use-session-dbus into your /etc/X11/Xsession.options file
#
STARTDBUS=
DBUSLAUNCH=/usr/bin/dbus-launch
if has_option use-session-dbus; then
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] && [ -x "$DBUSLAUNCH"
]; then
STARTDBUS=yes
fi
fi
if [ -n "$STARTDBUS" ]; then
# Note that anything that is D-Bus-activated between here and
# 95dbus_update-activation-env will not have the complete environment
# set up by Xsession.d, unless the Xsession.d snippet that sets the
# environment variable also calls dbus-update-activation-environment.
# See <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815503>
eval $($DBUSLAUNCH --exit-with-session --sh-syntax)
fi