** 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 Ubuntu Touch seeded 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 -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp