he usado wget
por primera vez después de instalar Lion OS X, noté que wget se localizó en mi idioma nativo. Corriendo set
comando en la terminal mostró que mi LANG
La variable representa mi idioma local. ¿Dónde puedo cambiar esto o hacer? wget
ignorar esta configuración?
actualizar
Esto es lo que locale
me da
LANG="lt_LT.UTF-8"
LC_COLLATE="lt_LT.UTF-8"
LC_CTYPE="lt_LT.UTF-8"
LC_MESSAGES="lt_LT.UTF-8"
LC_MONETARY="lt_LT.UTF-8"
LC_NUMERIC="lt_LT.UTF-8"
LC_TIME="lt_LT.UTF-8"
LC_ALL=
Por lo tanto, todos los resultados de los no parámetros (como las solicitudes y los mensajes de depuración) están en lituano. Ese es mi problema. Me gustaría volver al inglés.
estoy usando zsh
como mi shell de inicio de sesión.
wget
? Y que hacelocale
muestre y es lo mismo que espera de su selección de idioma en el Idioma & amp; Texto panel de preferencias del sistema?Respuestas:
De forma predeterminada, Terminal configura las variables de entorno de configuración regional para que coincidan con el idioma seleccionado actualmente y los formatos de hora / fecha / número que utiliza Terminal, que se seleccionan a través de
(Ese es el nombre en Lion. En los sistemas anteriores, el nombre exacto del panel de preferencias puede variar).
Una solución temporal es arrastrar el inglés a la parte superior de la lista de idiomas, luego abrir Terminal y luego mover el lituano a la parte superior. Entonces solo la Terminal estará en inglés. Sin embargo, se restablecerá a lituano si sale y reinicia el terminal.
Un enfoque persistente es decirle a la Terminal que no establezca las variables de entorno del entorno local, desactivando
Luego, la configuración regional se establecerá de manera predeterminada en "C" sin idioma especificado, y la mayoría de los programas se establecerán de manera predeterminada en inglés.
Tenga en cuenta que desactivar esto significa que algunos programas no sabrán qué codificación de caracteres utiliza Terminal y supondrán que es solo ASCII o ISO-Latin-1. Entonces, si Terminal está usando UTF-8 (el valor predeterminado), esos programas pueden o no comportarse como se desea.
Si esto es sobre todo acerca de
wget
, Le recomiendo que haga una copia del perfil de configuración predeterminada, desactive la configuración regional en su perfil personalizado y solo use ese perfil cuando lo usewget
, para que pueda seguir usando UTF-8 con soporte completo cuando use otros programas, usando la configuración predeterminada.Como han mencionado otros, también puede anular la configuración regional inicial proporcionada por Terminal en un script de inicio de shell. Para zsh, ponlo en ~ / .zshrc. Para bash, use ~ / .bashrc (y si aún no tiene uno, cree un ~ / .bash_profile que ejecute ~ / .bashrc).
Consulte x-man-page: // 1 / locale para obtener más información sobre cada uno de los valores del entorno de locale.
Sin embargo, si usted fuera meramente
unset LANG
o establézcalo en "C", que normalmente se aplicaría a todos de sus shells y programas, mientras que la mayoría de las veces probablemente quiera usar UTF-8 y tener la Terminal configurada para que coincida con las variables locales, para obtener el mayor grado de cooperación, fidelidad y funcionalidad.Por lo tanto, si va a seguir esa ruta, le sugiero que escriba el código para editar, en lugar de reemplazar, los valores iniciales, de modo que conserve la información de codificación ("UTF-8") y simplemente fuerce el idioma al inglés. En lugar de establecer las variables a "C".
Por ejemplo, esto funciona en zsh y bash:
Cuando
LANG="lt_LT.UTF-8"
, esto lo cambiará aLANG="en_US.UTF-8"
. No tengowget
Disponible para probar esto, pero esto debería ser suficiente.Hacerlo de esta manera significa que si cambia la preferencia de codificación de caracteres en la Terminal, no la anulará en su script de inicio de shell.
fuente
LANG
comando de redefinición:echo ${LANG/*./en_US.}
reemplaza el nombre de la cultura actual conen_US
independientemente de lo que sea; trabaja enbash
,ksh
,zsh
.Se establece aquí ...
Si desea más o menos opciones en el menú desplegable, diríjase a la Codificaciones pestaña para ver aún más de la recompensa.
fuente
LANG=
y los otros valores todos por defecto a"C"
.Resolví este problema configurando el idioma en mi archivo .profile, que se carga cada vez que inicio un terminal.
fuente
LC_ALL
anulaLANG
, por lo que su primer comando no tendrá efecto.Basado más en la experiencia de Linux, si no desea cambiar su localización completamente con LC_LANG, pero le gustaría tener mensajes del sistema en inglés, deberías ponerte
fuente
LC_MESSAGES
variable que controla en qué idioma se deben enviar los mensajes (si están instalados).Usando un servidor debian en francés y un cliente bash macsox, tuve que agregar esto a mi .bash_profile en el directorio de usuarios de macosx:
Resuelto
fuente
Las otras respuestas son correctas, es decir, sobre la
Terminal
configuración para establecer las variables de entorno local en el inicio y usando la concha/etc/profile
. Sin embargo, hay otra forma que vale la pena entender, especialmente si el "problema" se experimenta debido a un control remoto.ssh
iniciar sesión.OpenSSH (como se usa en Linux, BSD y macOS) puede enviar variables de entorno desde el entorno del cliente al shell que inicia el servidor. Solo hace esto si el cliente está configurado para enviarlos y el servidor está configurado para aceptarlos. El cliente (
~/.ssh/config
) necesitaría tener:y el servidor (
/etc/ssh/sshd_config
) necesitaría:Si ambos están en su lugar, el local del cliente se propaga al shell de inicio de sesión en el servidor ssh:
La configuración requerida del servidor no está allí por defecto en Leopardo de nieve ; está ahí en Sierra . Recuerde reiniciar el servidor SSH después de modificar
/etc/sshd_config
!!!fuente