Acabo de instalar CentOS 6 y cada vez que inicio sesión en el sistema a través de SSH de forma remota, aparece el siguiente error:
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8)
Cuando escribo "locale" en la línea de comando, obtengo el siguiente resultado:
locale: Cannot set LC_CTYPE 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=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=
¿Cual puede ser el problema? ¿Cómo puedo resolver este problema?
Respuestas:
En el servidor desde el que ssh, ¿tiene una configuración regional establecida a través de una variable de entorno? Al mirar mi instalación de CentOS 6, la única configuración regional que puedo encontrar compatible se identifica como
en_US.utf8
(descubierta mediante ellocale -a
comando). ¿Podría ser este el problema?En mis pruebas, cuando configuré la
LC_ALL
variable de entorno enen_US.UTF-8
ssh'd al servidor, la salida de mi comando de configuración regional se configuróPOSIX
en mi caso. Esto es lo mismo que cuando NO he establecido (es decir, desarmado) laLC_ALL
variable antes de ssh'ing.Cuando configuré mi
LC_ALL
variable enen_US.utf8
oen_US.utf-8
, ssh'd en mi casilla CentOS 6, la salida de la configuración regional fue la misma que la establecida en la casilla de origen.Observe que no utilicé ningún límite para UTF también
fuente
Resolvió esto deshabilitando "Establecer variables de entorno local en el inicio" en Configuración de terminal> Avanzado según esta captura de pantalla.
NOTA: Si usa iTerm2 puede deshabilitar la opción "Establecer variables locales automáticamente" en Preferencias> Perfiles> Terminal
fuente
unset LC_CTYPE
oexport LC_CTYPE=en_US.UTF-8
arregle el problema después de iniciar sesión.Manera simple:
Añadir
a
/etc/sysconfig/i18n
.fuente
Lo que funcionó para mí fue agregar un enlace simbólico en el servidor CentOS como este:
Una vez que haces eso, los comandos como este funcionan:
Si no lo hace, este último comando falla con este error:
Ahora, una solución aún más simple es simplemente agregar esta línea a / etc / bashrc en el servidor:
fuente
Recibí este mensaje específico cuando inicio sesión desde un Solaris X a un host Centos.
El problema proviene de 2 configuraciones:
Enviar variables de entorno relacionadas con la configuración regional SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
En mi host de origen, esta configuración se configuró de esta manera:
FUENTE # LANG = LC_CTYPE = fr_FR.UTF-8 LC_NUMERIC = fr_FR.UTF-8 LC_TIME = fr_FR.UTF-8 LC_COLLATE = fr_FR.UTF-8 LC_MONETARY = fr_FR.UTF-8 LC_MESSAGES = fr.UTF-8 LC_ALL =
Pero, como puede ver, LC_MESSAGES está configurado en fr.UTF-8, que no es una opción en mi host de destino.
El problema se resolvió forzando en mi host de origen, en .bash_profile: # export LC_ALL = fr_FR.UTF-8 export LANG = fr_FR.UTF-8
Podría haberlo resuelto pidiéndole a mi host de destino que no tome esta variable de ninguna conexión ssh (en general, o creando un archivo loca ssh_config para mi usuario)
fuente
En un sistema Centos 6.2 local: Esto no ayudó:
Esto funcionó:
También borré
locale-archive
en/usr/lib/locale
. No sé si esto fue necesario.fuente
Esta fue mi solución en el pasado para los errores de configuración regional.
Ejecute lo siguiente: locale-gen
Luego edite /etc/locale.gen. Asegúrese de que lo siguiente no esté comentado:
fuente
Con Iterm2 , es diferente.
Vaya a
Iterm2 -> Preferences
, luego vaya a laProfiles
pestaña y elija laTerminal
pestaña de la parte inferior.Ir a la
Environment
categoría y desmarcar;Finalmente, cierre e inicie una nueva sesión.
fuente
y asegúrese de que
LC_ALL="en_US.UTF-8"
esté o se haya agregado a / etc / sysconifg / i18ncontenido de ejemplo
fuente
editar
/etc/sysconfig/i18n
Cambiar
LANG="us"
aLANG="en_US"
Guardar y salir, cerrar sesión y volver a iniciar sesión.
fuente