Top |
gchar * | authentication-user | Read |
gboolean | autologin-guest-hint | Read |
gint | autologin-timeout-hint | Read |
gchar * | autologin-user-hint | Read |
gchar * | default-session-hint | Read |
gboolean | has-guest-account-hint | Read |
gboolean | hide-users-hint | Read |
gboolean | in-authentication | Read |
gboolean | is-authenticated | Read |
gboolean | lock-hint | Read |
gboolean | select-guest-hint | Read |
gchar * | select-user-hint | Read |
gboolean | show-manual-login-hint | Read |
gboolean | show-remote-login-hint | Read |
void | authentication-complete | Run Last |
void | autologin-timer-expired | Run Last |
void | idle | Run Last |
void | reset | Run Last |
void | show-message | Run Last |
void | show-prompt | Run Last |
GEnum ├── LightDMGreeterError ├── LightDMMessageType ╰── LightDMPromptType GObject ╰── LightDMGreeter
LightDMGreeter is an object that manages the connection to the LightDM server and provides common greeter functionality.
An example of a simple greeter:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
int main () { GMainLoop *main_loop; LightDMGreeter *greeter main_loop = g_main_loop_new (); greeter = lightdm_greeter_new (); g_object_connect (greeter, "show-prompt", G_CALLBACK (show_prompt_cb), NULL); g_object_connect (greeter, "authentication-complete", G_CALLBACK (authentication_complete_cb), NULL); // Connect to LightDM daemon if (!lightdm_greeter_connect_to_daemon_sync (greeter, NULL)) return EXIT_FAILURE; // Start authentication lightdm_greeter_authenticate (greeter, NULL); g_main_loop_run (main_loop); return EXIT_SUCCESS; } static void show_prompt_cb (LightDMGreeter *greeter, const char *text, LightDMPromptType type) { // Show the user the message and prompt for some response gchar *secret = prompt_user (text, type); // Give the result to the user lightdm_greeter_respond (greeter, response); } static void authentication_complete_cb (LightDMGreeter *greeter) { // Start the session if (!lightdm_greeter_get_is_authenticated (greeter) || !lightdm_greeter_start_session_sync (greeter, NULL)) { // Failed authentication, try again lightdm_greeter_authenticate (greeter, NULL); } } |
void lightdm_greeter_set_resettable (LightDMGreeter *greeter
,gboolean resettable
);
Set whether the greeter will be reset instead of killed after the user logs in. This must be called before lightdm_greeter_connect is called.
void lightdm_greeter_connect_to_daemon (LightDMGreeter *greeter
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously connects the greeter to the display manager.
When the operation is finished, callback
will be invoked. You can then call lightdm_greeter_connect_to_daemon_finish()
to get the result of the operation.
See lightdm_greeter_connect_to_daemon_sync()
for the synchronous version.
greeter |
The greeter to connect |
|
cancellable |
A GCancellable or |
[allow-none] |
callback |
A GAsyncReadyCallback to call when completed or |
[allow-none] |
user_data |
data to pass to the |
[allow-none] |
gboolean lightdm_greeter_connect_to_daemon_finish (LightDMGreeter *greeter
,GAsyncResult *result
,GError **error
);
Finishes an operation started with lightdm_greeter_connect_to_daemon()
.
gboolean lightdm_greeter_connect_to_daemon_sync (LightDMGreeter *greeter
,GError **error
);
Connects the greeter to the display manager. Will block until connected.
const gchar * lightdm_greeter_get_hint (LightDMGreeter *greeter
,const gchar *name
);
Get a hint.
const gchar *
lightdm_greeter_get_default_session_hint
(LightDMGreeter *greeter
);
Get the default session to use.
gboolean
lightdm_greeter_get_hide_users_hint (LightDMGreeter *greeter
);
Check if user accounts should be shown. If this is TRUE then the list of accounts should be taken from LightDMUserList and displayed in the greeter for the user to choose from. Note that this list can be empty and it is recommended you show a method for the user to enter a username manually.
If this option is shown the greeter should only allow these users to be chosen for login unless the manual login hint is set.
gboolean
lightdm_greeter_get_show_manual_login_hint
(LightDMGreeter *greeter
);
Check if a manual login option should be shown. If set the GUI should provide a way for a username to be entered manually. Without this hint a greeter which is showing a user list can limit logins to only those users.
gboolean
lightdm_greeter_get_show_remote_login_hint
(LightDMGreeter *greeter
);
Check if a remote login option should be shown. If set the GUI should provide a way for a user to log into a remote desktop server.
gboolean
lightdm_greeter_get_lock_hint (LightDMGreeter *greeter
);
Check if the greeter is acting as a lock screen.
gboolean
lightdm_greeter_get_has_guest_account_hint
(LightDMGreeter *greeter
);
Check if guest sessions are supported.
const gchar *
lightdm_greeter_get_select_user_hint (LightDMGreeter *greeter
);
Get the user to select by default.
gboolean
lightdm_greeter_get_select_guest_hint (LightDMGreeter *greeter
);
Check if the guest account should be selected by default.
const gchar *
lightdm_greeter_get_autologin_user_hint
(LightDMGreeter *greeter
);
Get the user account to automatically log into when the timer expires.
gboolean
lightdm_greeter_get_autologin_guest_hint
(LightDMGreeter *greeter
);
Check if the guest account should be automatically logged into when the timer expires.
gint
lightdm_greeter_get_autologin_timeout_hint
(LightDMGreeter *greeter
);
Get the number of seconds to wait before automaitcally logging in.
void
lightdm_greeter_cancel_autologin (LightDMGreeter *greeter
);
Cancel the automatic login.
gboolean lightdm_greeter_authenticate (LightDMGreeter *greeter
,const gchar *username
,GError **error
);
Starts the authentication procedure for a user.
gboolean lightdm_greeter_authenticate_as_guest (LightDMGreeter *greeter
,GError **error
);
Starts the authentication procedure for the guest user.
gboolean lightdm_greeter_authenticate_autologin (LightDMGreeter *greeter
,GError **error
);
Starts the authentication procedure for the automatic login user.
gboolean lightdm_greeter_authenticate_remote (LightDMGreeter *greeter
,const gchar *session
,const gchar *username
,GError **error
);
Start authentication for a remote session type.
greeter |
||
session |
The name of a remote session |
|
username |
A username of NULL to prompt for a username. |
[allow-none] |
error |
gboolean lightdm_greeter_respond (LightDMGreeter *greeter
,const gchar *response
,GError **error
);
Provide response to a prompt. May be one in a series.
gboolean lightdm_greeter_cancel_authentication (LightDMGreeter *greeter
,GError **error
);
Cancel the current user authentication.
gboolean
lightdm_greeter_get_in_authentication (LightDMGreeter *greeter
);
Checks if the greeter is in the process of authenticating.
gboolean
lightdm_greeter_get_is_authenticated (LightDMGreeter *greeter
);
Checks if the greeter has successfully authenticated.
const gchar *
lightdm_greeter_get_authentication_user
(LightDMGreeter *greeter
);
Get the user that is being authenticated.
The username of the authentication user being authenticated or NULL if no authentication in progress.
[nullable]
gboolean lightdm_greeter_set_language (LightDMGreeter *greeter
,const gchar *language
,GError **error
);
Set the language for the currently authenticated user.
void lightdm_greeter_start_session (LightDMGreeter *greeter
,const gchar *session
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously start a session for the authenticated user.
When the operation is finished, callback
will be invoked. You can then call lightdm_greeter_start_session_finish()
to get the result of the operation.
See lightdm_greeter_start_session_sync()
for the synchronous version.
greeter |
||
session |
The session to log into or NULL to use the default. |
[allow-none] |
cancellable |
A GCancellable or |
[allow-none] |
callback |
A GAsyncReadyCallback to call when completed or |
[allow-none] |
user_data |
data to pass to the |
[allow-none] |
gboolean lightdm_greeter_start_session_finish (LightDMGreeter *greeter
,GAsyncResult *result
,GError **error
);
Start a session for the authenticated user.
gboolean lightdm_greeter_start_session_sync (LightDMGreeter *greeter
,const gchar *session
,GError **error
);
Start a session for the authenticated user.
void lightdm_greeter_ensure_shared_data_dir (LightDMGreeter *greeter
,const gchar *username
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Ensure that a shared data dir for the given user is available. Both the
greeter user and username
will have write access to that folder. The
intention is that larger pieces of shared data would be stored there (files
that the greeter creates but wants to give to a user -- like camera
photos -- or files that the user creates but wants the greeter to
see -- like contact avatars).
LightDM will automatically create these if the user actually logs in, so greeters only need to call this method if they want to store something in the directory themselves.
greeter |
||
username |
A username |
|
cancellable |
A GCancellable or |
[allow-none] |
callback |
A GAsyncReadyCallback to call when completed or |
[allow-none] |
user_data |
data to pass to the |
[allow-none] |
gchar * lightdm_greeter_ensure_shared_data_dir_finish (LightDMGreeter *greeter
,GAsyncResult *result
,GError **error
);
Function to call from lightdm_greeter_ensure_shared_data_dir callback.
gchar * lightdm_greeter_ensure_shared_data_dir_sync (LightDMGreeter *greeter
,const gchar *username
,GError **error
);
Ensure that a shared data dir for the given user is available. Both the
greeter user and username
will have write access to that folder. The
intention is that larger pieces of shared data would be stored there (files
that the greeter creates but wants to give to a user -- like camera
photos -- or files that the user creates but wants the greeter to
see -- like contact avatars).
LightDM will automatically create these if the user actually logs in, so greeters only need to call this method if they want to store something in the directory themselves.
gboolean lightdm_greeter_connect_sync (LightDMGreeter *greeter
,GError **error
);
lightdm_greeter_connect_sync
has been deprecated since version 1.11.1 and should not be used in newly-written code.
Use lightdm_greeter_connect_to_daemon_sync()
instead
Connects the greeter to the display manager. Will block until connected.
“authentication-user”
property“authentication-user” gchar *
The user being authenticated.
Flags: Read
Default value: NULL
“autologin-guest-hint”
property“autologin-guest-hint” gboolean
Autologin guest account hint.
Flags: Read
Default value: FALSE
“autologin-timeout-hint”
property“autologin-timeout-hint” gint
Autologin timeout hint.
Flags: Read
Allowed values: >= 0
Default value: 0
“autologin-user-hint”
property“autologin-user-hint” gchar *
Autologin user hint.
Flags: Read
Default value: NULL
“default-session-hint”
property“default-session-hint” gchar *
Default session hint.
Flags: Read
Default value: NULL
“has-guest-account-hint”
property“has-guest-account-hint” gboolean
Has guest account hint.
Flags: Read
Default value: FALSE
“hide-users-hint”
property“hide-users-hint” gboolean
Hide users hint.
Flags: Read
Default value: FALSE
“in-authentication”
property“in-authentication” gboolean
TRUE if a user is being authenticated.
Flags: Read
Default value: FALSE
“is-authenticated”
property“is-authenticated” gboolean
TRUE if the selected user is authenticated.
Flags: Read
Default value: FALSE
“select-guest-hint”
property“select-guest-hint” gboolean
Select guest account hint.
Flags: Read
Default value: FALSE
“select-user-hint”
property“select-user-hint” gchar *
Select user hint.
Flags: Read
Default value: NULL
“show-manual-login-hint”
property“show-manual-login-hint” gboolean
Show manual login hint.
Flags: Read
Default value: FALSE
“show-remote-login-hint”
property“show-remote-login-hint” gboolean
Show remote login hint.
Flags: Read
Default value: FALSE
“authentication-complete”
signalvoid user_function (LightDMGreeter *greeter, gpointer user_data)
The ::authentication-complete signal gets emitted when the greeter has completed authentication.
Call lightdm_greeter_get_is_authenticated()
to check if the authentication
was successful.
Flags: Run Last
“autologin-timer-expired”
signalvoid user_function (LightDMGreeter *greeter, gpointer user_data)
The ::timed-login signal gets emitted when the automatic login timer has expired.
The application should then call lightdm_greeter_authenticate_autologin()
.
Flags: Run Last
“idle”
signalvoid user_function (LightDMGreeter *greeter, gpointer user_data)
The ::idle signal gets emitted when the user has logged in and the greeter is no longer needed.
This signal only matters if the greeter has marked itself as
resettable using lightdm_greeter_set_resettable()
.
Flags: Run Last
“reset”
signalvoid user_function (LightDMGreeter *greeter, gpointer user_data)
The ::reset signal gets emitted when the user is returning to a greeter that was previously marked idle.
This signal only matters if the greeter has marked itself as
resettable using lightdm_greeter_set_resettable()
.
Flags: Run Last
“show-message”
signalvoid user_function (LightDMGreeter *greeter, gchar *text, LightDMMessageType type, gpointer user_data)
The ::show-message signal gets emitted when the greeter should show a message to the user.
greeter |
||
text |
Message text |
|
type |
Message type |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“show-prompt”
signalvoid user_function (LightDMGreeter *greeter, gchar *text, LightDMPromptType type, gpointer user_data)
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 lightdm_greeter_respond()
with the resultant input or
lightdm_greeter_cancel_authentication()
to abort the authentication.
greeter |
||
text |
Prompt text |
|
type |
Prompt type |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last