我猜我需要編輯其中可用的模式之一,gsettings
但我不知道是哪一個。當我列出所有模式時,發現它們太多了。
答案1
您想要的鍵是favorite-apps
,架構 ID 是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))
答案2
在 Linux Mint 中,這些是命令:
查詢您的收藏:
gsettings get org.x.apps.favorites list
要刪除所有收藏:
gsettings reset org.x.apps.favorites list