• [^] # Re: script

    Posté par . En réponse au journal Requête aux devs de logiciels libres. Évalué à 1.

    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).