From 51e1d488188d49770e92a403cab76eece6fe8915 Mon Sep 17 00:00:00 2001 From: justforlxz Date: Mon, 25 Mar 2024 14:06:01 +0800 Subject: [PATCH 1/2] chore: move dde-session@x11 to dde-session-pre.target some service like kwin or treeland needs running before DDE Log: --- systemd/CMakeLists.txt | 4 +- .../dde-display.service | 3 +- .../dde-session@x11.service | 12 +----- systemd/dde-session.target | 3 -- systemd/dde-session@wayland.service | 38 ------------------- 5 files changed, 6 insertions(+), 54 deletions(-) rename systemd/{ => dde-session-pre.target.wants}/dde-session@x11.service (84%) delete mode 100644 systemd/dde-session@wayland.service diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt index caaf2b2..2a1986a 100644 --- a/systemd/CMakeLists.txt +++ b/systemd/CMakeLists.txt @@ -17,13 +17,12 @@ set(SERVICES ${CMAKE_CURRENT_BINARY_DIR}/dde-session-shutdown.service dde-session-shutdown.target dde-session.target - dde-session@x11.service - dde-session@wayland.service ) install(FILES ${SERVICES} DESTINATION lib/systemd/user/) install(DIRECTORY DESTINATION lib/systemd/user/dde-session-pre.target.wants/) set(DDE_SESSION_PRE_WANTS + dde-session-pre.target.wants/dde-session@x11.service dde-session-pre.target.wants/dde-display.service ) @@ -40,6 +39,7 @@ set(DDE_SESSION_INITIALIZED_WANTS install(FILES ${DDE_SESSION_PRE_WANTS} DESTINATION lib/systemd/user/) install(FILES ${DDE_SESSION_INITIALIZED_WANTS} DESTINATION lib/systemd/user/) +install_symlink(dde-session@x11.service dde-session-pre.target.wants) install_symlink(dde-display.service dde-session-pre.target.wants) install_symlink(dde-desktop.service dde-session-initialized.target.wants) install_symlink(dde-shell@DDE.service dde-session-initialized.target.wants) diff --git a/systemd/dde-session-pre.target.wants/dde-display.service b/systemd/dde-session-pre.target.wants/dde-display.service index ef45cad..c6797fa 100644 --- a/systemd/dde-session-pre.target.wants/dde-display.service +++ b/systemd/dde-session-pre.target.wants/dde-display.service @@ -11,14 +11,15 @@ Requires=dbus.socket After=dbus.socket Requisite=dde-session-pre.target +PartOf=dde-session-pre.target Before=dde-session-pre.target -After=dde-session@wayland.service Before=dde-session@x11.service [Service] Type=notify NotifyAccess=all +ExecCondition=/bin/sh -c 'test "$DISPLAY" != "" || exit 2' ExecStart=/usr/bin/startdde TimeoutStartSec=infinity Slice=session.slice diff --git a/systemd/dde-session@x11.service b/systemd/dde-session-pre.target.wants/dde-session@x11.service similarity index 84% rename from systemd/dde-session@x11.service rename to systemd/dde-session-pre.target.wants/dde-session@x11.service index 5fd83aa..8d8c556 100644 --- a/systemd/dde-session@x11.service +++ b/systemd/dde-session-pre.target.wants/dde-session@x11.service @@ -4,17 +4,10 @@ Description=dde on X11 OnFailure=dde-session-shutdown.target OnFailureJobMode=replace CollectMode=inactive-or-failed -RefuseManualStart=on -RefuseManualStop=on - -Requires=dde-session-manager.service -After=dde-session-manager.service Requisite=dde-session-pre.target PartOf=dde-session-pre.target -After=dde-session-pre.target - -PartOf=graphical-session.target +Before=dde-session-pre.target # Limit startup frequency more than the default StartLimitIntervalSec=15s @@ -22,8 +15,7 @@ StartLimitBurst=3 [Service] Slice=session.slice -BusName=org.kde.KWin -Type=dbus +Type=notify # NOTE: This can be replaced with ConditionEnvironment=XDG_SESSION_TYPE=%I in # the [Unit] section with systemd >= 246. Also, the current solution is # kind of painful as systemd had a bug where it retries the condition. diff --git a/systemd/dde-session.target b/systemd/dde-session.target index 02ffacc..8e305cd 100644 --- a/systemd/dde-session.target +++ b/systemd/dde-session.target @@ -10,6 +10,3 @@ After=dde-session-initialized.target Requires=dde-session-manager.service After=dde-session-manager.service - -Wants=dde-session@wayland.service -Wants=dde-session@x11.service diff --git a/systemd/dde-session@wayland.service b/systemd/dde-session@wayland.service deleted file mode 100644 index 9ce30ba..0000000 --- a/systemd/dde-session@wayland.service +++ /dev/null @@ -1,38 +0,0 @@ -[Unit] -Description=dde on Wayland -# On wayland, force a session shutdown -OnFailure=dde-session-shutdown.target -OnFailureJobMode=replace-irreversibly -CollectMode=inactive-or-failed -RefuseManualStart=on -RefuseManualStop=on - -Requires=dde-session-manager.service -After=dde-session-manager.service - -Requisite=dde-session-pre.target -PartOf=dde-session-pre.target -Before=dde-session-pre.target - -PartOf=graphical-session.target - -[Service] -Slice=session.slice -BusName=org.kde.KWinWrapper -Type=dbus -# NOTE: This can be replaced with ConditionEnvironment=XDG_SESSION_TYPE=%I in -# the [Unit] section with systemd >= 246. Also, the current solution is -# kind of painful as systemd had a bug where it retries the condition. -# Only start if the template instance matches the session type. -ExecCondition=/bin/sh -c 'test "$XDG_SESSION_TYPE" = "%I" || exit 2' -ExecStart=/usr/bin/deepin-kwin_wayland_wrapper --xwayland --drm --no-lockscreen -# Exit code 1 means we are probably *not* dealing with an extension failure -SuccessExitStatus=1 - -# unset some environment variables that were set by the shell and won't work now that the shell is gone -ExecStopPost=-/bin/sh -c 'test "$SERVICE_RESULT" != "exec-condition" && systemctl --user unset-environment WAYLAND_DISPLAY DISPLAY XAUTHORITY' - -# On wayland we cannot restart -Restart=no -# Kill any stubborn child processes after this long -TimeoutStopSec=5 From d3c0305a8fb8fd7813c798618c4149ea9921da7e Mon Sep 17 00:00:00 2001 From: justforlxz Date: Sun, 28 Apr 2024 13:04:08 +0800 Subject: [PATCH 2/2] chore: release 1.2.9 release 1.2.9 Log: --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index e378f98..4afcdee 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +dde-session (1.2.9) unstable; urgency=medium + + * chore: move dde-session@x11 to dde-session-pre.target + + -- justforlxz Sun, 28 Apr 2024 13:03:06 +0800 + dde-session (1.2.8) unstable; urgency=medium * fix: logging out takes a long time