Tôi đoán tôi cần chỉnh sửa một trong những lược đồ có sẵn gsettings
nhưng tôi không biết cái nào. và khi tôi liệt kê tất cả các lược đồ, có quá nhiều trong số chúng.
Tôi đoán tôi cần chỉnh sửa một trong những lược đồ có sẵn gsettings
nhưng tôi không biết cái nào. và khi tôi liệt kê tất cả các lược đồ, có quá nhiều trong số chúng.
Câu trả lời:
Khóa bạn muốn là favorite-apps
, ID lược đồ là org.gnome.shell
. Bây giờ để liệt kê các ứng dụng yêu thích của bạn, bạn chỉ cần chạy
gsettings get org.gnome.shell favorite-apps
hoặc là
dconf read /org/gnome/shell/favorite-apps
Chúng sẽ trả về một chuỗi các chuỗi, ví dụ
['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']
Bây giờ, để xóa một giá trị khỏi mảng đó, bạn có thể sử dụng các công cụ xử lý văn bản như sed
/ awk
để kiểm tra xem một mục có trong danh sách đó không và xóa nó giữ cùng định dạng (không phải là tầm thường mặc dù chắc chắn có thể thực hiện được) và một khi bạn đã hiểu đúng cài đặt mới cho cơ sở dữ liệu, ví dụ như giả sử bạn muốn xóa org.gnome.Nautilus.desktop
bạn sẽ chạy (lưu ý dấu ngoặc kép):
gsettings set org.gnome.shell favorite-apps "['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']"
hoặc là
dconf write /org/gnome/shell/favorite-apps "['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']"
Tuy nhiên, việc viết tiện ích của riêng bạn ( sử dụng gsettings
API ) sẽ dễ dàng chấp nhận một hoặc nhiều tên tệp trên máy tính để bàn làm tham số vị trí và xóa chúng khỏi mục ưa thích; để giúp bạn bắt đầu, đây là một ví dụ rất cơ bản trong python
đó chấp nhận một param (chạy dưới dạng 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))