1- Ouvrir le schema de l'application. Ici ça sera /etc/gconf/schemas/desktop_gnome_background.schemas
Ce fichier n'existe pas chez moi, pourtant j'ai des applis qui utilisent gconf
C'est clair que c'est atrocement compliqué et totalement hors de portée
La preuve je suis bloqué au 1.
On peut très facilement imaginer pourquoi c'est difficile à implémenter: gestion des conflits, réconciliation, état incohérents etc. Si le sujet t'intéresse, tu peux proposer un patch je pense.
Si on veut faire un truc aussi complexe autant utilisé une base de donné de type sqlite
Tu peux nous proposer une solution fonctionnellement équivalente et beaucoup plus simple
Un truc plus simple :
- des fichiers de conf classique clef valeur (comme sshd_config) par exemple.
Ce fichier contient des commentaires et les valeurs par défaut : la doc est dans le fichier de config [tout du moins pour les fichiers globaux, pour les fichiers user c'est discutable de dupliquer la doc]
- un démon optionnel peut vérifier si les fichiers sont modifiés (via ionotify) et signalé au appli correspondante quel doive relire le fichier de config. La notification peut se faire par signaux (les fameux SIGHUP), ou alors un mécanisme plus complexe.
- si tu veux vraiment gérer les confits, tu peux mettre ces fichier sur un gestionnaire de revision : le fichier est pris en compte une fois que tu l'a commité. En bonus tu gagne un historique qui peut te permettre de récupérer une version qui marchait.
PS : Question pour la route comment tu modifies les paramètres gconf de gdm ?
PS2 : Comment tu lances un appli qui dépend de gconf dans une sandbox (limité à un process, isolé du reste du système).
[^] # Re: script
Posté par M . En réponse au journal Requête aux devs de logiciels libres. Évalué à 1.
Ce fichier n'existe pas chez moi, pourtant j'ai des applis qui utilisent gconf
C'est clair que c'est atrocement compliqué et totalement hors de portée
La preuve je suis bloqué au 1.
On peut très facilement imaginer pourquoi c'est difficile à implémenter: gestion des conflits, réconciliation, état incohérents etc. Si le sujet t'intéresse, tu peux proposer un patch je pense.
Si on veut faire un truc aussi complexe autant utilisé une base de donné de type sqlite
Tu peux nous proposer une solution fonctionnellement équivalente et beaucoup plus simple
Un truc plus simple :
- des fichiers de conf classique clef valeur (comme sshd_config) par exemple.
Ce fichier contient des commentaires et les valeurs par défaut : la doc est dans le fichier de config [tout du moins pour les fichiers globaux, pour les fichiers user c'est discutable de dupliquer la doc]
- un démon optionnel peut vérifier si les fichiers sont modifiés (via ionotify) et signalé au appli correspondante quel doive relire le fichier de config. La notification peut se faire par signaux (les fameux SIGHUP), ou alors un mécanisme plus complexe.
- si tu veux vraiment gérer les confits, tu peux mettre ces fichier sur un gestionnaire de revision : le fichier est pris en compte une fois que tu l'a commité. En bonus tu gagne un historique qui peut te permettre de récupérer une version qui marchait.
PS : Question pour la route comment tu modifies les paramètres gconf de gdm ?
PS2 : Comment tu lances un appli qui dépend de gconf dans une sandbox (limité à un process, isolé du reste du système).