La GNU GPL non è sempre accondiscendente; dice di "no" ad alcune delle cose che a volte la gente vuole fare. Alcuni utenti affermano che sia negativo il fatto che la GPL "escluda" alcuni sviluppatori di software proprietario che "hanno bisogno d'essere portati nella comunità del software libero." Ma non siamo noi ad escluderli dalla nostra comunità; sono loro che scelgono di non entrare. Decidere di produrre software proprietario equivale a decidere di starne fuori. Esservi dentro significa cooperare con noi; non possiamo "portarli nella nostra comunità" se non vogliono unirsi a noi. Ciò che possiamo fare è offrire un incentivo ad unirsi a noi. È per far sì che il nostro software già prodotto sia un incentivo che la GNU GPL è stata pensata: "Se renderete il vostro software libero, potete utilizzare questo codice". Di certo in questo modo non si vincerà sempre, ma qualche volta sì. "Richard Stallman"

macbuntu, cinelerra, cinnamon, lmms, ubuntu, linux Debian, Linux Ubuntu, software libero Gnome Media Player, Multimedia, Audio, Video, Linux, Ubuntu ubuntu 13.04, raring ringtail, linux Kubuntu, KDE, Ubuntu Valve Steam, giochi, Linux, Ubuntu QTOctave, MatLab, programmazione, Linux, Ubuntu Google Calendar, Office, Ubuntu, Linux infografica, email, posta elettronica, messaggistica, Ubuntu, Linux Gnome 3 shell, ambiente grafico, Ubuntu, Arch Linux

Introduzione a Gconf, sistema utilizzato da GNOME per memorizzare le impostazioni di configurazione per il desktop e le applicazioni: 1a parte

lunedì 8 giugno 2009

GConf è un sistema utilizzato da GNOME per memorizzare le impostazioni di configurazione per il desktop e le applicazioni.

I cambiamenti sono controllati da un demone, GConfd.

Il database di GConf utilizza un sistema di directory e file XML, memorizzati nella directory ~/.gconf. GConf può utilizzare altri sistemi per memorizzare le configurazioni, come un server database.

L'applicazione Gconf-editor permette agli utenti più avanzati di modificare le configurazioni a mano.


GConf semplifica l'amministrazione delle preferenze per gli utenti dello GNOME Desktop. GConf consente agli amministratori di sistema di:

* Impostare valori vincolanti di particolari prefererenze per tutti gli utenti. In questo modo gli amministratori di sistema possono controllare quali utenti possano aggiornare particolari preferenze.
* Impostare valori predefiniti di particolari preferenze per tutti gli utenti.
* Usare i valori suggeriti di preferenze, che sono specificati nei file di definizione delle preferenze.
* Leggere la documentazione di ogni preferenza.

GConf inoltre notifica alle applicazioni quando il valore di una preferenza è cambiato, localmente o atteverso una rete. In questo modo, quando si cambia una preferenza, tutte le applicazioni che usano quella preferenza sono immediatamente aggiornate.

GConf è costituito dai seguenti componenti:

* Un repertorio (repository) delle preferenze utente.
* Un demone, gconfd-2.
* Uno strumento a riga di comando, gconftool-2.

Repertorio di GConf

Ogni preferenza nel repertorio di GConf è espressa come una coppia chiave-valore. Una chiave di preferenza GConf è un elemento nel repertorio che corrisponde ad una preferenza di un'applicazione. Ad esempio la chiave di preferenza /apps/gnome-session/options/show_splash_screen corrisponde all'opzione Mostrare schermata di avvio al login nello strumento di preferenze Sessioni. L'interfaccia utente dello GNOME Desktop non presenta però tutte le chiavi di preferenza del repertorio di GConf. Ad esempio lo strumento di preferenze Pannello non contiene alcuna opzione corrispondente alla chiave /apps/panel/global/tooltips_enabled.

Il repertorio è strutturato come un semplice file system gerarchico e contiene quanto segue:

* Le directory che corrispondono alle applicazioni che usano il repertorio GConf. Ad esempio nel file system è presente la directory /apps/metacity.
* Le sottodirectory che corrispondo a categorie di preferenze. Ad esempio nel file system è presente la directory /apps/metacity/general.
* I file speciali che elencano le chiavi di preferenze presenti nella directory e contengono informazioni sulle chiavi. Ad esempio un file che contiene informazioni sulle chiavi relative alle preferenze del proxy HTTP è nella directory /system/http_proxy.
* Una directory /schemas che contiene i file che descrivono tutte le chiavi di preferenze.

Le chiavi di preferenza sono tipicamente costituite da valori semplici come stringhe, interi o liste di stringhe ed interi. Il formato di una chiave di preferenza nel repertorio dipende dal modulo di backend usato per leggere il repertorio. Il seguente è un esempio della chiave di preferenza /desktop/gnome/interface/font_name quando viene usato un modulo di backend in XML (Extensible Markup Language) per leggere il repertorio:


Sans 10


Quando in questa guida si fa riferimento ad una chiave di preferenza, il percorso della chiave è aggiunto al suo nome. Ad esempio la chiave di preferenza font_name posta nella sottodirectory /desktop/gnome/interface è indicata come /desktop/gnome/interface/font_name.

* 1.2.1. Sorgenti di configurazione GConf
* 1.2.2. Schemi GConf
* 1.2.3. File definizione schema GConf

1.2.1. Sorgenti di configurazione GConf

Il repertorio GConf contiene una serie di posizioni di memorizzazione che sono definite sorgenti di configurazione. Le sorgenti di configurazione sono elencate nel file di percorso GConf. La posizione di tale file è /etc/gconf/numero-versione-gconf/path. Ciascun utente ha un file di percorso. Il file di percorso specifica le seguenti informazioni per ciascuna sorgente di configurazione:

* Il modulo di backend da usare per leggere il repertorio.
* I permessi sul repertorio.
* La posizione del repertorio.

Il file di percorso di GConf contiene anche delle istruzioni include. Il contenuto predefinito del file di percorso di GConf è il seguente:

xml:readonly:/etc/gconf/gconf.xml.mandatory
include /etc/gconf/2/local-mandatory.path
include "$(HOME)/.gconf.path"
include /etc/gconf/2/local-defaults.path
xml:readwrite:$(HOME)/.gconf
xml:readonly:/etc/gconf/gconf.xml.defaults
Quando GConf cerca il valore di una preferenza, le sorgenti di configurazione sono lette nell'ordine specificato dal file di percorso. La seguente tabella descrive le sorgenti di configurazione nel file di percorso:
Sorgente di configurazione Descrizione
Vincolante I permessi su questa sorgente di configurazione sono impostati a sola lettura. Gli utenti non possono sovrascrivere i valori in questa sorgente, quindi le preferenze in questa sorgente sono vincolanti.
Utente

Questa sorgente di configurazione è memorizzata nella directory .gconf posta nella directory home dell'utente. Quando un utente imposta un preferenza, la nuova informazione di preferenza è aggiunta in questa posizione.

È possibile usare Editor di configurazione per modificare la sorgente di configurazione dell'utente.
Predefinita Questa sorgente di configurazione contiene le impostazioni predefinite delle preferenze.

La sequenza delle sorgenti di configurazione nel file di percorso assicura che le impostazioni di preferenza vincolanti scavalchino le impostazioni di preferenza dell'utente. La sequenza inoltre assicura che quelle dell'utente scavalchino quelle predefinite. In pratica GConf applica le preferenze seguendo questo ordine di priorità:

1. Preferenze vincolanti
2. Preferenze specificate dall'utente
3. Preferenze predefinite

Le istruzioni include nel file di percorso di GConf consentono all'amministratore di specificare altre sorgenti di configurazione.
Sorgenti di configurazione incluse Descrizione
/etc/gconf/2/local-mandatory.path Usare questa sorgente di configurazione per memorizzare i valori delle preferenze vincolanti per un particolare sistema.
$(HOME)/.gconf.path L'utente specifica la posizione della sorgente di configurazione nella directory home in un file di nome .gconf.path.
/etc/gconf/2/local-defaults.path Usare questa sorgente di configurazione per memorizzare i valori di preferenze predefinite per un particolare sistema.
1.2.2. Schemi GConf

Uno schema GConf è un termine collettivo per una chiave schema GConf e un oggetto schema GConf. La tabella seguente descrive le chiavi schema e gli oggetti schema e le loro relazioni con le chiavi di preferenza:
Elemento Descrizione
Chiave di preferenza Un elemento nel repertorio GConf che corrisponde ad una preferenza di un'applicazione.
Chiave schema Una chiave che memorizza un oggetto schema per una chiave di preferenza.
Oggetto schema

Un elemento in una sorgente di configurazione che delle informazioni suuna chiave di preferenza, come le seguenti:


* Il nome dell'applicazione che usa la chiave di preferenza.
* Il tipo del valore richiesto dalla chiave di preferenza, ad esempio intero, booleano e così via.
* Un valore predefinito per la chiave di preferenza.
* Breve documentazione della chiave di preferenza.

La seguente tabella fornisce alcuni esempi di una chiave di preferenza, di una chiave schema e di un oggetto schema:
Elemento Esempio
Chiave di preferenza /desktop/gnome/interface/font_name
Chiave schema /schemas/desktop/gnome/interface/font_name
Oggetto schema


/desktop/gnome/interface/font_name
/schemas/desktop/gnome/interface/font_name
gnome
string
Sans 10

Default font
Name of the default font used by gtk+.



È possibile associare una chiave schema con una chiave di preferenza. Ad esempio la seguente chiave /desktop/gnome/interface/font_name include una chiave schema:



Quando si associa una chiave schema con una chiave di preferenza, la preferenza usa il valore suggerito che è specificato nell'oggetto schema della chiava schema. Il valore suggerito è contenuto nell'elemento nell'oggetto schema. In modo predefinito tutte le chiavi di preferenza nella sorgente di configurazione predefinita sono associate con chiavi schema.

Di solito gli schemi sono memorizzati nella sorgente di configurazione predefinita.
1.2.3. File definizione schema GConf

Gli schemi sono generati da alcuni file definizione schema. Un file definizione schema definisce le caratteristiche di tutte le chiavi di una particolare applicazione; tali file hanno estensione .schemas.

I file definizione schema sono inclusi nella directory /etc/gconf/schemas. È possibile usare tali file per creare una nuova sorgente di configurazione.

Alcuni file definizione schema corrispondono fedelmente ad una parte dell'interfaccia utente dello GNOME Desktop. Ad esempio il file system_http_proxy.schemas corrisponde allo strumento di preferenze Proxy di rete. Alcuni file definizione schema contengono chiavi di preferenza che non sono presenti nell'interfaccia utente, come ad esempio la chiave /apps/gnome-session/options/splash_screen_text.

Alcune parti dell'interfaccia utente dello GNOME Desktop contengono preferenze che rappresentano chiavi di preferenza ricavate da più di un file definizione schema. Ad esempio lo strumento di preferenze Scorciatoie da tastiera contiene le preferenze che rappresentano le chiavi dai file panel-global-config.schemas e metacity.schemas.

Demone GConf

Il demone GConf è chiamato gconfd-2. Tale demone notifica alle applicazioni quando cambia il valore di una preferenza. Ad esempio, selezionando di mostrare solo le icone nelle barre degli strumenti nella relativa opzione dello strumento di preferenza Barre menù e strumenti, le barre degli strumenti di tutte le applicazioni aperte sono aggiornate all'istante. Il demone GConf può operare localmente o attraverso una rete.

Per ogni utente è avviata un'istanza del demone GConf. Il demone non deve confrontarsi con problemi complessi come autenticazione e sicurezza dei dati. Al suo avvio, il demone carica il file di percorso GConf. Il demone gestisce tutti gli accessi tra applicazioni e sorgenti di configurazione.

Quando un'applicazione richede il valore di una chiave di preferenza, il demone cerca nelle sorgenti di configurazione nel seguente ordine:

1. ricerca il valore della chiave di preferenza in ogni sorgente di configurazione secondo l'ordine specificato nel file di percorso; se il valore viene trovato, restituisce tale valore;
2. se il valore non viene trovato, ricerca la chiave schema che corrisponde alla chiave di preferenza in ciascuna sorgente di configurazione secondo l'ordine specificato nel file di percorso;
3. se viene trovata la chiave schema, controlla il valore della chiave schema;
4. se il valore della chiave schema è un oggetto schema, restituisce il valore suggerito nell'elemento dell'oggetto schema.

Inoltre il demone GConf mantiene una cache dei valori delle chiavi di preferenza. Tutte le applicazioni fanno uso di questa cache, cosicché le applicazioni debbono accedere alle sorgenti di configurazione soltanto una volta.

Per terminare il demone GConf, eseguire il seguente comando:

gconftool-2 --shutdown

Strumento a riga di comando GConf

GConf include uno strumento a riga di comando, gconftool-2. È possibile usare gconftool-2 per eseguire le seguenti azioni:

* impostare i valori delle chiavi;
* mostrare i valori delle chiavi;
* installare schemi dai file definizione schema quando si installa un'applicazione.

Ad esempio il comando seguente serve a mostrare i valori di tutte le chiavi nella directory /desktop/gnome e nelle sue sottodirectory.

gconftool-2 --recursive-list /desktop/gnome

Qui sotto sono elencate alcune delle opzioni che è possibileusare con il comando gconftool-2 command. Per un elenco dettagliato delle opzioni da riga di comando, consultare man:gconftool-2(1).
Opzioni di comando di gconftool-2

--all-dirs

Elenca tutte le sottodirectory presenti nella directory specificata.
--all-entries

Mostra i valori di tutte le chiavi nella directory specificata.
--config-source=sorgente-configurazione

Usare questa opzione assieme all'opzione --direct per specificare una sorgente di configurazione da usare. Se non si specifica alcuna sorgente di configurazione, il comando è eseguito su tutte le sorgenti di configurazione presenti nel file di percorso.
--direct

Usare questa opzione assieme all'opzione --config-source per accedere direttamente ad una sorgente di configurazione. Quando si usa questa opzione, GConf scavalca il server. Assicurarsi che il demone GConf non sia in esecuzione prima di usare questa opzione.
--dump

Genera una lista che contiene tutte le chiavi di preferenza in una directory specificata del repertorio GConf. La lista contiene le descrizioni in XML di tutte le chiavi. La lista stessa è contenuta in un elemento .

Ad esempio è possibile redirigere l'output attraverso questa opzione per generare un file contenente la lista di tutte le chiavi relative alla propria configurazione del pannello. È possibile usare l'opzione --load con tale file.
--get

Mostra il valore di una chiave di preferenza specificata. Inoltre mostra i valori degli elementi nell'oggetto schema per una chiave schema specificata.
--help

Mostra un messaggio d'aiuto sul comando gconftool-2 e le opzioni che è possibile usare con tale comando.
--load=nome_file

Usare questa opzione per impostare i valori delle chiavi di preferenza nella directory corrente in una sorgente di configurazione ai valori nel file specificato. Tale file deve contenere le descrizioni XML delle chiavi all'interno di un elemento .
--long-desc=descrizione

Usare questa opzione assieme all'opzione --set-schema per specificare una descrizione lunga per una chiave schema.
--makefile-install-rule

Installa i file di definizione schema delle applicazioni.
--owner=proprietario

Usare questa opzione assieme all'opzione --set-schema per specificare un proprietario per una chiave schema.
--recursive-list

Mostra i valori di tutte le chiavi di preferenza nelle sottodirectory della directory specificata.
--recursive-unset

Reimposta i valori di tutte le chiavi di preferenza, in tutte le sottodirectory di una directory, dalle impostazioni utente alle impostazioni nella sorgente di configurazione predefinita.
--set

Imposta il valore di una chiave di preferenza e scrive il valore nella sorgente di configurazione utente. Usare l'opzione --type assieme all'opzione --set per specificare il tipo di dato del valore che si vuole impostare. Ad esempio il seguente comando imposta il valore della chiave /apps/gnome-terminal/profiles/Default/background_color nella sorgente di configurazione utente:

gconftool-2 \
--set "/apps/gnome-terminal/profiles/Default/background_color" \
--type string "#000000"

È possibile usare l'opzione --direct e quella --config-source assieme all'opzione --set per scrivere un valore in un'altra sorgente di configurazione.
--set-schema

Imposta il valore di un attributo in una chiave schema e scrive tale valore nella sorgente di configurazione predefinita.


Per specificare l'attributo che si vuole aggiornare usare assieme all'opzione --set-schema le seguenti opzioni:

* --type
* --short-desc
* --long-desc
* --owner

Ad esempio il seguente comando imposta la descrizione breve nella chiave schema per la chiave /apps/gnome-terminal/profiles/Default/background_color:

gconftool-2 \
--set-schema "/schemas/apps/gnome-terminal/profiles/Default/background_color" \
--short-desc "Colore di sfondo predefinito del terminale"

--short-desc=descrizione

Usare questa opzione assieme all'opzione --set-schema per specificare la descrizione breve di una chiave schema.
--shutdown

Termina il demone GConf.
--type=tipo-dati

Usare questa opzione per specificare il tipo di dato quando si imposta il valore di una chiave di preferenza. È anche possibile usare questa opzione quando si imposta il valore di un attributo in una chiave schema. Qui di seguito una lista dei tipi di dato validi:

* bool
* float
* int
* list
* pair
* string

--unset

Reimposta il valore di una chiave di preferenza dalle impostazioni utente alle impostazioni nella sorgente di configurazione predefinita.
--usage

Mostra un breve messaggio di aiuto sul comando gconftool-2 e le opzioni che è possibile usare con questo comando.
fonte: librerie Gnome




Ultimi post pubblicati






Vacanze    TUI.it

Universo Linux

0 commenti:

Ultimi post pubblicati

I miei preferiti

Riassunto, il raccoglitore delle notizie della rete! Scarica Curriculum Segnala Feed WebShake – tecnologia Subscribe using FreeMyFeed border="0" alt="iFeed" /> Aggregatore di blog Aggregatore Blogstreet - dove il blog è di casa Vero Geek iwinuxfeed.altervista.org Paperblog Add to Technorati Favorites Directory dei blog italiani BlogItalia.it - La directory italiana dei blog Feed XML offerto da BlogItalia.it BlogNews Il Bloggatore web counter Feedelissimo intopic.it