desktop-packages team mailing list archive
-
desktop-packages team
-
Mailing list archive
-
Message #130883
[Bug 1482641] Re: Lightdm (and GDM) source .profile as bash, indirectly sourcing .bashrc
** Description changed:
The fix for https://bugs.launchpad.net/ubuntu/+source/gdm/+bug/678421
leads to `.profile` being sourced by bash instead of dash. This leads
- `.bashrc` being sourced indirectly twice: once by bash when the script
- started, and once via .profile. IMHO, `.bashrc` should not be sourced
- even *once* in this situation. I suggest:
+ `.bashrc` being sourced indirectly via .profile. IMHO, `.bashrc` should
+ not be sourced even *once* in this situation. I suggest that sourcing
+ .profile actually be done with BASH_VERSION unset:
- 1. That the shebang be changed to:
-
- #! /bin/bash --norc
-
- 2. And that sourcing .profile actually be done with BASH_VERSION unset:
-
- BASH_VERSION= . "$CONFIG"
+ BASH_VERSION= . "$CONFIG"
At the very least, a check should be done whether bash is the user's
login shell. In combination with the modified shebang line, it can be
done thus:
- [ "$SHELL" == "/bin/bash" ] && .bashrc
+ [ "$SHELL" != "/bin/bash" ] && BASH_VERSION=
+ . "$CONFIG"
utilizing `$SHELL` given it stores the login shell
(http://unix.stackexchange.com/questions/45458/why-shell-doesnt-change-
when-i-run-new-shell).
-
- Sourcing `.profile` should still avoid sourcing `.bashrc` to avoid
- complications due to it being sourced twice.
** Description changed:
The fix for https://bugs.launchpad.net/ubuntu/+source/gdm/+bug/678421
leads to `.profile` being sourced by bash instead of dash. This leads
`.bashrc` being sourced indirectly via .profile. IMHO, `.bashrc` should
not be sourced even *once* in this situation. I suggest that sourcing
.profile actually be done with BASH_VERSION unset:
BASH_VERSION= . "$CONFIG"
At the very least, a check should be done whether bash is the user's
- login shell. In combination with the modified shebang line, it can be
- done thus:
+ login shell. It can be done thus:
[ "$SHELL" != "/bin/bash" ] && BASH_VERSION=
- . "$CONFIG"
+ . "$CONFIG"
utilizing `$SHELL` given it stores the login shell
(http://unix.stackexchange.com/questions/45458/why-shell-doesnt-change-
when-i-run-new-shell).
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to lightdm in Ubuntu.
https://bugs.launchpad.net/bugs/1482641
Title:
Lightdm (and GDM) source .profile as bash, indirectly sourcing .bashrc
Status in gdm package in Ubuntu:
New
Status in lightdm package in Ubuntu:
New
Bug description:
The fix for https://bugs.launchpad.net/ubuntu/+source/gdm/+bug/678421
leads to `.profile` being sourced by bash instead of dash. This leads
`.bashrc` being sourced indirectly via .profile. IMHO, `.bashrc`
should not be sourced even *once* in this situation. I suggest that
sourcing .profile actually be done with BASH_VERSION unset:
BASH_VERSION= . "$CONFIG"
At the very least, a check should be done whether bash is the user's
login shell. It can be done thus:
[ "$SHELL" != "/bin/bash" ] && BASH_VERSION=
. "$CONFIG"
utilizing `$SHELL` given it stores the login shell
(http://unix.stackexchange.com/questions/45458/why-shell-doesnt-
change-when-i-run-new-shell).
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gdm/+bug/1482641/+subscriptions
References