Configurar extensiones gnome-shell desde la línea de comando


9

Me gusta ejecutar un par de scripts para instalar paquetes automáticamente y hacer algunas configuraciones en instalaciones nuevas de SO. Utilizo gnome shell con algunas extensiones y estaba pensando en mejorar mis scripts para configurarlos.

Normalmente configuro las extensiones usando gnome-shell-extension-prefs o dconf-editor y sé cómo editar otros esquemas desde la línea de comandos. Ejemplo:

gsettings set org.gnome.desktop.background picture-options stretched

Pero, aunque puedo encontrar y editar las extensiones instaladas en org.gnome.shell.extensions usando dconf-editor, no puedo acceder a ellas usando gsettings, ya que no parecen tener un esquema asignado:

No such schema 'org.gnome.shell.extensions.extname'

Las únicas extensiones accesibles con gsettings parecen ser las que vienen preinstaladas.

Entonces, la pregunta es, ¿cómo puedo configurar las extensiones instaladas desde la línea de comandos? ¿Hay alguna forma de asignar a gsettings los esquemas compilados ~/.local/share/gnome-shell/extensions/? Tal vez estoy mirando en la dirección equivocada.

Entorno: Ubuntu Gnome 14.04 (Gnome Shell 3.10.4)

Gracias por adelantado.

Respuestas:


11

Encontré la respuesta por mí mismo al final.

sudo cp ~/.local/share/gnome-shell/extensions/extname/schemas/org.gnome.shell.extensions.extname.gschema.xml \
    /usr/share/glib-2.0/schemas/ &&
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

Copie y compile los esquemas ~/.local/share/gnome-shell/extensionsy gsettings podrá trabajar con ellos.


un buen poco de excavación!
Pancho

Acabo de encontrarme con el mismo error. Debe haber una mejor solución que copiar esquemas de extensiones que se instalan localmente en el directorio global. ¿Alguna actualización de este problema?
ingeniero

4

En CentOS 7, y también pensaría en Ubuntu, he identificado lo que creo que es una ligera mejora en la respuesta aceptada al introducir el modificador --schemadir de la siguiente manera:

# gsettings --schemadir ${schemaDir} set ${schema} ${key} "${value}"

En los gsettings comando anterior establece directamente ${key}a ${value}, en ${schema}donde ${schema}no reside en el valor por defecto /usr/share/glib-2.0/schemasdel directorio. (y no hay ningún requisito para mover el esquema al directorio predeterminado)

Algunos ejemplos:

gsettings --schemadir ~/.local/share/gnome-shell/extensions/putWindow@clemens.lab21.org/schemas/ list-recursively org.gnome.shell.extensions.org-lab21-putwindow
gsettings --schemadir ~/.local/share/gnome-shell/extensions/unitylike-hotkey@webgyerek.net/schemas/  list-recursively org.gnome.shell.extensions.app-keys
gsettings --schemadir ~/.local/share/gnome-shell/extensions/emoji-selector@maestroschan.fr/schemas/  list-recursively org.gnome.shell.extensions.emoji-selector

1
confirmado trabajando en Ubuntu 18.04, GS 3.28. Como un ejemplo:gsettings --schemadir ~/.local/share/gnome-shell/extensions/putWindow@clemens.lab21.org/schemas/ list-recursively org.gnome.shell.extensions.org-lab21-putwindow
eddygeek

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.