![]() |
![]() |
![]() |
LightDM Greeter Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Signals |
#include <lightdm/greeter.h> LdmGreeter; LdmGreeter * ldm_greeter_new (void
); gboolean ldm_greeter_connect (LdmGreeter *greeter
); const gchar * ldm_greeter_get_hostname (LdmGreeter *greeter
); const gchar * ldm_greeter_get_theme (LdmGreeter *greeter
); gchar * ldm_greeter_get_string_property (LdmGreeter *greeter
,const gchar *name
); gint ldm_greeter_get_integer_property (LdmGreeter *greeter
,const gchar *name
); gboolean ldm_greeter_get_boolean_property (LdmGreeter *greeter
,const gchar *name
); gint ldm_greeter_get_num_users (LdmGreeter *greeter
); const GList * ldm_greeter_get_users (LdmGreeter *greeter
); const gchar * ldm_greeter_get_default_language (LdmGreeter *greeter
); const GList * ldm_greeter_get_languages (LdmGreeter *greeter
); const gchar * ldm_greeter_get_default_layout (LdmGreeter *greeter
); const GList * ldm_greeter_get_layouts (LdmGreeter *greeter
); const gchar * ldm_greeter_get_layout (LdmGreeter *greeter
); void ldm_greeter_set_layout (LdmGreeter *greeter
,const gchar *layout
); const GList * ldm_greeter_get_sessions (LdmGreeter *greeter
); const gchar * ldm_greeter_get_default_session (LdmGreeter *greeter
); const gchar * ldm_greeter_get_timed_login_user (LdmGreeter *greeter
); gint ldm_greeter_get_timed_login_delay (LdmGreeter *greeter
); void ldm_greeter_cancel_timed_login (LdmGreeter *greeter
); void ldm_greeter_start_authentication (LdmGreeter *greeter
,const char *username
); void ldm_greeter_provide_secret (LdmGreeter *greeter
,const gchar *secret
); void ldm_greeter_cancel_authentication (LdmGreeter *greeter
); gboolean ldm_greeter_get_is_authenticated (LdmGreeter *greeter
); const gchar * ldm_greeter_get_authentication_user (LdmGreeter *greeter
); void ldm_greeter_login (LdmGreeter *greeter
,const gchar *username
,const gchar *session
,const gchar *language
); gboolean ldm_greeter_get_can_suspend (LdmGreeter *greeter
); void ldm_greeter_suspend (LdmGreeter *greeter
); gboolean ldm_greeter_get_can_hibernate (LdmGreeter *greeter
); void ldm_greeter_hibernate (LdmGreeter *greeter
); gboolean ldm_greeter_get_can_restart (LdmGreeter *greeter
); void ldm_greeter_restart (LdmGreeter *greeter
); gboolean ldm_greeter_get_can_shutdown (LdmGreeter *greeter
); void ldm_greeter_shutdown (LdmGreeter *greeter
); gboolean ldm_greeter_get_user_defaults (LdmGreeter *greeter
,const gchar *username
,gchar **language
,gchar **layout
,gchar **session
);
"authentication-user" gchar* : Read "can-hibernate" gboolean : Read "can-restart" gboolean : Read "can-shutdown" gboolean : Read "can-suspend" gboolean : Read "default-session" gchar* : Read / Write "hostname" gchar* : Read "is-authenticated" gboolean : Read "layout" gchar* : Read / Write "login-delay" gint : Read "num-users" gint : Read "timed-login-user" gchar* : Read
"authentication-complete" : Run Last "quit" : Run Last "show-error" : Run Last "show-message" : Run Last "show-prompt" : Run Last "timed-login" : Run Last
LdmGreeter is an object that manages the connection to the LightDM server and provides common greeter functionality.
To connect to the display manager instanciate a LdmGreeter object from inside the greeter process:
Example 1. Connecting to the display manager
LdmGreeter *greeter = ldm_greeter_new (); if (!ldm_greeter_connect (LDM_GREETER (greeter))) { // Log an error exit (0); }
Information on how to connect to the display manager is passed using environment variables.
Once connected, start an authentication conversation like this:
Example 2. Example Authorization Conversation
static void show_prompt_cb (LdmGreeter *greeter, const char *text) { // Show the user the message and prompt for some response gchar *secret = prompt_user (text); // Give the result to the user ldm_greeter_provide_secret (greeter, secret); } static void authentication_complete_cb (LdmGreeter *greeter) { if (ldm_greeter_get_is_authenticated (greeter)) { // Log in to this session. ldm_greeter_login (greeter, ldm_greeter_get_authentication_user (greeter), ldm_greeter_get_default_session (greeter)); } else { // Display a warning and reset the greeter reset_login_screen (); } } static void quit_cb (LdmGreeter *greeter) { // Clean up // ... exit (0); } g_object_connect (G_OBJECT (greeter), "show-prompt", G_CALLBACK (show_prompt_cb), NULL); g_object_connect (G_OBJECT (greeter), "authentication-complete", G_CALLBACK (authentication_complete_cb), NULL); g_object_connect (G_OBJECT (greeter), "quit", G_CALLBACK (quit_cb), NULL);
LdmGreeter * ldm_greeter_new (void
);
Create a new greeter.
Returns : |
the new LdmGreeter |
gboolean ldm_greeter_connect (LdmGreeter *greeter
);
Connects the greeter to the display manager.
|
The greeter to connect |
Returns : |
TRUE if successfully connected |
const gchar * ldm_greeter_get_hostname (LdmGreeter *greeter
);
|
a LdmGreeter |
Returns : |
The host this greeter is displaying |
const gchar * ldm_greeter_get_theme (LdmGreeter *greeter
);
|
a LdmGreeter |
Returns : |
The theme this greeter is using |
gchar * ldm_greeter_get_string_property (LdmGreeter *greeter
,const gchar *name
);
|
a LdmGreeter |
|
the name of the property to get |
Returns : |
The value of this property or NULL if it is not defined |
gint ldm_greeter_get_integer_property (LdmGreeter *greeter
,const gchar *name
);
|
a LdmGreeter |
|
the name of the property to get |
Returns : |
The value of this property or 0 if it is not defined |
gboolean ldm_greeter_get_boolean_property (LdmGreeter *greeter
,const gchar *name
);
|
a LdmGreeter |
|
the name of the property to get |
Returns : |
The value of this property or FALSE if it is not defined |
gint ldm_greeter_get_num_users (LdmGreeter *greeter
);
|
a LdmGreeter |
Returns : |
The number of users able to log in |
const GList * ldm_greeter_get_users (LdmGreeter *greeter
);
Get a list of users to present to the user. This list may be a subset of the available users and may be empty depending on the server configuration.
|
A LdmGreeter |
Returns : |
A list of LdmUser that should be presented to the user. |
const gchar * ldm_greeter_get_default_language (LdmGreeter *greeter
);
Get the default language.
|
A LdmGreeter |
Returns : |
The default language. |
const GList * ldm_greeter_get_languages (LdmGreeter *greeter
);
Get a list of languages to present to the user.
|
A LdmGreeter |
Returns : |
A list of LdmLanguage that should be presented to the user. |
const gchar * ldm_greeter_get_default_layout (LdmGreeter *greeter
);
|
|
Returns : |
const GList * ldm_greeter_get_layouts (LdmGreeter *greeter
);
Get a list of keyboard layouts to present to the user.
|
A LdmGreeter |
Returns : |
A list of LdmLayout that should be presented to the user. |
const gchar * ldm_greeter_get_layout (LdmGreeter *greeter
);
Get the current keyboard layout.
|
A LdmGreeter |
Returns : |
The currently active layout for this user. |
void ldm_greeter_set_layout (LdmGreeter *greeter
,const gchar *layout
);
Set the layout for this session.
|
A LdmGreeter |
|
The layout to use |
const GList * ldm_greeter_get_sessions (LdmGreeter *greeter
);
Get the available sessions.
|
A LdmGreeter |
Returns : |
A list of LdmSession |
const gchar * ldm_greeter_get_default_session (LdmGreeter *greeter
);
Get the default session to use.
|
A LdmGreeter |
Returns : |
The session name |
const gchar * ldm_greeter_get_timed_login_user (LdmGreeter *greeter
);
Get the user to log in by as default.
|
A LdmGreeter |
Returns : |
A username |
gint ldm_greeter_get_timed_login_delay (LdmGreeter *greeter
);
Get the number of seconds to wait until logging in as the default user.
|
A LdmGreeter |
Returns : |
The number of seconds before logging in as the default user |
void ldm_greeter_cancel_timed_login (LdmGreeter *greeter
);
Cancel the login as the default user.
|
A LdmGreeter |
void ldm_greeter_start_authentication (LdmGreeter *greeter
,const char *username
);
Starts the authentication procedure for a user.
|
A LdmGreeter |
|
A username |
void ldm_greeter_provide_secret (LdmGreeter *greeter
,const gchar *secret
);
Provide secret information from a prompt.
|
A LdmGreeter |
|
Response to a prompt |
void ldm_greeter_cancel_authentication (LdmGreeter *greeter
);
Cancel the current user authentication.
|
A LdmGreeter |
gboolean ldm_greeter_get_is_authenticated (LdmGreeter *greeter
);
Checks if the greeter has successfully authenticated.
|
A LdmGreeter |
Returns : |
TRUE if the greeter is authenticated for login. |
const gchar * ldm_greeter_get_authentication_user (LdmGreeter *greeter
);
Get the user that is being authenticated.
|
A LdmGreeter |
Returns : |
The username of the authentication user being authenticated or NULL if no authentication in progress. |
void ldm_greeter_login (LdmGreeter *greeter
,const gchar *username
,const gchar *session
,const gchar *language
);
Login a user to a session
|
A LdmGreeter |
|
The user to log in as |
|
The session to log into or NULL to use the default |
|
The language to use or NULL to use the default |
gboolean ldm_greeter_get_can_suspend (LdmGreeter *greeter
);
Checks if the greeter is authorized to do a system suspend.
|
A LdmGreeter |
Returns : |
TRUE if the greeter can suspend the system |
void ldm_greeter_suspend (LdmGreeter *greeter
);
Triggers a system suspend.
|
A LdmGreeter |
gboolean ldm_greeter_get_can_hibernate (LdmGreeter *greeter
);
Checks if the greeter is authorized to do a system hibernate.
|
A LdmGreeter |
Returns : |
TRUE if the greeter can hibernate the system |
void ldm_greeter_hibernate (LdmGreeter *greeter
);
Triggers a system hibernate.
|
A LdmGreeter |
gboolean ldm_greeter_get_can_restart (LdmGreeter *greeter
);
Checks if the greeter is authorized to do a system restart.
|
A LdmGreeter |
Returns : |
TRUE if the greeter can restart the system |
void ldm_greeter_restart (LdmGreeter *greeter
);
Triggers a system restart.
|
A LdmGreeter |
gboolean ldm_greeter_get_can_shutdown (LdmGreeter *greeter
);
Checks if the greeter is authorized to do a system shutdown.
|
A LdmGreeter |
Returns : |
TRUE if the greeter can shutdown the system |
void ldm_greeter_shutdown (LdmGreeter *greeter
);
Triggers a system shutdown.
|
A LdmGreeter |
"authentication-user"
property"authentication-user" gchar* : Read
The user being authenticated.
Default value: NULL
"can-hibernate"
property"can-hibernate" gboolean : Read
TRUE if allowed to hibernate the system.
Default value: FALSE
"can-restart"
property"can-restart" gboolean : Read
TRUE if allowed to restart the system.
Default value: FALSE
"can-shutdown"
property"can-shutdown" gboolean : Read
TRUE if allowed to shutdown the system.
Default value: FALSE
"can-suspend"
property"can-suspend" gboolean : Read
TRUE if allowed to suspend the system.
Default value: FALSE
"default-session"
property"default-session" gchar* : Read / Write
Default session.
Default value: NULL
"hostname"
property"hostname" gchar* : Read
Hostname displaying greeter for.
Default value: NULL
"is-authenticated"
property"is-authenticated" gboolean : Read
TRUE if the selected user is authenticated.
Default value: FALSE
"login-delay"
property"login-delay" gint : Read
Number of seconds until logging in as default user.
Default value: 0
"num-users"
property"num-users" gint : Read
Number of login users.
Allowed values: >= 0
Default value: 0
"timed-login-user"
property"timed-login-user" gchar* : Read
User to login as when timed expires.
Default value: NULL
"authentication-complete"
signalvoid user_function (LdmGreeter *greeter, gpointer user_data) : Run Last
The ::authentication-complete signal gets emitted when the greeter has completed authentication.
Call ldm_greeter_get_is_authenticated()
to check if the authentication
was successful.
|
A LdmGreeter |
|
user data set when the signal handler was connected. |
"quit"
signalvoid user_function (LdmGreeter *greeter, gpointer user_data) : Run Last
The ::quit signal gets emitted when the greeter should exit.
|
A LdmGreeter |
|
user data set when the signal handler was connected. |
"show-error"
signalvoid user_function (LdmGreeter *greeter, gchar *text, gpointer user_data) : Run Last
The ::show-error signal gets emitted when the greeter should show an error message to the user.
|
A LdmGreeter |
|
Message text |
|
user data set when the signal handler was connected. |
"show-message"
signalvoid user_function (LdmGreeter *greeter, gchar *text, gpointer user_data) : Run Last
The ::show-message signal gets emitted when the greeter should show an informational message to the user.
|
A LdmGreeter |
|
Message text |
|
user data set when the signal handler was connected. |
"show-prompt"
signalvoid user_function (LdmGreeter *greeter, gchar *text, gpointer user_data) : Run Last
The ::show-prompt signal gets emitted when the greeter should show a prompt to the user. The given text should be displayed and an input field for the user to provide a response.
Call ldm_greeter_provide_secret()
with the resultant input or
ldm_greeter_cancel_authentication()
to abort the authentication.
|
A LdmGreeter |
|
Prompt text |
|
user data set when the signal handler was connected. |
"timed-login"
signalvoid user_function (LdmGreeter *greeter, gchar *username, gpointer user_data) : Run Last
The ::timed-login signal gets emitted when the default user timer has expired.
|
A LdmGreeter |
|
A username |
|
user data set when the signal handler was connected. |