Comprender los lugares en Debian GNU/Linux

Comprender los lugares en Debian GNU/Linux
Cada sistema informático viene con su configuración específica con respecto al lenguaje del sistema y la codificación de caracteres que está en uso. Según esta configuración, los mensajes de error, el sistema de ayuda y los comentarios del programa se muestran en la pantalla.

En los sistemas UNIX/Linux, esta configuración se llama POSIX [7] locales y estandarizado como IEEE STD 1003.1-2017 [3]. Tal localidad puede variar para el sistema en su conjunto, y las cuentas de usuario individuales, ya que cada usuario puede individualizar su entorno de trabajo. En este artículo le explicaremos cómo descubrir la configuración de la ubicación actual en Debian GNU/Linux, para comprender sus tornillos de ajuste únicos y cómo adaptar el sistema a sus necesidades.

Tenga en cuenta que este artículo está diseñado para la versión 10 de Debian GNU/Linux "Buster". A menos que se indique lo contrario, las técnicas descritas aquí también funcionan para sus derivados como Ubuntu o Linux Mint [8].

¿Qué es un lugar??

En términos generales, un lugar es un conjunto de valores que reflejan la naturaleza y las convenciones de un país, o una cultura. Entre otros, estos valores se almacenan como variables de entorno que representan el lenguaje, la codificación de carácter, el formato de fecha y hora, el tamaño de papel predeterminado, la moneda del país y el primer día de la semana.

Como se mencionó anteriormente, hay una configuración general conocida como 'localidad predeterminada' y una configuración definida por el usuario. La localidad predeterminada funciona en todo el sistema y se almacena en el archivo/etc/predeterminado/localización. El Listado 1 muestra la localidad predeterminada en una GNU/Linux de Debian usando alemán como idioma principal, y unicode de 8 bits (UTF-8) como el conjunto de caracteres [11].

Listado 1: La ubicación predeterminada en una GNU/Linux de Debian alemana

$ cat/etc/default/locale # archivo generado por update-Locale lang = "de_de.UTF-8 "$ --

Tenga en cuenta que, en contraste con Debian GNU/Linux, en algunas versiones anteriores de Ubuntu, la configuración local de todo el sistema se almacena en/etc/local.confusión.

Las configuraciones definidas por el usuario se almacenan como un archivo oculto en su directorio de inicio, y los archivos reales que se evalúan dependen del shell de inicio de sesión que usa [6]. El tradicional bourne shell (/bin/sh) [4] lee los dos archivos/etc/perfil y ~//.Perfil, mientras que el shell de Bourne (Bash) (/bin/bash) [5] lee/etc/perfil y ~///.bash_profile. Si su shell de inicio de sesión es z shell (/bin/zsh) [9], los dos archivos ~/.ZProfile y ~/.Zlogin se leen, pero no ~/.Perfil a menos que se invoque en el modo de emulación de shell Bourne [10].

Comenzar una carcasa en un terminal en una sesión existente da como resultado una carcasa interactiva no login. Esto puede dar lugar a leer los siguientes archivos - ~/.BASHRC para bash, y/etc/zshrc, así como ~/.ZSHRC para shell Z [6].

Nombrar un lugar

Como se explica aquí [12], el nombre de un lugar sigue un patrón específico. El patrón consiste en códigos de lenguaje, codificación de caracteres y la descripción de una variante seleccionada.

Un nombre comienza con un código de idioma ISO 639-1 en dos letras en minúsculas [13], o un código de idioma de tres letras ISO 639-2 [14] si el idioma no tiene código de dos letras. Por ejemplo, es DE para alemán, FR para francés y CEL para Celtic. El código es seguido para muchos idiomas, pero no todos los idiomas, por un subscore _ y por un código de país de dos letras ISO 3166 [15]. Por ejemplo, esto lleva a DE_CH para alemán suizo y FR_CA para un sistema de habla francesa para un usuario canadiense que probablemente se ubique en Québec.

Opcionalmente, un punto . Sigue el nombre del personaje que codifica como UTF-8, o ISO-8859-1, y el signo @ seguido del nombre de una variante. Por ejemplo, el nombre en_ie.UTF-8@Euro describe la configuración para un sistema inglés para Irlanda con codificación de caracteres UTF-8, y el euro como símbolo de divisas.

Comandos y herramientas

El número de comandos relacionados con los locales es relativamente bajo. La lista contiene un local que muestra exclusivamente la configuración de la configuración regional actuales. El segundo es localectl que se puede usar para consultar y cambiar la configuración de diseño de la configuración del sistema y el teclado. Para activar un local, las herramientas DPKG-Reconfigure y la generación de la generación de la ubicación, vea el ejemplo a continuación.

Muestre el lugar que está en uso

El paso uno es descubrir la configuración regional actual en su sistema utilizando el comando local de la siguiente manera:

Listado 2: Mostrar el local actual

$ locale lang = de_de.UTF-8 lenguaje = lc_ctype = "de_de.UTF-8 "LC_NUMERIC =" DE_DE.UTF-8 "
Lc_time = "de_de.UTF-8 "LC_COLLATE =" DE_DE.UTF-8 "LC_MONETARY =" DE_DE.UTF-8 "
Lc_messages = "de_de.UTF-8 "lc_paper =" de_de.UTF-8 "LC_NAME =" DE_DE.UTF-8 "
Lc_address = "de_de.UTF-8 "lc_telephone =" de_de.UTF-8 "LC_Measurement =" De_de.UTF-8 "
Lc_identification = "de_de.UTF-8 "LC_ALL = $ --

Tenga en cuenta que otras distribuciones de Linux que Debian GNU/Linux pueden usar variables de entorno adicionales que no se enumeran anteriormente. Las variables individuales tienen el siguiente significado:

  • Lang: determina la ubicación predeterminada en ausencia de otras variables de entorno relacionado con el local
  • Idioma: Lista de lenguajes de traducción de mensajes alternativo
  • Lc_ctype: clasificación de caracteres y conversión de casos
  • LC_NUMERIC: formato numérico
  • LC_TIME: formatos de fecha y hora
  • LC_COLLATE: Orden de recopilación (Sort)
  • Lc_monetary: formato monetario
  • LC_Messages: formato de palabras y respuestas interactivas
  • LC_Paper: tamaño de papel predeterminado para la región
  • Lc_name: formatos de nombre
  • Lc_address: convención utilizada para el formato de direcciones de calles o postales
  • Lc_telephone: convenciones utilizadas para la representación de números de teléfono
  • LC_Measurement: sistema de medición predeterminado utilizado dentro de la región
  • Lc_identificación: metadatos sobre la información local
  • LC_Response: determina cómo las respuestas (como Yes y No) aparecen en el idioma local (no en uso por Debian Gnu/Linux pero Ubuntu)
  • LC_All: anula todas las demás variables locales (excepto el lenguaje)

Lista de lugares disponibles

A continuación, puede enumerar los locales disponibles en su sistema utilizando el comando locales acompañado de su opción -A. -A es corto para -Lal -Locales:

Listado 3: Mostrar locales disponibles

$ loce -a c c.UTF-8 de_de@euro de_de.UTF8 EN_US.UTF8 POSIX $ --

El Listado 3 contiene dos configuraciones locales tanto para alemán (Alemania) como para inglés (EE. UU.). Las tres entradas C, C.UTF-8, y POSIX son sinónimos y representan la configuración predeterminada que son apropiadas para los datos analizados por un programa de computadora. La salida en el Listado 3 se basa en la lista de locales compatibles almacenados en/usr/share/i18n/compatible.

Además, agregar la opción -V (abreviatura de -verbosa) a la llamada conduce a una salida mucho más extensa que incluye los metadatos de identificación LC sobre cada localidad. La Figura 1 muestra esto para la llamada del Listado 3.

Para ver qué locales ya existen, y cuáles necesitan más ayuda para completar, también puede echar un vistazo al mapa del Proyecto Helper local [20]. Los marcadores rojos muestran claramente qué locales están sin terminar. La Figura 2 muestra los locales de Sudáfrica que se ven bastante completos.

Mostrar mapas de personajes disponibles

El comando local viene con la opción -m que es abreviatura de -armapas. La salida muestra los mapas de caracteres disponibles o los archivos de descripción del conjunto de caracteres [16]. Tal archivo está destinado a "definir características para el conjunto de caracteres codificado y la codificación para los caracteres especificados en el conjunto de caracteres portátiles, y puede definir la codificación para caracteres adicionales apoyados por la implementación" [16]. Listado 4 ilustra esto con un extracto de toda la lista.

Listado 4: Artículos establecidos de descripción Archivos

$ locale -m ANSI_X3.110-1983 ANSI_X3.4-1968 ARMSCI-8 ASMO_449 BIG5 BIG5-HKSCS ... $ --

Mostrar las definiciones de variables locales

Cada variable utilizada para un local viene con su propia definición. Uso de la opción -k (abreviatura de -keyword -name) El comando locale muestra esta configuración en detalle. El listado 5 ilustra esto para la variable LC_Telephone, tal como se define en un entorno alemán: el formato de número de teléfono, el formato de teléfono nacional, el código de selección internacional y el código de país (prefijo internacional) y el código establecido. Consulte el Proyecto Locale Helper [20] para obtener una descripción detallada de los valores.

Listado 5: Los detalles de LC_Telephone

$ locale -k lc_telephone tel_int_fmt = "+ %c %a %l" tel_dom_fmt = " %a %l"
int_select = "00" int_prefix = "49" Telephone-codeSet = "UTF-8" $ --

Cambiar el localidad actual

El conocimiento sobre el local se hace necesario tan pronto como ejecuta un sistema que viene con un local de diferentes de lo que está acostumbrado, por ejemplo, en un sistema Linux Live. Cambiar el local se puede hacer de dos maneras: reconfigurar el paquete de locales de Debian [19], y agregar la ubicación requerida utilizando el comando Gen Gen. Para la opción uno, ejecutar el siguiente comando abre un cuadro de diálogo de configuración basado en texto que se muestra en la Figura 3:

# DPKG-RECONFIGURE LOCALES

Presione la barra espacial para elegir las ubicaciones (s) deseadas de la lista que se muestra en el cuadro de diálogo y elija "Aceptar" para confirmar su selección. La siguiente ventana de diálogo le ofrece una lista de locales disponibles para la localidad predeterminada. Seleccione el deseado y elija "Aceptar". Ahora, se generan los archivos de Según la localidad, y la localidad seleccionada anteriormente está configurada para su sistema.

Para la opción dos, la generación de la localidad deseada se realiza con la ayuda de la generación de comandos de la generación. El listado 6 ilustra esto para una configuración francesa:

Listado 6: Generación de un lugar francés

Gen-Gen FR_FR.UTF-8
Generando locales ... FR_FR.UTF-8… Generación de Hecho Completo. # --

Para usar la configuración regional generada previamente como la predeterminada, ejecute el comando en el Listado 7 para configurarlo correctamente:

Listado 7: Configuración manual del local

# Update-Locale lang = FR_FR.UTF-8

Tan pronto como abre una nueva sesión de terminal, o vuelva a iniciar su sistema, los cambios se activan.

Compilar un archivo de definición local

El comando localectl le ayuda a compilar manualmente un archivo de definición local. Para crear una configuración francesa, ejecute el comando de la siguiente manera:

Listado 8: compilar una definición local

# localedef -i fr_fr -f UTF -8 FR_FR.UTF-8

Conclusión

Comprender los locales puede llevar un tiempo, ya que es una configuración que está influenciada por varios factores. Explicamos cómo descubrir su localidad actual y cómo cambiarlo correctamente. Adpating el sistema Linux a sus necesidades debería ser mucho más fácil para usted a partir de ahora.

Enlaces y referencias
  • [1] Local, Debian Wiki
  • [2] Changelanguage, cómo cambiar el lenguaje de su sistema Debian
  • [3] Posix Locale, el número de especificaciones de la base del grupo abierto 7, 2018 Edición
  • [4] Bourne Shell, Wikipedia
  • [5] Bourne-Again Shell, Wikipedia
  • [6] Diferencia entre el shell de inicio de sesión y el shell no login?, Cambio de stacex
  • [7] Interfaz del sistema operativo portátil (POSIX), Wikipedia
  • [8] Linux Mint
  • [9] Z Shell, Wikipedia
  • [10] Comandos construidos de shell Zsh
  • [11] UTF-8, Wikipedia
  • [12] ¿A qué debo establecer mi localidad y cuáles son las implicaciones de hacerlo??
  • [13] ISO 639-1, Wikipedia
  • [14] ISO 639-2, Wikipedia
  • [15] ISO 3166, Wikipedia
  • [16] Archivos de descripción establecidos de caracteres
  • [17] Local, Ubuntu wiki
  • [19] Paquete de Debian de Localios
  • [20] Proyecto de ayuda local