Supongo que necesito editar uno de los esquemas disponibles, gsettings
pero no sé cuál. y cuando enumeré todos los esquemas, hay demasiados de ellos.
Supongo que necesito editar uno de los esquemas disponibles, gsettings
pero no sé cuál. y cuando enumeré todos los esquemas, hay demasiados de ellos.
Respuestas:
La clave que desea es favorite-apps
la identificación del esquema org.gnome.shell
. Ahora para enumerar sus aplicaciones favoritas, simplemente puede ejecutar
gsettings get org.gnome.shell favorite-apps
o
dconf read /org/gnome/shell/favorite-apps
Estos devolverán una serie de cadenas, por ejemplo
['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']
Ahora, para eliminar un valor de esa matriz, puede usar herramientas de procesamiento de texto como sed
/ awk
para verificar si un elemento está en esa lista y eliminarlo manteniendo el mismo formato (no tan trivial aunque definitivamente factible) y una vez que lo haga bien, simplemente escriba nueva configuración de la base de datos, por ejemplo, suponiendo que desea eliminar org.gnome.Nautilus.desktop
, ejecutaría (tenga en cuenta las comillas dobles):
gsettings set org.gnome.shell favorite-apps "['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']"
o
dconf write /org/gnome/shell/favorite-apps "['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']"
Aún así, es más fácil escribir su propia utilidad ( usando gsettings
API ) que aceptará uno o más nombres de archivos de escritorio como parámetros posicionales y los eliminará de favoritos; para comenzar, aquí hay un ejemplo muy básico en el python
que acepta un parámetro (ejecutar como script.py firefox.desktop
):
#!/usr/bin/env python
from sys import argv
from gi.repository import Gio,GLib
item=argv[1]
gschema = Gio.Settings('org.gnome.shell')
gvalues=gschema.get_value('favorite-apps').unpack()
if item in gvalues: gvalues.remove(item)
gschema.set_value('favorite-apps', GLib.Variant('as', gvalues))