summaryrefslogtreecommitdiffstats
path: root/extra/consolekit/pam-foreground-compat.ck
diff options
context:
space:
mode:
Diffstat (limited to 'extra/consolekit/pam-foreground-compat.ck')
-rw-r--r--extra/consolekit/pam-foreground-compat.ck16
1 files changed, 16 insertions, 0 deletions
diff --git a/extra/consolekit/pam-foreground-compat.ck b/extra/consolekit/pam-foreground-compat.ck
new file mode 100644
index 000000000..7f6b122d5
--- /dev/null
+++ b/extra/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