[Lunar-commits] <moonbase-other> slim: remove internal restart when using PAM
v4hn
me at v4hn.de
Tue Nov 4 11:41:25 CET 2014
commit ef7b300a4c75677137998422713f2cc3474470bd
Author: v4hn <me at v4hn.de>
Date: Tue, 04 Nov 2014 11:29:20 +0100
URL: https://github.com/lunar-linux/moonbase-other/commit/ef7b300a4c75677137998422713f2cc3474470bd
slim: remove internal restart when using PAM
If slim doesn't _fully_ restart with PAM
the user will end up with broken keyboard input
when they log out again.
Thanks to timcowchip for reporting this.
---
x11-utils/slim/PRE_BUILD | +8/-0
x11-utils/slim/systemd.d/slim.service | +1/-0
2 files changed, 9 insertions(+)
--- a/x11-utils/slim/PRE_BUILD
+++ b/x11-utils/slim/PRE_BUILD
@@ -8,6 +8,14 @@ sedit 's at FREETYPE_INCLUDE_DIR_freetype2@FREETYPE_INCLUDE_DIR_ft2build@' CMakeLis
# link against pam with USE_PAM
sedit '/target_link_libraries(${PROJECT_NAME} ${PAM_LIBRARY})/ a target_link_libraries(libslim ${PAM_LIBRARY})' CMakeLists.txt &&
+# https://bugs.freedesktop.org/show_bug.cgi?id=62866
+# Lennart: no, you mustn't reuse a process after it used PAM once.
+# So we disable the internal restart completely
+if in_depends $MODULE "Linux-PAM"; then
+ sedit 's/\([^:]\)RestartServer/\1Exit/g' app.cpp &&
+ sedit "/void Exit/ d; /void RestartServer/ a void Exit();" app.h
+fi &&
+
# fix their broken sample configuration
sedit 's/^sessions.*/#\0/; T; a sessiondir /usr/share/xsessions' slim.conf &&
--- a/x11-utils/slim/systemd.d/slim.service
+++ b/x11-utils/slim/systemd.d/slim.service
@@ -6,6 +6,7 @@ After=systemd-user-sessions.service
ExecStart=/usr/bin/slim -nodaemon
StandardInput=tty-force
TTYPath=/dev/tty7
+Restart=always
[Install]
Alias=display-manager.service
More information about the Lunar-commits
mailing list