Ваша ОС не знает о en_US.UTF-8
.
Вы не упомянули конкретную платформу, но я могу воспроизвести вашу проблему:
% uname -a
OSF1 hunter2 V5.1 2650 alpha
% perl -e exit
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Я думаю, вы использовалиSSH для подключения к этому старому хосту с более новой настольной машины.Обычно /etc/ssh/sshd_config
содержит
AcceptEnv LANG LC_*
, что позволяет клиентам распространять значения этих переменных среды в новые сеансы.
Предупреждение дает вам подсказку о том, как его подавить, есливам не требуется полный языковой стандарт:
% env LANG=C perl -e exit
%
или с bash:
$ LANG=C perl -e exit
$
Для постоянного исправления выберите один из
- На старом хосте установите переменную среды
LANG
в файле инициализации вашей оболочки. - Измените свою среду на стороне клиента, например , вместо
ssh hunter2
, используйте команду LANG=C ssh hunter2
. - Если у вас есть права администратора, остановите ssh от отправки переменных среды, закомментировав строку
SendEnv LANG LC_*
в файле local /etc/ssh/ssh_config
.(Благодаря этому ответу . Подробнее см. Ошибка 1285 для OpenSSH.)