From 819a1851b11bb376e55268a692b89b677354ccbc Mon Sep 17 00:00:00 2001 From: April & May & June Date: Thu, 5 Feb 2026 18:39:30 +0800 Subject: [PATCH] fix: avoid mistakenly create seat group on debian-based systems seatd uses video group instead of seat group on debian-based systems, so we need a specified version of sysuser.conf to avoid creating seat group mistakenly. --- services/CMakeLists.txt | 11 ++++++++--- services/debian.ddm-sysuser.conf.in | 6 ++++++ 2 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 services/debian.ddm-sysuser.conf.in diff --git a/services/CMakeLists.txt b/services/CMakeLists.txt index fbf54e5..1e0b7a3 100644 --- a/services/CMakeLists.txt +++ b/services/CMakeLists.txt @@ -1,9 +1,6 @@ configure_file(ddm.service.in ddm.service) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ddm.service" DESTINATION "${SYSTEMD_SYSTEM_UNIT_DIR}") -configure_file(ddm-sysuser.conf.in ddm-sysuser.conf) -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ddm-sysuser.conf" DESTINATION "${SYSTEMD_SYSUSERS_DIR}" RENAME dde.conf) - # systemd-tmpfiles can be used standalone without other systemd parts if(DEFINED SYSTEMD_TMPFILES_DIR) configure_file(ddm-tmpfiles.conf.in ddm-tmpfiles.conf) @@ -12,6 +9,14 @@ endif() if(EXISTS "/etc/debian_version") install(FILES debian.ddm.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME ddm) + + # In debian-based systems, seatd uses video group instead of seat + # group, avoid creating seat group mistakenly by specifying + # different sysuser.conf + configure_file(debian.ddm-sysuser.conf.in debian.ddm-sysuser.conf) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/debian.ddm-sysuser.conf" DESTINATION "${SYSTEMD_SYSUSERS_DIR}" RENAME dde.conf) else() install(FILES ddm.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME ddm) + configure_file(ddm-sysuser.conf.in ddm-sysuser.conf) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ddm-sysuser.conf" DESTINATION "${SYSTEMD_SYSUSERS_DIR}" RENAME dde.conf) endif() diff --git a/services/debian.ddm-sysuser.conf.in b/services/debian.ddm-sysuser.conf.in new file mode 100644 index 0000000..4bf82a4 --- /dev/null +++ b/services/debian.ddm-sysuser.conf.in @@ -0,0 +1,6 @@ +#Type Name ID GECOS Home directory Shell +u dde - "DDM Greeter Account" ${STATE_DIR} - +g dde - +m dde dde +m dde video +m dde render