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
+
# We set LD_BIND_NOW to increase the efficiency of tdeinit.
# tdeinit unsets this variable before loading applications.
-LD_BIND_NOW=true $TDEDIR/bin/start_tdeinit_wrapper --new-startup +kcminit_startup
+LD_BIND_NOW=true $DBUSWRAPPER $TDEDIR/bin/start_tdeinit_wrapper --new-startup
+kcminit_startup
if test $? -ne 0; then
# Startup error
echo "[starttde] Could not start tdeinit. Check your installation."
1>&2