diff options
Diffstat (limited to 'source/l/ConsoleKit/pam-foreground-compat.ck')
-rw-r--r-- | source/l/ConsoleKit/pam-foreground-compat.ck | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/source/l/ConsoleKit/pam-foreground-compat.ck b/source/l/ConsoleKit/pam-foreground-compat.ck new file mode 100644 index 00000000..97912727 --- /dev/null +++ b/source/l/ConsoleKit/pam-foreground-compat.ck @@ -0,0 +1,16 @@ +#!/bin/sh +TAGDIR=/var/run/console + +[ -n "${CK_SESSION_USER_UID}" ] || exit 1 + +TAGFILE="${TAGDIR}/$(getent passwd ${CK_SESSION_USER_UID} | cut -f 1 -d:)" + +if [ "$1" = "session_added" ]; then + mkdir -p "${TAGDIR}" + echo "${CK_SESSION_ID}" >> "$TAGFILE" +fi + +if [ "$1" = "session_removed" ] && [ -e "$TAGFILE" ]; then + sed -i "\%^$CK_SESSION_ID\$%d" "${TAGFILE}" + [ -s "${TAGFILE}" ] || rm -f "${TAGFILE}" +fi |