On Jul 03, 2012, at 11:10 AM, Philippe Poilbarbe wrote: >/usr/sbin/lightdm-session is a script executed with /bin/sh (see shebang line >"#!/bin/sh"). It sources $HOME/.profile (and some others), not >$HOME/.bash_profile.
This does make it rather impossible to set up the environment both for the login session and for e.g. ssh or console logins without duplicating a lot of code. What's the rationale for using /bin/sh in lightdm by default? >So things specific to bash and not in sh are not recognized, for example: >if [[ "$x" == "yes " || "$y" != "no" ]] >then >fi > >must be written: >if [ "$x" == "yes" -o "$y" != "no" ] >then >fi I don't have [[ in my .profile, but there are other syntactic subtleties that make it difficult to share init files between lightdm and bash. >Another way to overide this is to modify /usr/sbin/lightdm-session: replace >"/bin/sh" by "/bin/bash" Everything wich is good for sh is good for bash (but >not the opposite). Having to manually hack this file on every installed machine is definitely suboptimal, not only because of the work involved, but also because an update of lightdm will just clobber those changes. Isn't there some less brittle way we could arrange for lightdm to use bash? -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/962270 Title: /usr/sbin/lightdm-session: 34: [: Linux: unexpected operator To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/962270/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs