8/11/2008

Creare un tema per GDM

Salve,
oggi ho deciso di scrivere questo nuovo post che mostra alcune linee guida su come creare un tema per GDM, a partire da un tema preesistente; quindi quello che si farà è semplicemente sostituire l'immagine di sfondo del tema scelto, con una a piacere.

Anche per me questo è stato il mio primo tema e per crearne uno nuovo ho scelto di partire dal tema Starry-Night presente a questo indirizzo sul sito di http://gnome-look.org.

Link utili:
  • Creare un tema per GDM (N.B. Questa guida però mi ha dato un problema in fase di creazione dello screenshot; non andava a buon fine lo script per la creazione dello screenshot e quindi ho dovuto ripiegare sull'aiuto di gdmflexiserver )
  • Problema screenshot GDM (N.B. Questa è una pagina tratta dal forum italiano di Ubuntu; questa discussione parte proprio dal problema citato con la guida e propone come soluzione alternativa anche l'utilizzo di gdmflexiserver )
1°Passo: ottenere un tema di GDM
Come già citato in precedenza, ho scelto il tema Starry-Night presente a questo indirizzo sul sito di http://gnome-look.org.

2°Passo: selezionare una immagine a piacere da utilizzare come sfondo per il tema
Io ho scelto questa immagine (Nota: questo è già il risultato finale):


3°Passo: modificare i file GdmGreeterTheme.desktop e freedom.xml
Riporto qui di seguito direttamente le modifiche apportate al file GdmGreeterTheme.desktop
[GdmGreeterTheme]
Greeter=freedom.xml
Name=Freedom
Description=Freedom GDM Theme
Author=A. Coati
Copyright=Copyright (C) 2008, A. Coati
Screenshot=screenshot.png
L'attributo nome=valore che ci interessa di più è Greeter, il quale ci permette di specificare il file xml contenente le istruzioni (che sono metadati in formato testuale) per la composizione del tema.
Gli altri attributi penso che siano abbastanza autoesplicativi; anche Screenshot è importante perché specifica l'immagine utilizzata da GDM per fornire un'anteprima del tema.

Per quanto riguarda il file freedom.xml, riporto solo la parte iniziale (anche perché il file è molto lungo e per lo scopo di questo post non risulta necessario):
...
normal file="Freedom.jpg"
...
Questo tag specifica l'immagine di sfondo che verrà utilizzata per il tema;

4°Passo:Creazione e installazione del'archivio tar.gz del nostro tema
Create e installate il tema GDM; badate bene che l'anteprima del tema che otterrete, non sarà quella del vostro tema (cosa che andremo a mettere a posto tra un attimo). Comunque se avete aggiunto i commenti nel file .desktop, dovreste riuscire a capire qual'è il vostro tema nell'elenco dei temi installati per GDM.

5°Passo: Testare il tema
A questo punto non resta che testare il tema appena modificato e creare lo screenshot per l'anteprima in GDM.
È che qui entra in gioco gdmflexiserver.
Secondo quanto indicato sul forum di ubuntu, installate prima il pacchetto xnest col seguente comando:
sudo apt-get install xnst
A questo punto possiamo testare il nostro tema lanciare il seguente comando:
gdmflexiserver --xnest
Si aprirà una finestra contenete l'immagine il login di GDM; è a questo punto che si può catturare la schermata con Applicazioni>Accessori>Cattura Schermata (in Gnome).

Io qui avevo qualche problema col refresh della finestra di GDM; per realizzare lo screenshot ho avviato prima l'applicazione per catturare la schermata, impostando 10sec come tempo di ritardo prima della cattura, specificando di catturare la finestra corrente e di eliminare da questa il suo bordo; premete ora il pulsante per la cattura e da shell lanciate il comando gdmflexiserver --xnest per far comarire la finesta di login di GDM. Cosi dovreste riuscire a salvare lo screenshot in formato png, da aggiungere all'archivio tar.gz del vostro tema.

Adesso basta che reinstalliate il tema modificato, con l'aggiunta dell'anteprima e tutto sarà a posto.