summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2011-10-25 10:48:31 -0400
committerRobert Ancell <robert.ancell@canonical.com>2011-10-25 10:48:31 -0400
commit1aef1bcb518b95053d382ad6f82771cec3980689 (patch)
tree83ba3567e6c21c81cd6d9e539e2f6d7741ba1688
parent168ed082fb4fec4ec4d2fa51536be000b36d46fe (diff)
downloadlightdm-git-1aef1bcb518b95053d382ad6f82771cec3980689.tar.gz
Set LOGNAME environment variable in session
-rw-r--r--NEWS1
-rw-r--r--src/seat.c6
-rw-r--r--src/session.c6
3 files changed, 11 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index e135a1ce..4f87c381 100644
--- a/NEWS
+++ b/NEWS
@@ -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
diff --git a/src/seat.c b/src/seat.c
index b4722e27..f80eeec9 100644
--- a/src/seat.c
+++ b/src/seat.c
@@ -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);
}