DebuggingAyatana_it

Il progetto Ayatana consiste in molti sottoprogetti di diversa natura. Tuttavia, poiché è sviluppato all'interno del progetto stesso da parte dello stesso gruppo di persone all'interno della medesima società e siccome condividono componenti è possibile dare alcuni consigli generali sul debugging di Ayatana.

informazioni generali

Questa sezione fornisce informazioni generiche sui vari progetti che costituiscono Ayatana.

Cosa è ?

Il progetto contenitore di Ayatana in Launchpad è ayatana ed in virtù di ciò non si potranno aprire segnalazioni contro tutto il progetto, bensì, quando si utilizzano i pacchetti di Ubuntu, occorrerà fare riferimento ai pacchetti sorgente dei pacchetti in Launchpad.

Proprio progetto Launchpad

Pacchetto sorgente Ubuntu

Descrizione

Application Indicator

indicator-application

L'indicatore che mostra gli indicatori delle applicazioni, così come la libreria che consente alle applicazioni di registrare i loro indicatori delle applicazioni.

Application Menu

indicator-appmenu

l'indicatore che ospita i menu estratti dalle applicazioni che usano appmenu-gtk e appmenu-qt.

AppMenu GTK+

appmenu-gtk

Il modulo GTK+ che fa apparire i menu nel applicazione del pannello indicator-appmenu, utilizzando GtkMenuProxy.

BAMF

bamf

Fornisce un demone DBus ed una libreria C per le istanze di accoppiamento applicazione/finestra. Utilizzato da Unity per garantire che ogni applicazione appaia una sola volta nel lanciatore.

Clutter Toolkit

clutk

Una libreria toolkit Clutter utilizzata dal lanciatore in Unity.

Date and Time Indicator

indicator-datetime

L'indicatore che ha sostituito l'applicazione orologio e che mostra data, ora ed un calendario.

DBus Menu

libdbusmenu

Libreria per passare i GtkMenus su DBus. Utilizzata da quasi tutti i progetti indicatore.

Evolution Indicator

evolution-indicator

Utilizza libindicate per visualizzare una voce per Evolution nel menu messaggi.

Indicator Applet

indicator-applet

L'applicazione che contiene i più importanti indicatori.

libdbusmenu-qt

libdbusmenu-qt

Mentre la normale libreria DBus Menu è per il passaggio di GtkMenus su DBus, questa libreria è utilizzata per passare i menu QT su DBus.

Libindicate

libindicate

La libreria utilizzata dalle applicazioni per apparire nel menu messaggiThe library used by applications to appear in the Messaging Menu, anche se teoricamente può essere utilizzata anche per altri scopi.

libindicate-qt

libindicate-qt

I bindings QT per libindicate.

libindicator

libindicator

La libreria per la creazione di indicatori, pertanto usata da tutti gli indicatori.The library for creating indicators, therefore used by all indicators. utilizzata anche da Indicator Applet e Session Menu per raggruppare gli indicatori che che si vogliono visualizzare partendo da una lista statica.

Me Menu

indicator-me

L'indicatore che mostra il nome utente e provvede all'integrazione degli account chat ed ha voci per l'aggiornamento dello status microblogging.

Network Menu

indicator-network

Il gestore connessioni basato sull'indicatore network, ha sostituito nm-applet. Per ora utilizzato solo in Ubuntu Netbook Edition.

Notify OSD

notify-osd

Il demone delle notifiche dal progetto Ayatana

Plasma Menu Bar

plasma-widget-menubar

La barra menu plasma che mostra i menu applicazione, estratta sia da applicazioni appmenu-gtk o appmenu-qt, prima che siano esportate su DBus.

Sound Menu

indicator-sound

L'indicatore per variare il volume o controllare il player musicale.

Unity

unity

L'interfaccia Ubuntu Netbook Edition che fornisce un lanciatore, un pannello superiore ud una interfaccia di ricerca. Non usa l'Indicator Applet, implementando un proprio visualizzatore. Utilizza libbamf e libclutk.

Una nota su Indicator Applet

Indicator Applet è l'applicazione che visualizza tutti gli indicatori nel pannello. Non è limitato solo al menu messaggi ma si estende aanche agli indicatori applicazione e il menu audio. L'applicazione indicator-applet include solo questi tre, Session Indicator e Me Menu sono mostrati come un applicazione separata: indicator-session. L'applicazione che li comprende tutti è: indicator-applet-complete, che include sia indicator-applet che indicator-session.

Ricordare che un bug deve essere segnalato innanzitutto contro il proprio indicatore, mentre contro Indicator Applet solamente quando si è assolutamente sicuri che il problema risiede li.

Dove cercare informazioni

L'autenticazione della sessione utente avviene in $XDG_CACHE_HOME, predefinitivamente in $HOME/.cache o ~/.cache.

In questa directory vi sono molti file interessanti, relativi al progetto Ayatana:

  • indicator-applet.log
  • indicator-applet-appmenu.log
  • indicator-applet-complete.log
  • indicator-applet-session.log
  • notify-osd.log

Nella directory $XDG_CACHE_HOME/indicators/ sono depositati i collegamenti ai file desktop registrati da Message Indicator e Sound Menu, rispettivamente in $XDG_CACHE_HOME/indicators/messages/seen-db.keyfile e $XDG_CACHE_HOME/indicators/sound/familiar-players-db.keyfile.

Mentre per Application Indicators, sono situati in $XDG_CONFIG_HOME/indicators/application/lru-file.json.

Osservando DBus

Il progetto Ayatana fa un uso intensivo di DBus per comunicare. È quindi consigliabile controllare le comunicazioni di DBus per analizzare meglio cosa sta succedendo.

Per osservare in diretta le comunicazioni di DBus usare il comando:

dbus-monitor --session

Con il succitato comando, si potranno osservare anche le comunicazioni di altre applicazioni che stanno usando DBus, per evitare ciò è necessario specificare quali informazioni si vogliono.

Per visualizzare solamente le comunicazioni su DBus derivanti da org.ayatana.indicator.application.service DBus interface ,che praticamente sono tutte comunicazioni fra il registro di Application-Indicators e l'attuale indicatore di Application-Indicators, usare il comando:

dbus-monitor "interface='org.ayatana.indicator.application.service'" --session

Se invece si vuole visualizzare la comunicazione fra l'applicazione ed il registro Application Indicators usare il comando:

dbus-monitor "interface='org.kde.StatusNotifierItem'" --session


Documento originale CategoryBugSquad CategoryAyatana CategoryDebugging

DebuggingAyatana_it (last edited 2012-05-06 19:40:06 by fabiomarconi)