Skonfiguruj rozszerzenia powłoki gnome z wiersza poleceń


9

Lubię uruchamiać kilka skryptów, aby automatycznie instalować pakiety i przeprowadzać konfiguracje w nowych instalacjach systemu operacyjnego. Używam powłoki gnome z kilkoma rozszerzeniami i zastanawiałem się nad ulepszeniem skryptów, aby je skonfigurować.

Zwykle konfiguruję rozszerzenia za pomocą gnome-shell-extension-prefs lub edytora dconf i wiem, jak edytować inne schematy z wiersza poleceń. Przykład:

gsettings set org.gnome.desktop.background picture-options stretched

Ale chociaż mogę znaleźć i edytować zainstalowane rozszerzenia w org.gnome.shell.extensions przy użyciu edytora dconf, nie mogę uzyskać do nich dostępu za pomocą gsettings, ponieważ wydaje się, że nie mają przypisanego schematu:

No such schema 'org.gnome.shell.extensions.extname'

Wydaje się, że jedynymi rozszerzeniami dostępnymi w ustawieniach są te, które zostały wstępnie zainstalowane.

Pytanie brzmi: jak mogę skonfigurować zainstalowane rozszerzenia z wiersza poleceń? Czy jest jakiś sposób przypisania zestawom skompilowanych schematów ~/.local/share/gnome-shell/extensions/? Może patrzę w złym kierunku.

Środowisko: Ubuntu Gnome 14.04 (Gnome Shell 3.10.4)

Z góry dziękuję.

Odpowiedzi:


11

Ostatecznie znalazłem odpowiedź.

sudo cp ~/.local/share/gnome-shell/extensions/extname/schemas/org.gnome.shell.extensions.extname.gschema.xml \
    /usr/share/glib-2.0/schemas/ &&
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

Skopiuj i skompiluj schematy, ~/.local/share/gnome-shell/extensionsa zestawy ustawień będą mogły z nimi pracować.


niezły kopanie!
Pancho

Właśnie natrafiłem na ten sam błąd. Musi istnieć lepsze rozwiązanie niż kopiowanie schematów rozszerzeń instalowanych lokalnie do katalogu globalnego. Wszelkie aktualizacje tego problemu?
inżynier

4

W CentOS 7 - i myślałbym również w Ubuntu - zidentyfikowałem, jak sądzę, niewielką poprawę przyjętej odpowiedzi, wprowadzając przełącznik --schemadir w następujący sposób:

# gsettings --schemadir ${schemaDir} set ${schema} ${key} "${value}"

W powyższym poleceniu gsettings ustawia bezpośrednio ${key}w ${value}miejscu, ${schema}gdzie ${schema}nie znajduje się w domyślnym /usr/share/glib-2.0/schemaskatalogu. (i nie ma wymogu przeniesienia schematu do katalogu domyślnego)

Kilka przykładów:

gsettings --schemadir ~/.local/share/gnome-shell/extensions/putWindow@clemens.lab21.org/schemas/ list-recursively org.gnome.shell.extensions.org-lab21-putwindow
gsettings --schemadir ~/.local/share/gnome-shell/extensions/unitylike-hotkey@webgyerek.net/schemas/  list-recursively org.gnome.shell.extensions.app-keys
gsettings --schemadir ~/.local/share/gnome-shell/extensions/emoji-selector@maestroschan.fr/schemas/  list-recursively org.gnome.shell.extensions.emoji-selector

1
onfirmed działa na Ubuntu 18.04, GS 3.28. Jako przykład:gsettings --schemadir ~/.local/share/gnome-shell/extensions/putWindow@clemens.lab21.org/schemas/ list-recursively org.gnome.shell.extensions.org-lab21-putwindow
eddygeek,

1

Napisałem ten skrypt: skrypt Bash, aby włączyć / wyłączyć rozszerzenia powłoki gnome i więcej .

Po prostu cp w /usr/binlub /usr/local/bini wykonaj go:

sudo chmod +x /usr/bin/gnome-shell-extension-cl

Sprawdź pomoc.

Włącz rozszerzenie:

gnome-shell-extension-cl -e extension-name

Wyłącz rozszerzenie:

gnome-shell-extension-cl -d extension-name

Byłoby dobrze, gdyby skrypt miał opcję przełączania. Oznacza to, że włączanie jest wyłączone i wyłączane, jeśli jest włączone.
Do zrobienia
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.