Modificar el registro en Linux desde la terminal

Mira que no quería llamarlo registro (me recuerda demasiado al de Microsoft Windows) pero es que se parecen como dos gotas de agua.

Suele ser habitual encontrar como solución a problemas con el entorno el modificar la configuración del sistema mediante el uso del Editor de configuración (gconf-editor) lo cual está bastante bien para un cambio puntual pero puede llegar a resultar engorroso cuando se trata de modificar varias entradas o tiene que realizarse el mismo cambio en varios equipos y/o sistemas operativos instalados en la misma máquina.

Cómo últimamente ando instalando Ubuntu en el portátil nuevo (ya os contaré, de momento va ganando la máquina) y dentro de poco le meteré también ArchLinux y hay varios detalles que no me gustan nada (tener que confirmar el apagado del equipo, cambiar los botones de las ventanas a la derecha, …) y tendré que cambiar en los dos, he decidido crear un script (que meteré en mi Dropbox) que me automatice el proceso y deje el sistema operativo como a mi me gusta.

De momento y como aperitivo, quiero compartir con vosotros la forma de realizar dichos cambios desde la terminal de modo que podamos usarlo en nuestros scripts en Bash y sirva de base para futuros artículos que iré publicando en el blog.

Cambiando la configuración

Lo primero que tenemos que saber es la entrada del registro que queremos modificar y el tipo de los datos que contiene; para ello nos valdremos del Editor de Configuración GConf que puede ser invocado desde la terminal con un

gconf-editor

obteniendo como resultado

null

Localizar la entrada

Imaginemos que queremos quitar la papelera del escritorio, la cual se encuentra en la entrada siguiente del registro

null

NOTA: para llegar a ella habrás tenido que ir navegando por las distintas entradas del árbol que aparece a la izquierda del registro.

Aunque es cuestión de paciencia y acostumbrarse a la estructura del registro normalmente las entradas (o claves) las encontraremos en los distintos artículos de la Red donde nos explican cómo configurar determinado aspecto del Sistema y/o aplicación.

Tipo de datos

La caja o checkbox que aparece a la derecha de trash_icon_visible (campo valor) nos canta que se trata de una variable lógica que sólo admite valores verdadero (en nuestro ejemplo para que la papelera sea visible en el escritorio) o falso (para ocultar el icono de la papelera) pero podría ser de cualquiera de los tipos permitidos

null

Asignar un valor

Supongamos que queremos ocultar la papelera; para ello deberemos asignar a la entrada /apps/nautilus/desktop/trash_icon_visible el valor false y eso lo conseguimos lanzando desde la terminal un

gconftool-2 --type bool --set /apps/nautilus/desktop/trash_icon_visible false

donde:

  • type indica el tipo de datos que vamos a utilizar (los valores posibles son {int|bool|float|string|list|pair})
  • set permite indicar la entrada a modificar (/apps/nautilus/desktop/trash_icon_visible) y el valor que queremos asignar (false)

Asignando distintos tipos

A riesgo de parecer pesado y a modo de referencia os dejo ejemplos de cómo modificar los distintos tipos de datos que admite el parámetro type.

Valores lógicos (bool)

Ya hemos visto un ejemplo con el icono de la papelera en el escritorio

gconftool-2 --type bool --set /apps/nautilus/desktop/trash_icon_visible false

Enteros (int) y reales (float)

Como ejemplo cambiemos el número de escritorios a seis (6)

gconftool-2 --type int --set /apps/metacity/general/num_workspaces 6

NOTA: Los reales funcionan exactamente igual salvo que debemos cambiar el tipo (type float) y el valor tiene el punto como separador decimal (p.e. 62.3)

Textos (string)

Imaginemos que queremos cambiar la etiqueta que aparece debajo de la papelera a “Mi basura”

gconftool-2 --type string --set /apps/nautilus/desktop/trash_icon_name "Mi basura"

NOTA: Observa el uso de las comillas dobles (“) para indicar el valor “Mi basura” cuyo uso se hace necesario cuando existen espacios en blanco dentro de la cadena.

Lista de valores (list)

Si quieres que el formulario de búsqueda de GEdit (CTRL+F) muestre los valores aa y bb deberías lanzar un

gconftool-2 --type list --list-type string --set /apps/gnome-settings/gedit/history-gedit2_search_for_entry [aa,bb]

NOTA: Destacar el uso del parámetro list-type para indicar el tipo de las entradas de la lista (admite los valores {int|bool|float|string} cuyo uso ya hemos visto en los ejemplos anteriores]

Parejas de valores (pairs)

Permite indicar parejas de valores de cualquiera de los tipos anteriormente estudiados

gconftool-2 --type pair --car-type=int --cdr-type=string --set /no/uses/esto (1,"Primer elemento")

Conclusión

Repaso a la forma de modificar una entrada del registro sin necesidad de usar el editor de configuraciones GConf con ejemplos de cómo editar los distintos tipos de entrada que pueden aparecer en él.

Este artículo base espero que sirva tanto para ser referenciado en otros artículos en los que utilicemos el registro como para que podáis crear vuestros propios scripts que os permitan automatizar determinadas configuraciones del sistema a partir de artículos que encontréis en Internet explicando determinados procesos y/o trucos.

12 comentarios en “Modificar el registro en Linux desde la terminal

  1. rafa dijo:

    Buena observación Javier, es el registro de Gnome, una simple copia del regedit de M$.
    Particularmente, no me gusta nada , donde exista un simple fichero de texto, ya se tipo XML , etc…

  2. El rollo es que ese registro es para configurar Gnome, y sólo Gnome, para las características que se consideran avanzadas y no se ponen en la configuración básica de cada programa…

    Lo del núcleo te lo dicen porque “Linux” en sentido estricto sólo hace referencia al kernel y aunque algun@s lo admiten como término genérico para el sistema operativo completo, otr@s creemos más correcto usar “GNU/Linux” como solicita Richard Stallman para dar crédito así también a las herramientas GNU (y otros programas bajo licencia GPL) que acompañan al núcleo. Sobre esto ha habido mucha discusión y debate, cuando lo dijo por primera vez Stallman hace años…

    • Siento que el artículo no sea lo suficientemente claro pero de todos modos no te preocupes (ve poco a poco): el uso que se explica es de nivel medio y no suele ser necesario en el día a día. Aprovecha para aprender todo lo que puedas para cuando pueda resultarte útil y no dudes en preguntar las dudas que te hayan podido surgir así, casi sin darte cuenta, avanzarás en tus conocimientos.
      Un saludo @altobelli

  3. Pingback: BlogESfera.com
  4. Pingback: Bitacoras.com

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s