Add optional systemd support
When configured with --enable-systemd, this patch makes the user panel use systemd for session tracking instead of ConsoleKit. https://bugzilla.gnome.org/show_bug.cgi?id=666573
This commit is contained in:
parent
f3592ce32a
commit
b294b10324
2 changed files with 30 additions and 1 deletions
14
configure.ac
14
configure.ac
|
@ -55,6 +55,17 @@ CPPFLAGS=$savecppflags
|
|||
|
||||
AC_CHECK_LIB(m, floor)
|
||||
|
||||
AC_ARG_ENABLE([systemd],
|
||||
AS_HELP_STRING([--enable-systemd], [Use systemd]),
|
||||
[with_systemd=$enableval],
|
||||
[with_systemd=no])
|
||||
if test "$with_systemd" = "yes" ; then
|
||||
SYSTEMD=libsystemd-login
|
||||
AC_DEFINE(HAVE_SYSTEMD, 1, [Define to 1 if systemd is available])
|
||||
else
|
||||
SYSTEMD=
|
||||
fi
|
||||
|
||||
dnl ==============================================
|
||||
dnl Check that we meet the dependencies
|
||||
dnl ==============================================
|
||||
|
@ -118,7 +129,8 @@ PKG_CHECK_MODULES(USER_ACCOUNTS_PANEL, $COMMON_MODULES dbus-glib-1
|
|||
polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION
|
||||
gnome-desktop-3.0
|
||||
clutter-gst-1.0
|
||||
gdk-pixbuf-2.0 >= $GDKPIXBUF_REQUIRED_VERSION)
|
||||
gdk-pixbuf-2.0 >= $GDKPIXBUF_REQUIRED_VERSION
|
||||
$SYSTEMD)
|
||||
PKG_CHECK_MODULES(WACOM_PANEL, $COMMON_MODULES
|
||||
gnome-settings-daemon >= $GSD_REQUIRED_VERSION
|
||||
xi >= 1.2 x11 libwacom)
|
||||
|
|
|
@ -1028,6 +1028,22 @@ um_user_set_password (UmUser *user,
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef HAVE_SYSTEMD
|
||||
|
||||
#include <systemd/sd-login.h>
|
||||
|
||||
gboolean
|
||||
um_user_is_logged_in (UmUser *user)
|
||||
{
|
||||
int n_sessions;
|
||||
|
||||
n_sessions = sd_uid_get_sessions (um_user_get_uid (user), 0, NULL) > 0;
|
||||
|
||||
return n_sessions > 0;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
gboolean
|
||||
um_user_is_logged_in (UmUser *user)
|
||||
{
|
||||
|
@ -1065,6 +1081,7 @@ um_user_is_logged_in (UmUser *user)
|
|||
return n_sessions > 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
void
|
||||
um_user_set_automatic_login (UmUser *user,
|
||||
|
|
Loading…
Add table
Reference in a new issue