태그 보관물: gsettings

gsettings

명령 행에서 gnome-shell 확장 구성 생각했다. 일반적으로 gnome-shell-extension-prefs 또는 dconf-editor를 사용하여 확장을 구성하고

패키지를 자동으로 설치하고 새로운 OS 설치에서 일부 구성을 수행하기 위해 몇 가지 스크립트를 실행하고 싶습니다. 나는 약간의 확장 기능을 가진 gnome shell을 사용하고 그것들을 구성하기 위해 스크립트를 개선하려고 생각했다.

일반적으로 gnome-shell-extension-prefs 또는 dconf-editor를 사용하여 확장을 구성하고 명령 줄에서 다른 스키마를 편집하는 방법을 알고 있습니다. 예:

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

그러나 dconf-editor를 사용하여 org.gnome.shell.extensions에서 설치된 확장을 찾아서 편집 할 수는 있지만 할당 된 스키마가없는 것처럼 gsettings를 사용하여 액세스 할 수 없습니다.

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

gsettings로 액세스 할 수있는 유일한 확장 기능은 사전 설치된 확장 기능인 것 같습니다.

문제는 명령 줄에서 설치된 확장을 어떻게 구성 할 수 있습니까? 컴파일 된 스키마를 gsettings에 할당하는 방법이 ~/.local/share/gnome-shell/extensions/있습니까? 어쩌면 나는 잘못된 방향을보고있을 것입니다.

환경 : Ubuntu Gnome 14.04 (Gnome Shell 3.10.4)

미리 감사드립니다.



답변

결국 혼자서 답을 찾았습니다.

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/

스키마를 복사하고 컴파일하면 ~/.local/share/gnome-shell/extensionsgsettings가 스키마를 사용할 수 있습니다.


답변

CentOS 7에서는 우분투에서도 다음과 같이 생각합니다. –schemadir 스위치를 다음과 같이 도입하여 허용되는 답변이 약간 개선되었다고 생각했습니다.

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

위의 명령 gsettings에서 직접 설정 ${key}${value}${schema}경우 ${schema}기본에 상주하지 않는 /usr/share/glib-2.0/schemas디렉토리. (그리고 스키마를 기본 디렉토리로 옮길 필요가 없습니다)

몇 가지 예 :

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

답변

이 스크립트를 작성했습니다 : gnome-shell-extensions 등을 활성화 / 비활성화하는 Bash 스크립트 .

그냥 그것을 cp를 /usr/bin또는 /usr/local/bin그것을 실행합니다

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

도움말을 확인하십시오.

확장 사용 :

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

확장 비활성화 :

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

답변