Supongo que necesito editar uno de los esquemas disponibles, gsettings
pero no sé cuál. y cuando enumeré todos los esquemas, simplemente hay demasiados.
Respuesta1
La clave que desea es favorite-apps
el ID del esquema org.gnome.shell
. Ahora, para enumerar tus aplicaciones favoritas, simplemente puedes 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 es tan trivial, aunque definitivamente factible) y una vez que lo haga bien, simplemente escriba el nuevas configuraciones para 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 tu 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 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))
Respuesta2
En Linux Mint, estos son los comandos:
Para consultar tus favoritos:
gsettings get org.x.apps.favorites list
Para eliminar todos tus favoritos:
gsettings reset org.x.apps.favorites list