¿Cómo cambiar las preferencias de perfil de gnome-terminal usando dconf o gsettings?


16

Después de actualizar el formulario Ubuntu 14.10 a 15.10, parece que ya no se admite el cambio de gnome-terminalpreferencias gconftool-2. Supongo que este problema está relacionado con la migración de Gconf a GSettings .

Ahora, me gustaría cambiar algunos de mis scripts antiguos (ya que están rotos en Ubuntu 15.10) para que funcionen con dconf/ en gesettingslugar de gconftool-2.

Como ejemplo, en Ubuntu 14.10 ( gnome-terminalversión 3.6.2) podría establecer el número de columnas en el Defaultperfil usando:

$ gconftool-2 --set /apps/gnome-terminal/profiles/Default/default_size_columns \
            --type=int 140
$ gconftool-2 --set /apps/gnome-terminal/profiles/Default/use_custom_default_size \
            --type=bool true

Ahora, en Ubuntu 15.10, escribiendo:

$ dconf list /org/gnome/terminal/legacy/

da

profiles:/
schema-version

mientras

$ gsettings list-relocatable-schemas | grep Terminal

da

org.gnome.Terminal.SettingsList
org.gnome.Terminal.Legacy.Profile
org.gnome.Terminal.Legacy.Keybindings

La salida anterior me confunde:

Todavía en Ubuntu 15.10 (usando la gnome-terminalversión 3.16.2), si ejecuto:

$ gsettings list-keys org.gnome.Terminal.Legacy.Profile:/ | grep default

Yo obtengo:

default-size-rows
default-show-menubar
default-size-columns

entonces hay una default-size-columnsclave que podría (?) corresponder a la default_size_columnsclave en Ubuntu 14.10, pero no hay una use-custom-default-sizeclave correspondiente a la use_custom_default_sizeclave en Ubuntu 14.10. Esto también me confunde.

Además, si intento ejecutar:

$ gsettings set org.gnome.Terminal.Legacy.Profile:/ default-size-columns 150

y abrir una nueva gnome-terminalconfiguración default-size-columnsparece no tener efecto ya que el terminal todavía se abre con 80 columnas.


Primero, actualice a 15.10, ya que tanto 14.10 como 15.04 ya llegaron al final de su vida útil.
Byte Commander

@ByteCommander He actualizado a 15.10 ahora, y la pregunta sigue siendo la misma wrt 15.10 que para 15.04. También encontré una solución, que me gustaría publicar. ¿Cómo se puede volver a abrir esta pregunta para poder publicar la solución?
Håkon Hægland

Respuestas:


19

La sintaxis que se utilizará con el gsettingscomando se describe en las Preguntas frecuentes del terminal GNOME .

Primero debe encontrar el identificador del perfil que desea cambiar. Por ejemplo, el identificador del gnome-terminalperfil predeterminado se puede obtener del esquema org.gnome.Terminal.ProfilesList.

Luego cambie las claves de ruta /org/gnome/terminal/legacy/profiles:/:UUID/de esquema deseadas org.gnome.Terminal.Legacy.Profile:para este perfil.

Tenga en cuenta los dos puntos en la ruta anterior. No funcionará si se omiten.

Aquí hay una secuencia de comandos que utiliza lo anterior para establecer default-size-columnsel perfil predeterminado:

profile=$(gsettings get org.gnome.Terminal.ProfilesList default)
profile=${profile:1:-1} # remove leading and trailing single quotes
gsettings set "org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:$profile/" default-size-columns 150

1
Genial que hayas encontrado la solución tú mismo. No olvides aceptar tu propia respuesta.
Byte Commander

1
En realidad, puede especificar el número del perfil en lugar de su ID, por lo que el comando sería simplemente:gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:0/ default-size-columns 150
Anatoli

1
O incluso más corto:gsettings set org.gnome.Terminal.Legacy.Profile:/:0/ default-size-columns 150
Anatoli

Su respuesta me salvó el día! ¿Cómo descubrió la sintaxis de "org.gnome.Terminal.Legacy.Profile: / org / gnome / terminal / legacy / profiles: /: ... /"? ¿Lo encontraste en la documentación? Lo que me atrapó fue que no me di cuenta de que "Perfil" debería ir seguido de "/ org / gnome / ...".
yaobin
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.