Newsgroup: it.comp.os.linux.development
Titolo: registro di sitema?

Linux ha un registro, tipo il registro di windows, in cui un programma
puo' salvare alcuni dati (ad esempio i nomi degli ultimi file aperti) o
bisogna crearsi un file tipo info.ini in cui salvarsi delle
informazioni?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 informazioni?
Le applicazioni di gnome usano gconf, ma (imho) è un modo stupido per immagazzinare le informazioni. E poi è usato solo dalle applicazioni integrate. Le applicazioni "normali" usano in genere un file o una directory nascosta dentro la tua home (prova a dare da un terminale "ls -a".
Pedonzolo
-- 
Ho capito di essere invecchiato quando al mio compleanno tutti gli invitati
si sono messi intorno alla torta per scaldarsi le mani.
		-- George Burns

   ~/.$programma/default/
Si, ma è una scelta dello sviluppatore.
Pedonzolo
-- 
Quelli che non sanno ricordare il passato, sono condannati
a ripeterlo.
		-- George Santayana

 Ha gli stessi problemi del registro di win... se succede qualcosa a gconf, perdi tutte le impostazioni. Certo, puoi anche cancellare per sbaglio tutte le preferenze dalla tua home, ma è un pò difficile...
perché è' più difficile?



Beh, dovresti dare un rm -rf .*, e a quel punto ti importa poco delle impostazioni...
un rm -rf .gconf non ha effetti collaterali...
Pedonzolo
-- 
"I miei genitori mi mandano spesso a trascorrere l'estate coi nonni.
Ma io detesto i cimiteri."
		-- Chris Fonseca

 
si, ma questo non è un "succedere qualcosa" è un "voglio darmi una 
mattonata nelle gonadi"

 perché è' più difficile?
A parte gli rm -rf casuali, puo` sempre succedere un bug in gconfd che
ti corrompe tutto il DB delle impostazioni, mentre se ogni applicazione
si gestisce la sua, se ne corrompe una sola.
Altri difetti di gconf sono, per esempio, che non si accorge che alcune
chiavi sono obsolete (sta succedendo con Galeon), proprio come il
registro di Windows, o che non e` (ancora, spero) ottimizzato nelle
letture. Quando un programma chiede una delle sue impostazioni, carica
tutto l'albero xml dell'applicazione in memoria (per fortuna non carica
l'albero di TUTTE le applicazioni).
Da quello che leggevo in giro (se non ho capito male) non fa cache dei
risultati, quindi se un'applicazione chiede una chiave, e dopo un po' ne
chiede un'altra, gconf ri-parsa tutto l'xml, invece di tenersi la
struttura in RAM, almeno per un po'.
Poi, se per caso c'e` un bug qualsiasi nel daemon gconfd e quello non
parte, blocca tutto Gnome e tutte le applicazioni che lo usano. Stessa
cosa se il daemon muore per qualsiasi motivo.
Insomma, tutti i classici difetti di un single point of failure, con
l'unico pregio (inutile, in questo caso) della semplicita` di backup.
Un altro pregio (per alcuni, non tanto per me) e` gconf-editor, che ti
permette di modificare le impostazioni di tutti i software gnome
contemporaneamente.
Io preferirei che ogni applicazione avesse il suo bel "Advanced
Configuration", se proprio vogliono nascondere le impostazioni piu`
bastarde ai niubbi.
L'unico (mezzo) pregio che vedo e` che se modifichi una chiave nella
configurazione, l'applicazione riceve un segnale e puo` accorgersi della
modifica.
Mezzo perche`: a chi serve? Quanti, se non ci fosse gconf,
modificherebbero le impostazioni di un programma (grafico) da FUORI del
programma stesso? Se una cosa del genere si applicasse ai daemon sarebbe
anche un po' utile (modifico un vhost di apache e lui si accorge in
tempo reale della modifica senza dovergli dare il reload), ma in una GUI
tendenzialmente mono-user non vedo grande utilita` (e non vedo
l'utilita` nemmeno delle GUI multi-user... :P)
Continuo la mia crociata anti-niubbazione di Gnome... :)
Bye.
-- 
Alessandro Pellizzari

 integrate.
Falso.
GConf dipende solo dalle Glib, quindi possono usarlo tutte le
applicazioni, perfino quelle da console.
Ciao,
 Emmanuele.
-- 
Emmanuele Bassi (Zefram)                 [ 
http://www.emmanuelebassi.net
 ]
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4

 Dice, ma in pratica viene usato solo dalle applicazioni gnome.
Solo perché c'è gente che non ne conosce le funzionalità, né la catena
delle dipendenze.


 applicazioni, perfino quelle da console.
Possono... 
gconf2
Reverse Depends:
  evolution
  vino
  totem-xine
  totem-gstreamer
  teatime
  straw
  stardict
  sound-juicer
  seahorse
  screem
  scim-config-gconf
  scim-chinese
  rubrica
  rhythmbox
  revelation
  regexxer
  planner
  nautilus-media
  muine
  mozilla-bonobo
  metacity
  mail-notification
  libgnomevfs2-common
  libgnome2-common
  libgnetwork1.0-0
  libgconf2-dev
  libgconf2-4
  libgconf11
  lavaps
  imhangul-status-applet
  gtodo-applet
  gtodo
  gossip
  gok
  gnumeric
  gnopernicus
  gnometab
  gnomemeeting
  gnomeicu-common
  gnome-volume-manager
  gnome-session
  gnome-panel-data
  gnome-netstatus-applet
  gnome-mud
  gnome-jabber
  gnome-gv
  gnome-cpufreq-applet
  gnome-blog
  gnome-applets-data
  gmfsk
  gedit
  gdesklets
  gcalctool
  gabber2
  file-roller
  evolution
  evince
  epiphany-browser
  conglomerate-common
  capplets-data
  brightside
  blam
  apt-watch
  alexandria
ma... non vedo molte applicazioni cli...
Pedonzolo
-- 
Una giovane coppia ha venduto il suo bambino, ma ne ha devoluto il
ricavato in beneficienza.
		-- Fabio di Iorio

 Continuo la mia crociata anti-niubbazione di Gnome... :)
Crociata inutile, perché si vede che non conosci quello di cui parli.
Un'indicazione gratuita: comincia ad usarlo. Se il C è troppo ostico, ci
sono i binding per Perl (che mantengo io) e Python.
+++
Oh, poi intendiamoci: GConf non è GPanacea. Non risolve tutti i mali, e
ha spazio per crescere ancora; vedi i piani per creare un sistema di
configurazione multi-environment su 
freedesktop.org
.
Tuttavia, GConf dimostrabilmente funziona.


 ma... non vedo molte applicazioni cli...
Ma che caz...piteronzola di ragionamento è questo?
"Si può fare" non vuol dire "lo fanno tutti". Significa "si può fare".
Tra l'altro, ho scritto alcune applicazioncine in Perl che fanno uso
proprio di GConf per salvare alcune impostazioni. Non sono uscite dal
mio hard disk perché difficilmente sarebbero utili ad altri che non sia
io. Quindi?


 bastarde ai niubbi.
mh, e far riscrivere a tutti le proprie routine da zero, tanto per 
occupare ram?
snippo il resto che per me è condivisibile.

 sono i binding per Perl (che mantengo io) e Python.
Abitualmente uso Python, ma per i miei software finora non ho ancora
avuto esigenza di usarlo (e` raro che deva salvare impostazioni, sono
molto "verticali"). Inoltre, di solito, uso solo Gtk e non Gnome, per
motivi di multi-piattaformita` (che brutto termine :), e gconf va solo
su Linux/Unix, non su Windows o Mac.
Pero` se capitera` lo provero` di certo.
L'unico dubbio che mi rimane e`: perche` non ne hanno fatto una libreria
invece di un demone? (Rimanendo valide le considerazioni di cui sopra)
Bye.
-- 
Alessandro Pellizzari

 Reverse Depends:
[snippone]
Sentito nulla del progetto gnome-power? E' un framework molto 
intelligente di integrazione a più livelli della gestione dei livelli 
d'energia in tutte le periferiche che abbiano una batteria (anche i 
mouse wireless, potenzialmente).
In prima battuta funzionerà dentro gnome, perchè il demone gconfd viene 
lanciato da gnome-session, ma se si dimostrasse davvero figo come sembra 
ora (che è in alfa) non mi stupirei molto se il gconfd cominciasse a 
partire anche già a init 3...
E non questioniamo tanto sull'utilità di gconf... hai visto i binding 
python? Con quattro comandi ottieni una gestione potentissima dei 
settings. Non vorrai mica riscriverti tutta la tua implementazione 
quando c'e' gconf?
Chicca sul futuro di gconf: cerca il progetto Sabayon
-- 
Renato

 
perchè:
Data change notification service. If configuration data is changed, all 
interested applications are notified. The notification service works 
across the network, affecting all login sessions for a single user.
This means that programs built from components (where each component may 
be in a separate process) are much easier to write, because if one 
component changes a setting the others can discover the change and 
update themselves. For example, GNOME's new Nautilus file manager is 
actually a collection of applications, including an embedded web 
browser, and various navigation components. The components communicate 
via CORBA. However, you want a single preferences dialog located in the 
top-level "shell" component. Without GConf, a custom protocol would have 
to be invented for each preferences setting, to notify embedded 
components of changes to user preferences.
Notification is also useful if multiple application instances are 
running. GNOME 2.0 uses this feature to let user interface configuration 
take effect on-the-fly without restarting any applications; if you turn 
off toolbar icons, for example, toolbar icons will immediately disappear 
in all running apps.
e per le solite ragioni di caching e locking.

 e per le solite ragioni di caching e locking.
Il cacheing lo fà il kernel, il locking pure.
-- 
Daniele Orlandi

 Il cacheing lo fà il kernel, il locking pure.
E' diverso, ovviamente, non è che tutte le applicazioni esistenti 
evitino il caching perché "tanto lo fa il kernel", e chiaramente è 
meglio un demone che gestisca locking e caching per molte applicazioni 
piuttosto che ognuna da sola (principio alla base di molte tecnologie, 
memcached o sqlrelay o un qualunque database server).