Konfigurasikan ekstensi gnome-shell dari baris perintah


9

Saya suka menjalankan beberapa skrip untuk menginstal paket secara otomatis dan melakukan beberapa konfigurasi pada instalasi OS baru. Saya menggunakan gnome shell dengan beberapa ekstensi dan berpikir untuk meningkatkan skrip saya untuk mengkonfigurasinya.

Saya biasanya mengkonfigurasi ekstensi menggunakan gnome-shell-extension-prefs atau dconf-editor dan saya tahu cara mengedit skema lain dari baris perintah. Contoh:

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

Tetapi, meskipun saya dapat menemukan dan mengedit ekstensi yang diinstal di bawah org.gnome.shell.extensions menggunakan dconf-editor, saya tidak dapat mengaksesnya menggunakan gsettings karena mereka tampaknya tidak memiliki skema yang ditugaskan:

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

Satu-satunya ekstensi yang dapat diakses dengan gsettings tampaknya adalah ekstensi yang sudah diinstal sebelumnya.

Jadi, pertanyaannya adalah, bagaimana saya bisa mengkonfigurasi ekstensi yang diinstal dari baris perintah? Apakah ada cara untuk menetapkan pengaturan skema yang disusun ~/.local/share/gnome-shell/extensions/? Mungkin saya melihat ke arah yang salah.

Lingkungan: Ubuntu Gnome 14.04 (Gnome Shell 3.10.4)

Terima kasih sebelumnya.

Jawaban:


11

Ditemukan jawabannya sendiri pada akhirnya.

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/

Salin dan kompilasi skema di ~/.local/share/gnome-shell/extensionsdan gsettings akan dapat bekerja dengannya.


sedikit penggalian yang bagus!
Pancho

Baru saja bertemu bug yang sama. Harus ada solusi yang lebih baik daripada menyalin skema ekstensi yang dipasang secara lokal ke direktori global. Adakah pembaruan untuk masalah ini?
insinyur

4

Di CentOS 7 - dan saya akan berpikir di Ubuntu juga - saya telah mengidentifikasi apa yang saya pikir sedikit perbaikan pada jawaban yang diterima dengan memperkenalkan saklar --schemadir sebagai berikut:

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

Dalam gsettings perintah di atas langsung menetapkan ${key}untuk ${value}di ${schema}mana ${schema}tidak berada di default /usr/share/glib-2.0/schemasdirektori. (dan tidak ada persyaratan untuk memindahkan skema ke direktori default)

Beberapa contoh:

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 bekerja di Ubuntu 18.04, GS 3.28. Sebagai contoh:gsettings --schemadir ~/.local/share/gnome-shell/extensions/putWindow@clemens.lab21.org/schemas/ list-recursively org.gnome.shell.extensions.org-lab21-putwindow
eddygeek

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.