--- lightdm-1.26.0/liblightdm-gobject/power.c 2018-06-01 20:51:13.240325293 +0000 +++ lightdm-1.26.0/liblightdm-gobject/power.c.new 2018-06-01 23:31:21.650022888 +0000 @@ -11,6 +11,7 @@ #include #include +#include #include #include "lightdm/power.h" @@ -116,6 +116,10 @@ ck_call_function (const gchar *function, gboolean lightdm_get_can_suspend (void) { + /* It is not local X11 session */ + if (!getenv("XDG_VTNR")) + return FALSE; + g_autoptr(GVariant) r = login1_call_function ("CanSuspend", NULL, NULL); gboolean can_suspend = FALSE; if (r) @@ -158,6 +158,10 @@ lightdm_get_can_suspend (void) gboolean lightdm_suspend (GError **error) { + /* It is not local X11 session */ + if (!getenv("XDG_VTNR")) + return FALSE; + g_autoptr(GError) login1_error = NULL; g_autoptr(GVariant) login1_result = login1_call_function ("Suspend", g_variant_new("(b)", FALSE), &login1_error); if (login1_result) @@ -186,6 +186,10 @@ lightdm_suspend (GError **error) gboolean lightdm_get_can_hibernate (void) { + /* It is not local X11 session */ + if (!getenv("XDG_VTNR")) + return FALSE; + g_autoptr(GVariant) r = login1_call_function ("CanHibernate", NULL, NULL); gboolean can_hibernate = FALSE; if (r) @@ -228,6 +228,10 @@ lightdm_get_can_hibernate (void) gboolean lightdm_hibernate (GError **error) { + /* It is not local X11 session */ + if (!getenv("XDG_VTNR")) + return FALSE; + g_autoptr(GError) login1_error = NULL; g_autoptr(GVariant) login1_result = login1_call_function ("Hibernate", g_variant_new("(b)", FALSE), &login1_error); if (login1_result) @@ -256,6 +256,10 @@ lightdm_hibernate (GError **error) gboolean lightdm_get_can_restart (void) { + /* It is not local X11 session */ + if (!getenv("XDG_VTNR")) + return FALSE; + g_autoptr(GVariant) r = login1_call_function ("CanReboot", NULL, NULL); gboolean can_restart = FALSE; if (r) @@ -288,6 +288,10 @@ lightdm_get_can_restart (void) gboolean lightdm_restart (GError **error) { + /* It is not local X11 session */ + if (!getenv("XDG_VTNR")) + return FALSE; + g_autoptr(GError) login1_error = NULL; g_autoptr(GVariant) login1_result = login1_call_function ("Reboot", g_variant_new("(b)", FALSE), &login1_error); if (login1_result) @@ -307,6 +307,10 @@ lightdm_restart (GError **error) gboolean lightdm_get_can_shutdown (void) { + /* It is not local X11 session */ + if (!getenv("XDG_VTNR")) + return FALSE; + g_autoptr(GVariant) r = login1_call_function ("CanPowerOff", NULL, NULL); gboolean can_shutdown = FALSE; if (r) @@ -339,6 +339,10 @@ lightdm_get_can_shutdown (void) gboolean lightdm_shutdown (GError **error) { + /* It is not local X11 session */ + if (!getenv("XDG_VTNR")) + return FALSE; + g_autoptr(GError) login1_error = NULL; g_autoptr(GVariant) login1_result = login1_call_function ("PowerOff", g_variant_new("(b)", FALSE), &login1_error); if (login1_result)