패키지를 자동으로 설치하고 새로운 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/extensions
gsettings가 스키마를 사용할 수 있습니다.
답변
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