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
Localizar la entrada
Imaginemos que queremos quitar la papelera del escritorio, la cual se encuentra en la entrada siguiente del registro
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
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.
Pues en mi KDE no encuentro ese registro oiga…
¿No será el registro de Gnome y no el de GNU/Linux el que editas? 😛
Me gustaMe gusta
Toda la razón del mundo @Javier: se me fue la pinza y ni tuve en cuenta la G de GConf ni nada de nada 😉
Gracias por la corrección y perdón por la confusión.
Me gustaMe gusta
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…
Me gustaMe gusta
Que tendrá que ver el Kernel con ese registro ??
Igualmente buen artículo
Me gustaMe gusta
Vale que sólo se trate del registro de Gnome pero que conste en acta que en ningún momento he hecho mención al núcleo del sistema sino al entorno gráfico
Me gustaMe gusta
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…
Me gustaMe gusta
Bueno dejémoslo ahí; aunque reconozco su importancia nunca he estado demasiado de acuerdo con las formas y pataletas de Richard Stallman.
Aunque en un principio utilizaba la apostilla de GNU/Linux terminé, por pereza, siguiendo la corriente generalizada de denominar Linux al sistema operativo.
Me gustaMe gusta
Buen articulo pero algo confuso para un novato.
Me gustaMe gusta
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
Me gustaMe gusta
Excelente articulo, muy bien explicado y detallado.
Me gustaMe gusta