Я здогадуюсь, що мені потрібно відредагувати одну із доступних схем, gsettingsале я не знаю, в якій. і коли я перераховував усі схеми, їх просто занадто багато.
Я здогадуюсь, що мені потрібно відредагувати одну із доступних схем, gsettingsале я не знаю, в якій. і коли я перераховував усі схеми, їх просто занадто багато.
Відповіді:
Ключовий ключ - favorite-appsідентифікатор схеми org.gnome.shell. Тепер для переліку ваших улюблених додатків ви можете просто запустити
gsettings get org.gnome.shell favorite-apps
або
dconf read /org/gnome/shell/favorite-apps
Вони повернуть масив рядків, наприклад
['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']
Тепер, щоб видалити значення з цього масиву, ви можете використовувати засоби обробки тексту, як sed/ awkперевірити, чи є елемент у цьому списку, і видалити його, зберігаючи той самий формат (не той тривіальний, але, безумовно, виконаний), і як тільки ви це зрозумієте, просто напишіть нові налаштування бази даних, наприклад, якщо ви хотіли видалити, org.gnome.Nautilus.desktopви запустили (зверніть увагу на подвійні лапки):
gsettings set org.gnome.shell favorite-apps "['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']"
або
dconf write /org/gnome/shell/favorite-apps "['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']"
Але все ж простіше написати власну утиліту ( за допомогою gsettingsAPI ), яка буде приймати одне або кілька імен файлів настільних ПК як позиційні параметри та видаляти їх із вибраних; для початку роботи, ось дуже основний приклад, pythonякий приймає один парам (запустити як 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))