From 869ebd595c226d5055d916b1e7fb7f3c94c50c8a Mon Sep 17 00:00:00 2001 From: Mahesh Asolkar Date: Sat, 20 Dec 2025 22:07:49 -0800 Subject: [PATCH] DWL setup clean up after changing user ID Making UID within legal range in Arch addressed many systemd related issues --- dwl.service | 10 +++++----- dwl.session | 4 +++- dwl.start | 16 +++++++++++----- dwl_entourage/dwl.bar_setup | 2 +- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/dwl.service b/dwl.service index 6fcfda5..ea65e63 100644 --- a/dwl.service +++ b/dwl.service @@ -35,15 +35,15 @@ After=graphical-session-pre.target [Service] Type=oneshot -Environment=XDG_RUNTIME_DIR=%I -Environment=DWL_TAGS_FILE=%I/dwl.tags -Environment=DWL_LOG_FILE=%I/dwl.log +Environment=XDG_RUNTIME_DIR=%t +Environment=DWL_TAGS_FILE=%t/dwl.tags +Environment=DWL_LOG_FILE=%t/dwl.log Environment=DWLTAGS_FMT=DZEN Environment=XDG_CURRENT_DESKTOP=DWL Environment=XKB_DEFAULT_VARIANT=altgr-intl Environment=XKB_DEFAULT_OPTIONS=caps:escape,compose:rctrl -Environment=PIPEWIRE_RUNTIME_DIR=/run/user/501 -Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/501/bus +Environment=PIPEWIRE_RUNTIME_DIR=%t +Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=%t/bus ExecStart=%h/bin/dwl.session Restart=on-failure RestartSec=1 diff --git a/dwl.session b/dwl.session index e02a597..6345d84 100755 --- a/dwl.session +++ b/dwl.session @@ -1,10 +1,12 @@ #!/usr/bin/env bash +export $(dbus-launch) + echo $XDG_RUNTIME_DIR used for Wayland session export WLR_LIBINPUT_NO_DEVICES=1 export DWL_PATH=/usr/local/bin -# export DWL_PATH=/home/mahesh/git/furnish/heshapps_dwl +# export DWL_PATH=/home/mahesh/git/heshapps_codeberg_dwl export DWL_BAR_PATH=/usr/local/bin # export DWL_BAR_PATH=/home/mahesh/git/somebar_20240217/build export DWL_BAR=$DWL_BAR_PATH/somebar diff --git a/dwl.start b/dwl.start index 8880b3c..9ccffc8 100755 --- a/dwl.start +++ b/dwl.start @@ -1,17 +1,23 @@ #!/usr/bin/env bash # Start DWL -RUNTIME_DIR=$(mktemp --directory --suffix=.${USER}) +RUNTIME_DIR=$(mktemp --dry-run --suffix=.${USER}) # Escape slashes in the path -SNAME=$(systemd-escape ${RUNTIME_DIR}.service) - +# SNAME=$(systemd-escape $(basename ${RUNTIME_DIR}).service) +SNAME=${USER}_${XDG_VTNR} +export XDG_SESSION_CLASS=user +echo "#################" +echo "$XDG_RUNTIME_DIR" +echo "#################" # Start service blocking. Remove runtime directory upon completion. # Be sure to import XDG session variables for graphical-session to work systemctl --user import-environment XDG_SEAT && \ systemctl --user import-environment XDG_SESSION_TYPE && \ systemctl --user import-environment XDG_SESSION_CLASS && \ systemctl --user import-environment XDG_VTNR && \ +systemctl --user import-environment XDG_RUNTIME_DIR && \ systemctl --user import-environment XDG_SESSION_ID && \ -systemctl --wait --user start dwl@${SNAME} && \ -rm -rf ${RUNTIME_DIR} +systemctl --wait --user start dwl@${SNAME} +# && \ +# rm -rf ${RUNTIME_DIR} diff --git a/dwl_entourage/dwl.bar_setup b/dwl_entourage/dwl.bar_setup index 9b3b1bb..baba62c 100644 --- a/dwl_entourage/dwl.bar_setup +++ b/dwl_entourage/dwl.bar_setup @@ -8,5 +8,5 @@ mkfifo $SOMEBAR_INST_FIFO -m666 # conky -c ~/.conkyrc > $SOMEBAR_INST_FIFO & nohup unibar --music-progress > $SOMEBAR_INST_FIFO & -$DWL_BAR -s $SOMEBAR_INST_FIFO > $SOMEBAR_INST_FIFO.log 2>&1 +dbus-launch --exit-with-session -- $DWL_BAR -s $SOMEBAR_INST_FIFO > $SOMEBAR_INST_FIFO.log 2>&1