Я здогадуюсь, що мені потрібно відредагувати одну із доступних схем, 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']"
Але все ж простіше написати власну утиліту ( за допомогою gsettings
API ), яка буде приймати одне або кілька імен файлів настільних ПК як позиційні параметри та видаляти їх із вибраних; для початку роботи, ось дуже основний приклад, 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))