From f6cdbf048c17ae1529898a4c512db7af4a0c03f5 Mon Sep 17 00:00:00 2001 From: zhaoyingzhen Date: Fri, 19 Dec 2025 13:59:57 +0800 Subject: [PATCH] fix: Avoid autostart service being executed twice When ExecCondition returns an exit code that is non-zero but not 255, the service is marked as "skipped" rather than "failed". The skipped state may be treated as success by some versions of systemd, thereby triggering OnSuccess! Log: as title Pms: BUG-343321 --- .../dde-session-pre.target.wants/dde-quick-login@x11.service | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systemd/dde-session-pre.target.wants/dde-quick-login@x11.service b/systemd/dde-session-pre.target.wants/dde-quick-login@x11.service index a6780af..92e3851 100644 --- a/systemd/dde-session-pre.target.wants/dde-quick-login@x11.service +++ b/systemd/dde-session-pre.target.wants/dde-quick-login@x11.service @@ -15,8 +15,8 @@ OnSuccess=dde-lock.service dde-version-checker@quick-login.service dde-autostart Slice=session.slice Type=notify # only in quick login mode and x11 -ExecCondition=/bin/sh -c '[ "$DDE_QUICKLOGIN" = "true" ] || exit 2' -ExecCondition=/bin/sh -c '[ "$XDG_SESSION_TYPE" = "%I" ] || exit 3' +ExecCondition=/bin/sh -c '[ "$DDE_QUICKLOGIN" = "true" ] || exit 255' +ExecCondition=/bin/sh -c '[ "$XDG_SESSION_TYPE" = "%I" ] || exit 255' ExecStart=/usr/bin/dde-quick-login SuccessExitStatus=0 Restart=on-failure