32 lines
1 KiB
Bash
32 lines
1 KiB
Bash
# -*- sh -*-
|
|
# Xsession.d script for ck-launch-session.
|
|
#
|
|
#
|
|
# This file is sourced by Xsession(5), not executed.
|
|
|
|
CK_LAUNCH_SESSION=/usr/bin/ck-launch-session
|
|
|
|
is_on_console() {
|
|
session=$(dbus-send --system --dest=org.freedesktop.ConsoleKit \
|
|
--type=method_call --print-reply --reply-timeout=2000 \
|
|
/org/freedesktop/ConsoleKit/Manager \
|
|
org.freedesktop.ConsoleKit.Manager.GetCurrentSession \
|
|
| grep path | awk '{print $3}' | sed s/\"//g)
|
|
x11_display=$(dbus-send --system --dest=org.freedesktop.ConsoleKit \
|
|
--type=method_call --print-reply --reply-timeout=2000 \
|
|
$session org.freedesktop.ConsoleKit.Session.GetX11Display \
|
|
| grep string | awk '{print $2}' | sed s/\"//g)
|
|
|
|
if [ -z "$x11_display" ] ; then
|
|
return 0
|
|
else
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# gdm already creates a CK session for us, so do not run the expensive D-Bus
|
|
# calls if we have $GDMSESSION
|
|
if [ -z "$GDMSESSION" ] && [ -x "$CK_LAUNCH_SESSION" ] && \
|
|
( [ -z "$XDG_SESSION_COOKIE" ] || is_on_console ) ; then
|
|
command="$CK_LAUNCH_SESSION $command"
|
|
fi
|