Gnome3+: 터미널을 통해 Dash에서 즐겨찾기를 어떻게 제거합니까?

Gnome3+: 터미널을 통해 Dash에서 즐겨찾기를 어떻게 제거합니까?

에서 사용 가능한 스키마 중 하나를 편집해야 할 것 같은데 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']"

그래도 자신만의 유틸리티를 작성하는 것이 더 쉽습니다(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))

답변2

Linux Mint에서는 다음 명령을 사용합니다.

즐겨찾기를 쿼리하려면:

gsettings get org.x.apps.favorites list

즐겨찾기를 모두 삭제하려면:

gsettings reset org.x.apps.favorites list

관련 정보