diff options
Diffstat (limited to 'debian/patches/01_set-default-path.patch')
-rw-r--r-- | debian/patches/01_set-default-path.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/debian/patches/01_set-default-path.patch b/debian/patches/01_set-default-path.patch new file mode 100644 index 0000000..1a3cfdf --- /dev/null +++ b/debian/patches/01_set-default-path.patch @@ -0,0 +1,32 @@ +Author: Yves-Alexis Perez <corsac@debian.org> +Author: Lionel Le Folgoc <mrpouit@gmail.com> +Bug: https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/798277 +Description: Fix default PATH environment variable +--- a/src/seat.c ++++ b/src/seat.c +@@ -274,7 +274,10 @@ run_script (Seat *seat, DisplayServer *d + process_set_env (script, "PATH", g_getenv ("PATH")); + } + else +- process_set_env (script, "PATH", "/usr/local/bin:/usr/bin:/bin"); ++ if (user_get_uid (user) == 0) ++ process_set_env (script, "PATH", "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"); ++ else ++ process_set_env (script, "PATH", "/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"); + + if (user) + { +--- a/src/session-child.c ++++ b/src/session-child.c +@@ -354,7 +354,10 @@ session_child_run (int argc, char **argv + else + { + /* Set POSIX variables */ +- pam_putenv (pam_handle, "PATH=/usr/local/bin:/usr/bin:/bin"); ++ if (user_get_uid (user) == 0) ++ pam_putenv (pam_handle, "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"); ++ else ++ pam_putenv (pam_handle, "PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"); + pam_putenv (pam_handle, g_strdup_printf ("USER=%s", username)); + pam_putenv (pam_handle, g_strdup_printf ("LOGNAME=%s", username)); + pam_putenv (pam_handle, g_strdup_printf ("HOME=%s", user_get_home_directory (user))); |