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

Reply via email to