Conectamos por ssh contra nuestro servidor, lanzamos un comando erróneo y aparte del mensaje de error el intérprete de comandos nos suelta el siguiente sermón:
# comando erróneo perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_PAPER = "es_ES.UTF-8", LC_ADDRESS = "es_ES.UTF-8", LC_MONETARY = "es_ES.UTF-8", LC_NUMERIC = "es_ES.UTF-8", LC_TELEPHONE = "es_ES.UTF-8", LC_IDENTIFICATION = "es_ES.UTF-8", LC_MEASUREMENT = "es_ES.UTF-8", LC_TIME = "es_ES.UTF-8", LC_NAME = "es_ES.UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). ERROR: (algo relacionado con el comando erróneo) |
Mmmh… ¿por qué? Pues porque en el fichero /etc/ssh/sshd_config tenemos una linea como la siguiente:
AcceptEnv LANG LC_* |
Que viene a decir: las variables de entorno relacionadas con el idioma del usuario deben ser exportadas al intérprete de comandos destino de una conexión ssh. En mi caso, el soporte es_ES. El problema es que los paquetes de ese idioma en el servidor destino no están instalados… de ahí que Linux se queje amargamente.
Bueno, para evitarlo hay varias formas. La más sencilla: basta con comentar la línea en cuestión de /etc/ssh/sshd_config (añadiéndole un # por delante) y ¡listo!
Aca encontre un post que te puede ayudar:
http://www.thomas-krenn.com/en/wiki/Perl_warning_Setting_locale_failed_in_Debian
Gracias por compartir. De todas formas parece que no crea muchos problemas.
Funcionó perfectamente, aunque tengo que decir que en mi caso no era la opción AcceptEnv LANG LC_* sino SendEnv LANG LC_*.
Muchas gracias por la info, había probado varios métodos y ninguno me había funcionado.
Saludos!!