On Sun, 12 Apr 2009 21:14:50 -0500 "Boyd Stephen Smith Jr." <b...@iguanasuicide.net> wrote:
> In <20090412201956.993b4446.cele...@gmail.com>, Celejar wrote: > >~# man cp > >man: can't set the locale; make sure $LC_* and $LANG are correct > > > >Or, while running aptitude: > > > >perl: warning: Setting locale failed. > >perl: warning: Please check that your locale settings: > > LANGUAGE = (unset), > > LC_ALL = (unset), > > LANG = ""en_US.UTF-8"" > > are supported and installed on your system. > >perl: warning: Falling back to the standard locale ("C"). > >/usr/bin/mandb: can't set the locale; make sure $LC_* and $LANG are > > correct > > > >I've tried 'dpkg-reconfigure locales' > > I've seen it before, and the dpkg-reconfigure usually addresses it. > > >, and even purging and > >reinstalling locales, to no effect. > > That usually doesn't help if the dpkg-reconfigure doesn't. > > >Is anyone else seeing > >this? Is this a bug, or some misconfiguration on my system? Note that > >my regular user account works fine. > > I usually run local-gen manually then log out and log back in and things > work. Doesn't help. > Actually, looking at your error message in more detail, it looks like your > LANG variable is set improperly. For some reason your LANG variable is set > to '"en_US.UTF-8"'--including the double-quotes. It should be set to > 'en_US.UTF-8'. Double check your root shell startup files and see if > something could be wrong there. And here we have the problem! I noticed that when I log in as root directly, either to a getty or via 'su', then I don't see the problem. It only appears in root shells obtained with 'sudo -i'. 'locale' in the latter case gives: ~# locale 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 LANG="en_US.UTF-8" LC_CTYPE=""en_US.UTF-8"" LC_NUMERIC=""en_US.UTF-8"" LC_TIME=""en_US.UTF-8"" LC_COLLATE=""en_US.UTF-8"" LC_MONETARY=""en_US.UTF-8"" LC_MESSAGES=""en_US.UTF-8"" LC_PAPER=""en_US.UTF-8"" LC_NAME=""en_US.UTF-8"" LC_ADDRESS=""en_US.UTF-8"" LC_TELEPHONE=""en_US.UTF-8"" LC_MEASUREMENT=""en_US.UTF-8"" LC_IDENTIFICATION=""en_US.UTF-8"" LC_ALL= While 'locale' in the former case gives: # locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= So you seem to be correct; for some reason, in the sudo shell, the LC* variables are getting extra quotes. Any idea why? [There's nothing that looks interesting in root's '.bashrc'; it's basically empty.] Celejar -- mailmin.sourceforge.net - remote access via secure (OpenPGP) email ssuds.sourceforge.net - A Simple Sudoku Solver and Generator -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org