Ich vermute, ich muss eines der verfügbaren Schemata bearbeiten, gsettings
weiß aber nicht, welches. Und als ich alle Schemata aufgelistet habe, waren es einfach zu viele.
Antwort1
Der gewünschte Schlüssel ist favorite-apps
, die Schema-ID ist org.gnome.shell
. Um nun Ihre Lieblings-Apps aufzulisten, können Sie einfach ausführen
gsettings get org.gnome.shell favorite-apps
oder
dconf read /org/gnome/shell/favorite-apps
Diese geben ein Array von Zeichenfolgen zurück, z. B.
['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']
Um nun einen Wert aus diesem Array zu entfernen, können Sie Textverarbeitungstools wie sed
/ verwenden awk
, um zu prüfen, ob ein Element in dieser Liste vorhanden ist, und es unter Beibehaltung des Formats entfernen (nicht ganz so trivial, aber durchaus machbar). Wenn Sie es richtig gemacht haben, schreiben Sie die neuen Einstellungen einfach in die Datenbank. Angenommen, Sie möchten es entfernen, org.gnome.Nautilus.desktop
würden Sie Folgendes ausführen (beachten Sie die Anführungszeichen):
gsettings set org.gnome.shell favorite-apps "['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']"
oder
dconf write /org/gnome/shell/favorite-apps "['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']"
Dennoch ist es einfacher, ein eigenes Dienstprogramm zu schreiben (gsettings
API verwenden), das einen oder mehrere Desktop-Dateinamen als Positionsparameter akzeptiert und diese aus den Favoriten entfernt. Um Ihnen den Einstieg zu erleichtern, finden Sie hier ein sehr einfaches Beispiel, python
das einen Parameter akzeptiert (ausführen als 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))
Antwort2
In Linux Mint sind dies die Befehle:
So fragen Sie Ihre Favoriten ab:
gsettings get org.x.apps.favorites list
So löschen Sie alle Ihre Favoriten:
gsettings reset org.x.apps.favorites list