GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Cómo personalizar una configuración regional del sistema?

En el sistema Administración Soporte de idiomas Texto. Solo puedo elegir configuraciones regionales estándar, pero me gustaría ajustarlas. Por ejemplo, en Windows podría personalizar manualmente cosas como el formato de hora y fecha, unidades de medida, separador decimal, moneda, etc. ¿Cómo puedo hacer esto en Ubuntu?

Mejor respuesta

Esta respuesta demostrará cómo personalizar completamente una configuración regional, opcionalmente usando una configuración regional existente como base. El tipo de configuración regional que se usará en esta respuesta es i18n tipo; dicho tipo de lugar estará implícito en cada mención de la palabra "lugar" en el cuerpo de la respuesta.

Buscar una guía

Lo primero que necesita para personalizar una configuración regional es conocer el formato de la configuración regional. Este editor de configuración regional web tiene una descripción completa de cada campo en una configuración regional, a pesar de que cualquiera no puede utilizarlo de inmediato. Esta será la guía de uso.

Herramientas necesarias

Las únicas herramientas que necesita para trabajar con locales son

  1. Un editor de texto. Cualquiera servirá, aunque VIM sobresaldrá.
  2. Un convertidor de texto a Unicode. Lo más probable es que no tuvieras uno, así que te proporcionaré uno simple. Lea la siguiente subsección para obtenerlo.

Te recomiendo que crees un directorio y guardes en él todo lo relacionado con el trabajo que harás en la configuración regional.

Convertidor de texto a Unicode (encodestr)

NOTA: si está utilizando caracteres no comunes puede que tengas problemas con el script que escribo a continuación; es posible que desee echar un vistazo a los scripts alternativos vinculados por nass .

Guarde el siguiente código en un archivo. Su sistema identificará este archivo como una secuencia de comandos de python, lo cual está bien porque es uno. Esta guía asume que llamaste al script encodestr .

#!/usr/bin/env python3

import sys

def main():
    if len(sys.argv) != 2:
        exit(f'Usage: {sys.argv[0]} <string to encode>')
    print(encode(sys.argv[1]))

def encode(s):
    return ''.join(f"<U{ord(c):04X}>" for c in s)

if __name__ == '__main__':
    sys.exit(main())

Una vez que lo haya guardado, otorgue permiso de ejecución al archivo; esto será útil. Puede hacerlo usando nautilus, o ejecutando desde una terminal el siguiente comando, en el directorio en el que guardó el script:chmod +x encodestr .

Ahora puede probar este script ejecutándolo en el mismo directorio:./encodestr hello . Debería obtener una salida igual a <U0068><U0065><U006C><U006C><U006F> .

Modificar una configuración regional existente

La modificación de una configuración regional existente es el caso más fácil, ya que idealmente elegirá una configuración regional que se adapte a sus necesidades casi por completo, en cuyo caso solo necesita realizar pequeñas modificaciones. Para personalizarlo, puede usar la guía para saber cuáles de las secciones son las que desea cambiar y cómo puede cambiarlas. Todas las configuraciones regionales instaladas residen en /usr/share/i18n/locales , sin embargo, la guía contiene casi todas las configuraciones regionales jamás creadas.

Sin embargo, lo primero que notará cuando abra una configuración regional es que leerá palabras en inglés tanto como raras <UXXXX> códigos. Deberá poder crear estos códigos:aquí es donde encodestr viene el guión.

Cuando sabe qué secciones tiene que cambiar, necesita conocer cada campo contenido en la sección.

Por ejemplo, el LC_TIME La sección contiene el campo t_fmt , y muchos otros. Cada campo tiene su propia descripción en la guía.

Ahora que sabe qué campos modificar, use la guía nuevamente para averiguar qué valores acepta el campo.

Por ejemplo, el campo t_fmt acepta texto y las variables strfmt comunes.

Justo cuando sepa qué escribir en los campos que desea modificar, ejecute el texto a través de encodestr script para obtener su equivalente codificado.

Relacionado:¿Cómo ejecutar la aplicación durante un tiempo determinado en Shell?

NOTA: No es necesario codificar todos los campos, use una configuración regional existente como referencia si es necesario.

Por ejemplo, si desea tener el formato de hora Time: %T en el t_fmt campo, ejecute ./encodestr "Time: %T"; esto devolverá <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054> y así tendrás la línea t_fmt <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054> en su localidad (en su sección respectiva, por supuesto).

Después de haber modificado todos los campos que deseaba, deberá proceder a instalar la configuración regional en el sistema, para que pueda usarse. Proceda a la sección de instalación para esto.

Crear una configuración regional desde cero

A diferencia de modificar uno, el otro método que puede usar para crear su configuración regional personalizada es trabajar en él desde cero. Esto no es muy difícil si, de nuevo, usas la guía. Sin embargo, aquí hay un consejo útil:puede copiar secciones de otras configuraciones regionales sin necesidad de copiar y pegar. métodos. Solo tienes que seguir este formato:

LC_SECTION
copy "locale"
END LC_SECTION

Donde LC_SECTION es la sección que desea modificar y locale es la configuración regional desde la que desea copiar esa sección.

Por ejemplo, si desea copiar el formato de hora en la configuración regional en inglés, tendrá este texto en su archivo de configuración regional personalizado:

LC_TIME
copy "en_GB"
END LC_TIME

Y eso le ahorra mucho trabajo y le asegura que cualquier cambio realizado en la configuración regional a la que se hace referencia se reflejará en la suya.

Instalación de su configuración regional personalizada

Los pasos que mostraré a continuación pueden no ser óptimos, pero funcionan.

  1. Compile su configuración regional. ¡No entrar en pánico! Esto no lleva tiempo. Simplemente ejecute el comando sudo localedef -i custom -f UTF-8 custom.UTF-8 -c -v donde custom es el nombre de su localidad.

  2. Copie su configuración regional en /usr/share/i18n/locales/ directorio. Definitivamente necesitarás sudo privilegios para hacer esto, y puede hacerlo con el comando sudo cp locale /usr/share/i18n/locales/ donde locale es el nombre de archivo de su configuración regional personalizada.

  3. Especifique su configuración regional en /var/lib/locales/supported.d/ . Por ejemplo, cree un nombre de archivo /var/lib/locales/supported.d/asd y agregue la línea custom UTF-8 , donde personalizado es el nombre de su configuración regional.

  4. Ejecuta el comando mágico. En realidad, no sé qué hace exactamente este comando, pero es crucial. Ejecute sudo locale-gen . Lo más probable es que genere referencias a las configuraciones regionales disponibles donde sea necesario.

  5. Dígale a su sistema que use la configuración regional. Si desea que la configuración regional se utilice en todo el sistema, modifique el /etc/environment expediente. Si no, puedes modificar tu ~/.profile archivo, o cualquier otro que se obtenga al inicio. Si no sabe lo que significa esto último, no se preocupe, simplemente use ~/.profile expediente. Para saber lo que tienes que escribir en él, primero ejecuta el locale dominio. Debería generar una lista con elementos como LANGUAGE , LC_MESSAGES , LC_CTYPE y muchos otros. Escribirá, para cada una de las secciones que desee (enumeradas por el comando anterior), en líneas separadas, este SECTION="locale" donde SECTION es la sección y locale el nombre de su configuración regional personalizada.

Por ejemplo, si desea utilizar el formato de hora de los Países Bajos, pero el idioma inglés, escriba:

LANGUAGE="en_GB:en"
LC_TIME="nl_NL"

NOTA: Si desea utilizar una configuración regional para cada configuración de configuración regional, escriba LC_ALL="locale" donde locale es el nombre de su entorno local personalizado. Si desea utilizar una configuración regional para todo excepto para el idioma, puede escribir LANG="locale" y (en otra línea, por supuesto) LANGUAGE="locale":XX donde XX es el código de 2 letras del idioma que desea.

Por ejemplo, si desea utilizar la configuración regional holandesa y el idioma inglés, puede utilizar:

LANG="nl_NL"
LANGUAGE="nl_NL:en"

Has terminado

La próxima vez que inicie sesión, su configuración regional debería estar en uso. Puede probar esto ejecutando locale comando de nuevo.

Relacionado:Iptables:¿no se puede inicializar el filtro de tabla?

¡Por favor comente sobre inconsistencias o declaraciones falsas en esta guía!


Ubuntu
  1. Cómo instalar Ruby en Windows 10

  2. Cómo cambiar la configuración regional de un sistema en RHEL7 Linux

  3. Cómo instalar Gradle en Ubuntu 18.04

  4. Cómo configurar la configuración regional del sistema en CentOS 7

  5. Cómo configurar la configuración regional del sistema en Ubuntu 16.04

Cómo agregar una impresora a Ubuntu

Cómo reinstalar Ubuntu

Cómo instalar urBackup en Ubuntu 20.04

Cómo instalar Dropbox en Ubuntu 18.04 y 16.04

Comprender cómo funciona un sistema de correo electrónico

Cómo personalizar Cinnamon Desktop en el sistema Linux