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