On 2014-11-14 17:56, Barry Warsaw wrote:
> So, when I log in, I do get several warnings in a dialog. Most are
> because I use `source` instead of `.` to source other shell files.
> What shell is lightdm using these days?
It has always been using Bourne shell, so "source" is not understood. You have obliviously been running your system without the configuration in those other shell files.
> Anyway, when I change them all to `.` I still get one warning about
> my use of shopt,
Another bash command, not understood by dash.
> However, logins are now completely broken. I see the screen blank and
> then I'm thrown back to the login screen. ~/.xsession-errors is
> empty and I can find no other log file either in $HOME or /var/log
> that contains any information about what's going wrong.
This is the code in /usr/sbin/lightdm-session which triggers those warning dialogs:
<code>
# temporary storage of error messages
ERR=$(mktemp --tmpdir config-err-XXXXXX)
source_with_error_check () {
CONFIG_FILE="$1"
if sh -n "$CONFIG_FILE" 2>"$ERR"; then
echo "Loading $CONFIG_FILE";
. "$CONFIG_FILE" 2>"$ERR"
if [ -s "$ERR" ]; then SYNTAX=false
. /usr/lib/lightdm/config-error-dialog.sh
fi
else
SYNTAX=true
. /usr/lib/lightdm/config-error-dialog.sh
fi
cat "$ERR" >>/dev/stderr
truncate -s 0 "$ERR"
}
# Load profile
for file in "/etc/profile" "$HOME/.profile" \ "/etc/xprofile" "$HOME/.xprofile"; do
if [ -f "$file" ]; then source_with_error_check "$file"
fi
done
</code>
I find it hard to believe that that code itself is causing the problem you describe. Considering that you could log in just fine before you changed the occurrences of "source" to ".", I would look for the cause in the code which unlike before is now sourced by lightdm.
Hi Barry!
On 2014-11-14 17:56, Barry Warsaw wrote:
> So, when I log in, I do get several warnings in a dialog. Most are
> because I use `source` instead of `.` to source other shell files.
> What shell is lightdm using these days?
It has always been using Bourne shell, so "source" is not understood. You have obliviously been running your system without the configuration in those other shell files.
> Anyway, when I change them all to `.` I still get one warning about
> my use of shopt,
Another bash command, not understood by dash.
> However, logins are now completely broken. I see the screen blank and
> then I'm thrown back to the login screen. ~/.xsession-errors is
> empty and I can find no other log file either in $HOME or /var/log
> that contains any information about what's going wrong.
This is the code in /usr/sbin/ lightdm- session which triggers those warning dialogs:
<code>
# temporary storage of error messages
ERR=$(mktemp --tmpdir config-err-XXXXXX)
source_ with_error_ check () { FILE="$ 1"
SYNTAX= false lightdm/ config- error-dialog. sh lightdm/ config- error-dialog. sh
CONFIG_
if sh -n "$CONFIG_FILE" 2>"$ERR"; then
echo "Loading $CONFIG_FILE";
. "$CONFIG_FILE" 2>"$ERR"
if [ -s "$ERR" ]; then
. /usr/lib/
fi
else
SYNTAX=true
. /usr/lib/
fi
cat "$ERR" >>/dev/stderr
truncate -s 0 "$ERR"
}
# Load profile
"/ etc/xprofile" "$HOME/.xprofile"; do
source_ with_error_ check "$file"
for file in "/etc/profile" "$HOME/.profile" \
if [ -f "$file" ]; then
fi
done
</code>
I find it hard to believe that that code itself is causing the problem you describe. Considering that you could log in just fine before you changed the occurrences of "source" to ".", I would look for the cause in the code which unlike before is now sourced by lightdm.