Gnome3+: Wie entferne ich Favoriten über das Terminal aus Dash?

Gnome3+: Wie entferne ich Favoriten über das Terminal aus Dash?

Ich vermute, ich muss eines der verfügbaren Schemata bearbeiten, gsettingsweiß 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.desktopwü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 (gsettingsAPI 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, pythondas 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

verwandte Informationen