aboutsummaryrefslogtreecommitdiff
path: root/lightdm-arctica-greeter-session
diff options
context:
space:
mode:
Diffstat (limited to 'lightdm-arctica-greeter-session')
-rwxr-xr-xlightdm-arctica-greeter-session36
1 files changed, 36 insertions, 0 deletions
diff --git a/lightdm-arctica-greeter-session b/lightdm-arctica-greeter-session
new file mode 100755
index 0000000..536e0ae
--- /dev/null
+++ b/lightdm-arctica-greeter-session
@@ -0,0 +1,36 @@
+#!/bin/sh
+# -*- Mode: sh; indent-tabs-mode: nil; tab-width: 4 -*-
+#
+# Copyright (C) 2011 Canonical Ltd
+# Author: Michael Terry <michael.terry@canonical.com>
+#
+# This program is free software: you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation, version 3 of the License.
+#
+# See http://www.gnu.org/copyleft/gpl.html the full text of the license.
+
+# This wrapper merely ensures that dbus-daemon lives only as long as this
+# script does. Otherwise, it's very easy for dbus-daemon to be autolaunched
+# and detached from the greeter.
+
+trap cleanup TERM EXIT
+
+cleanup()
+{
+ trap - TERM EXIT
+ if [ -n "$DBUS_SESSION_BUS_PID" ]; then
+ kill "$DBUS_SESSION_BUS_PID"
+ fi
+ if [ -n "$CMD_PID" ]; then
+ kill "$CMD_PID"
+ fi
+ exit 0
+}
+
+eval `dbus-launch --sh-syntax`
+
+exec $@ &
+CMD_PID=$!
+wait $CMD_PID
+CMD_PID=