터미널(CLI)을 통해 /usr/share/cinnamon/applet에 새로 추가된 Cinnamon 애플릿을 어떻게 로드(패널에 추가)합니까?

터미널(CLI)을 통해 /usr/share/cinnamon/applet에 새로 추가된 Cinnamon 애플릿을 어떻게 로드(패널에 추가)합니까?

다음을 사용하여 계피 패널을 편집할 수 있다는 것을 알았습니다 dconf.

dconf read /org/cinnamon/enabled-applets
['panel1:left:0:[email protected]:0', 'panel1:left:1:[email protected]:1', 'panel1:left:2:[email protected]:2', 'panel1:right:2:[email protected]:3', 'panel1:right:3:[email protected]:4', 'panel1:right:4:[email protected]:5', 'panel1:right:5:[email protected]:6', 'panel1:right:6:[email protected]:7', 'panel1:right:7:[email protected]:8', 'panel1:right:8:[email protected]:9', 'panel1:right:9:[email protected]:10', 'panel1:right:10:[email protected]:11', 'panel1:right:11:[email protected]:12', 'panel1:right:12:[email protected]:13', 'panel1:right:1:temperature@fevimu:14']

애플릿을 추가하고 제거할 수 있었지만 dconf writeGUI에서 활성화된 애플릿(패널 마우스 오른쪽 버튼 클릭 -> 애플릿) 및/또는 GUI를 통해 한 번 추가한 후에만 가능했습니다.

/usr/share/cinnamon/applets터미널 명령을 통해 방금 추가한 애플릿을 어떻게 추가/로드합니까 ?

답변1

Github에서 사용 시나리오 및 재정의에 대한 제안을 받고 스크립트를 작성했습니다.

# edit panel
# editing /usr/share/glib-2.0/schemas/org.cinnamon.gschema.xml or 10_cinnamon.gschema.override
schema_override_file=/usr/share/glib-2.0/schemas/10_cinnamon.gschema.override
if [ ! -e "$schema_override_file" ]; then
    echo '[org.cinnamon]' | sudo tee "$schema_override_file" > /dev/null
fi

changed_panel=`grep 'panel1:right:' /usr/share/glib-2.0/schemas/org.cinnamon.gschema.xml | perl -pe 's/ *.{1,2}default.//g' | perl -pe 's/(right:)([0-9]+)/$1.($2+2)/eg' | perl -pe "s/]/, 'panel1:right:0:mem-monitor-text\@datanom.net', 'panel1:right:1:temperature\@fevimu']/"`

echo "enabled-applets=$changed_panel" | sudo tee --append "$schema_override_file" > /dev/null
sudo glib-compile-schemas /usr/share/glib-2.0/schemas

관련 정보