diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2011-10-25 10:48:31 -0400 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2011-10-25 10:48:31 -0400 |
commit | 1aef1bcb518b95053d382ad6f82771cec3980689 (patch) | |
tree | 83ba3567e6c21c81cd6d9e539e2f6d7741ba1688 | |
parent | 168ed082fb4fec4ec4d2fa51536be000b36d46fe (diff) | |
download | lightdm-git-1aef1bcb518b95053d382ad6f82771cec3980689.tar.gz |
Set LOGNAME environment variable in session
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/seat.c | 6 | ||||
-rw-r--r-- | src/session.c | 6 |
3 files changed, 11 insertions, 2 deletions
@@ -11,6 +11,7 @@ Overview of changes in lightdm 1.0.4 * AppArmor profile: Fix broken gnome-keyring and dbus/gwibber, and quiesce annoying kernel audit messages for privileges that we definitively do not want to grant. + * Set LOGNAME environment variable Overview of changes in lightdm 1.0.3 @@ -241,6 +241,8 @@ run_script (Seat *seat, Display *display, const gchar *script_name, User *user) script = process_new (); process_set_command (script, script_name); + + /* Set POSIX variables */ process_set_clear_environment (script, TRUE); process_set_env (script, "SHELL", "/bin/sh"); @@ -259,9 +261,11 @@ run_script (Seat *seat, Display *display, const gchar *script_name, User *user) if (user) { process_set_env (script, "USER", user_get_name (user)); - process_set_env (script, "USERNAME", user_get_name (user)); process_set_env (script, "LOGNAME", user_get_name (user)); process_set_env (script, "HOME", user_get_home_directory (user)); + + /* Set other common environment variables */ + process_set_env (script, "USERNAME", user_get_name (user)); } else process_set_env (script, "HOME", "/"); diff --git a/src/session.c b/src/session.c index cea573d6..d5b89f77 100644 --- a/src/session.c +++ b/src/session.c @@ -249,12 +249,16 @@ session_start (Session *session) g_debug ("Launching session"); user = pam_session_get_user (session->priv->authentication); + + /* Set POSIX variables */ session_set_env (session, "PATH", "/usr/local/bin:/usr/bin:/bin"); session_set_env (session, "USER", user_get_name (user)); - session_set_env (session, "USERNAME", user_get_name (user)); // FIXME: Is this required? + session_set_env (session, "LOGNAME", user_get_name (user)); session_set_env (session, "HOME", user_get_home_directory (user)); session_set_env (session, "SHELL", user_get_shell (user)); + session_set_env (session, "USERNAME", user_get_name (user)); // FIXME: Is this required? + return SESSION_GET_CLASS (session)->start (session); } |