| LightDM 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. |