web-dev-qa-db-fra.com

Comment configurer le panneau de gnome à partir d'un script?

Je peux facilement définir le nombre d'espaces de travail et les noms d'espaces de travail avec gconftool-2, comme suit:

  gconftool-2 --type int --set /apps/metacity/general/num_workspaces 4
  gconftool-2 --type string --set /apps/metacity/workspace_names/name_1 Dev
  gconftool-2 --type string --set /apps/metacity/workspace_names/name_2 Docs
  gconftool-2 --type string --set /apps/metacity/workspace_names/name_3 VM
  gconftool-2 --type string --set /apps/metacity/workspace_names/name_4 Web

Cependant, pour une raison quelconque, je ne peux pas utiliser de techniques similaires pour définir le nombre de lignes dans le sélecteur d'espace de travail, ou définir la préférence pour afficher les noms d'espace de travail. De même, je suis incapable d'ajouter des applets et des lanceurs via gconftool. J'aimerais également pouvoir configurer mon système de manière à ce qu'un seul panneau se trouve en bas de l'écran. (Résolu beaucoup)

J'ai passé en revue la page avec gconf sans succès. Pour certaines options, j'ai réussi à trouver le nom de l'option en vidant gconftool-2 -R / dans un fichier, en modifiant l'option via l'interface graphique, puis en vidant à nouveau et en diff. Cette technique n'a pas été fructueuse avec les éléments mentionnés ci-dessus. J'ai aussi essayé - dump and --load , et j'ai essayé de redémarrer gnome-panel et gconfd-2, mais cela n'aide pas non plus. Existe-t-il un autre mécanisme que gconftool-2 que le panneau utilise pour stocker les paramètres?

J'utilise actuellement 11.10 en mode gnome-classic.

Mise à jour: Trouvé un script pour masquer les panneaux .

Mise à jour 2: Un moyen plus facile de retirer le panneau supérieur:

gsettings set org.gnome.gnome-panel.layout toplevel-id-list "['bottom-panel']"

Je ne peux toujours pas configurer le panneau avec dconf.

Je peux modifier un élément de panneau existant pour qu'il pointe vers un autre programme via dconf write /org/gnome/gnome-panel/layout/objects/object-6/instance-config/location "'...'", mais killall -HUP gnome-panel est également requis.

Si j'essaie de supprimer un élément du panneau via dconf write /org/gnome/gnome-panel/layout/objects/object-id-list "[...]", le contenu du panneau ne change pas, même après le redémarrage du panneau gnome.

Si je fais la même modification avec dconf-editor, cela change immédiatement.

Que dois-je faire pour mettre à jour le panneau après l'écriture de dconf?

(Remarque: se comporte de la même manière sous 12.04)

3
greg_1_anderson

Il se trouve que certaines préférences de gnome sont stockées dans gconf et peuvent être éditées via gconftool-2, tandis que d'autres le sont dans dconf, qui peut être édité via des gestes. Voir: Comment changer les clés dconf sans interface graphique .

Mise à jour: Malheureusement, j'ai rapidement rencontré le problème décrit dans ce rapport de bogue: impossible de définir une clé sans schéma à l'aide de gsettings . La plupart des préférences que je veux définir sont des clés sans schéma stockées dans le fichier binaire ~/.config/dconf/user, et il semble qu'il n'y ait aucun moyen de les modifier à l'aide des API internes de dconf - vous devez donc écrire un programme en C pour le faire.

2
greg_1_anderson