Bash completion is not working when locale is missing on target
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
nautilus (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Normally, bash completion using tab in the terminal works as expected. But when the target is a system (logged in to a remote server or something else), which has not the locale of the host system loaded, an error message is displayed:
-bash: warning: setlocale: LC_CTYPE: cannot change locale (nl_NL.UTF-8)
When trying to repair the locales on the remote system (logged in server):
$ sudo dpkg-reconfigure locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_MESSAGES = "nl_NL.UTF-8",
LC_COLLATE = "nl_NL.UTF-8",
LC_CTYPE = "nl_NL.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Generating locales...
en_AG.UTF-8... up-to-date
en_AU.UTF-8... up-to-date
en_BW.UTF-8... up-to-date
en_CA.UTF-8... up-to-date
en_DK.UTF-8... up-to-date
en_GB.UTF-8... up-to-date
en_HK.UTF-8... up-to-date
en_IE.UTF-8... up-to-date
en_IN.UTF-8... up-to-date
en_NG.UTF-8... up-to-date
en_NZ.UTF-8... up-to-date
en_PH.UTF-8... up-to-date
en_SG.UTF-8... up-to-date
en_US.UTF-8... up-to-date
en_ZA.UTF-8... up-to-date
en_ZW.UTF-8... up-to-date
Generation complete.
What is odd, is that the locale of the remote seems to be set to nl_NL, but this is the locale of the host system. It looks like Ubuntu is mixing up the locales of the host and remote system.
Doing a locale repair on the host system, everything seems to be good, no error messages.
description: | updated |
Tested. This works right now. Thanks.