Installare Tracker e integrarlo in GNOME

Aggiornamento: sistemata una svista con il comando “ln” (grazie LR!)

Di Tracker ho già parlato diffusamente: è un progetto che seguo e cerco di sponsorizzare in ogni modo e se volete saperne di più consultate i post raggruppati sotto la categoria “Tracker“. Per chi non lo sapesse ancora, si propone come la soluzione per la ricerca desktop definitiva in GNOME, e dalle ultime novità sembra che verrà incluso in maniera predefinita nella prossima Ubuntu! ;-)

tracker_integration.png
L’integrazione tra Tracker, Nautilus e Deskbar è il primo passo verso un Desktop search perfetto

Seguendo queste indicazioni avrete l’integrazione di Tracker con Nautilus, Deskbar e il pannello di GNOME. Aspettiamo con ansia che tutti gli sviluppatori di GNOME abbraccino Tracker e le stupende opportunità che offre, ma già adesso esiste qualche app di terze parti assolutamente goduriosa.

Installazione

Gli sviluppatori di Tracker forniscono pacchetti già belli e pronti per Debian e varie versioni di Ubuntu a questo indirizzo. Per installarli basta spostarsi nella directory opportuna, scaricare i pacchetti “libtrackerclient, tracker, tracker-data, tracker-gnome-search-tool, tracker-utils, nautilus” in locale, ed installarli con un:

$: sudo dpkg -i *.deb

Occhio a non avere altri deb in giro perché quel comando installa tutto quello che trova :D

Configurazione

La configurazione di Tracker si effettua tramite semplici file di testo riposti nella directory .Tracker (a quando un backend gconf? so che sarebbe controverso ma a me personalmente farebbe comodo). Quel file viene creato con il primo avvio di Tracker, successivamente possiamo modificarlo per renderlo più consono alle nostre esigenze. Avviamo dunque tracker, con il semplice comando:

$: trackerd &

e mentre Tracker comincia a costruire il suo database di ricerca catalogando i file nella nostra $HOME, andiamo a modificare il file di configurazione:

$: gedit ~/.Tracker/tracker.cfg

Le impostazioni che un po’ tutti potrebbero voler cambiare sono ad esempio quella relativa alle directory che Tracker “sorveglia” e indicizza, io ho aggiunto una partizione in cui tengo i dati:

WatchDirectoryRoots=/home/felipe;/media/hdb1/Dati

Così come quella che indica a Tracker quali directory escludere dal database, io escludo quella in cui tengo i sorgenti e cvs vari:

NoWatchDirectory=/home/felipe/src;

Evitate di inserire link, mettete il percorso completo. A me ad esempio non funzionavano alcune cose utilizzando ~/Dati, che è un link alla partizione con i dati, e ho dovuto mettere il percorso completo /media/hdb3/Dati. Scorrendo più in basso possiamo impostare il linguaggio da usare, questa è un chicca molto interessante, in quanto Tracker supporta le trasformazioni delle parole tipiche di diverse lingue. Grazie a questo Tracker capirà che la parola “gioco” è in qualche modo relazionata alle parole “giochi” e “gioca”, ad esempio.

Language=it
EnableStemmer=true

L’ultima configurazione che posso consigliare a tutti è quella relativa all’indice della posta di Evolution:

IndexEvolutionEmails=true

Con l’avviso però che, nonostante da questa versione tutto sia pronto per catalogare la posta, la funzionalità non è ancora implementata in ricerca. Lo sarà in un futuro molto vicino :)

Integrazione con GNOME

Avvio automatico

Tracker si avvale delle ultime specifiche freedesktop per molti aspetti del suo funzionamento. L’avvio automatico è uno di questi aspetti: i deb installano il file /etc/xdg/autostart/trackerd.desktop, che si occupa di avviare “trackerd” ad ogni avvio di GNOME o altri DE compatibili con gli standard.

Ispezioniamo che sia tutto ok verificando che la voce “trackerd” sia attiva nella scheda “Programmi d’avvio” della configlet “Sessioni”, accessibile dal menu di GNOME “Sistema->Preferenze”, ecco come appare nel mio sistema:

tracker-session.png

“Cerca file… ” dal pannello di GNOME

Come prima cosa possiamo sostituire il vecchio e inefficiente GNOME Search Tool con Tracker Search Tool, in modo da poter fare ricerche con Tracker direttamente dal menu posto sul pannello “Risorse->Cerca file…” così:

$ sudo mv /usr/bin/gnome-search-tool /usr/bin/gnome-search-tool.bak
$ sudo ln -s /usr/bin/tracker-search-tool /usr/bin/gnome-search-tool

Ecco il risultato:

tst.png
Lancio Tracker Search Tool direttamente dal pannello di GNOME

Nautilus

Successivamente possiamo abilitare una estensione di Nautilus che permette di attribuire “tag” ad ogni file per poi poterli ricercare con le parole chiave che noi stessi decidiamo. Per fare ciò basta installare questi pacchetti:

$: sudo apt-get install python-dev python-nautilus

e poi posizionare questa estensione nella directory ~/.nautilus/python-extensions/. Questo farà apparire questa nuova scheda nella finestra delle proprietà dei file in Nautilus:

ntag.png
Dalla nuova scheda “Tags” posso assegnare una o più parole chiave personalizzate a qualsiasi file

Deskbar

Per apprezzare l’integrazione secondo me più importante bisogna usare Deskbar. L’operazione è molto semplice e l’ho spiegata passo-passo nel recente post “Integrare Tracker Desktop Search nella Deskbar Applet!“: basta posizionare l’estensione che trovate in quel post nella directory ~/.gnome2/deskbar-applet/handlers/

deskbar.png
Sì ok, Deskbar ricorda taaanto spotlight di apple, ma è proprio carina!

Progetti futuri

Tutto il lavoro che si sta svolgendo su Tracker è volto all’integrazione con GNOME nel pieno rispetto degli standard freedesktop. Non è escluso che Tracker tenti di proporsi come database centralizzato per tutti i desktop liberi, ma probabilmente sarebbe un successo essere inclusi in GNOME 2.20 …staremo a vedere come andrà.

Una delle innovazioni più importanti in tal senso è la convergenza di Tracker e GNOME sull’uso di FUSE. Se davvero FUSE soppianterà gnome-vfs potremo finalmente avere quel famoso filesystem semantico di cui tanto si parla da tempo, e portarci in testa a tutti gli OS esistenti! :)

62 pensieri su “Installare Tracker e integrarlo in GNOME

  1. dopo che ho dato

    sudo ln -s /usr/bin/gnome-search-tool /usr/bin/tracker-search-tool
    esce
    ln: creating symbolic link `/usr/bin/tracker-search-tool’ to `/usr/bin/gnome-search-tool’: File exists

    ora se vado in risorse/Cerca file esce
    Impossibile avviare la voce di menù
    Esecuzione del processo figlio “gnome-search-tool” (No such file or directory) fallita

    che faccio?

  2. ok ora va XD

    altra domandina…
    ho modificato ~/.Tracker/tracker.cfg così
    WatchDirectoryRoots=/home/mauro;/media/tuaCartella
    è giusto? come gli dico di iniziare a lavorare anche su questa cartella (tuaCartella)?

  3. felipe ma i file ke ho nella cartella /home/kasmol/.Amule/incoming nn me li trova xkè?forse xkè .aMule è nascosta e le cartelle nascoste nn le indicizza?nn posso rendere la cartella .aMule nn nascosta?

  4. fai gksudo nautilus da terminale…
    Vai in /usr/bin/ e cerca tracker-search-tool…
    Crea un collegamento e poi rinominalo in gnome-search-tool ( il collegamento, non tracker! )…
    IO ho fatto così e funzia!

  5. interessantissimo come sempre…
    solo un’imprecisione
    $ sudo ln -s /usr/bin/gnome-search-tool /usr/bin/tracker-search-tool
    da correggere in
    $ sudo ln -s /usr/bin/tracker-search-tool /usr/bin/gnome-search-tool

  6. “Se davvero FUSE soppianterà gnome-vfs potremo finalmente avere quel famoso filesystem semantico di cui tanto si parla da tempo, e portarci in testa a tutti gli OS esistenti! :)”

    Se ne è già discusso, ma la vedo un pò impossibile : FuSE è un only Linux, mentre GNOME vuole essere multipiattaforma…

  7. Davvero interessante poter mettere i tags direttamente dalla proprietà del file… peccato che a me, anche seguendo la guida, non funzioni. Dopo aver installato python-dev python-nautilus la cartella /home/utente/.nautilus/python-extensions non c’è, così l’ho creata e ho messo dentro l’estensione ma la chicca non va… Qualche consiglio per far funzionare l’estensione? :)

  8. Dopo aver installato python-dev python-nautilus la cartella /home/utente/.nautilus/python-extensions non c’è

    quoto…

  9. Parlando di FUSE

    Nel CVS di tracker ci sta già un programmino python chiamato FUSE. Qualcuno sa se è funzinante e soprattutto come si usa? Felipe aiutaci tu! :-P

    Grazie Carlo

  10. @Digra:
    @Messi:

    La cartella basta crearla e poi bisogna riavviare nautilus con un bel “killall nautilus” oppure effettuare il logout e il login

    Carlo

  11. Grazie felipe :) vedo che alla fine sei stato di parola :P… aggiorno subito anche la mia guida ;) grazie per le nuove interessanti delucidazioni :D

  12. dopo aver lanciato trackerd, durante l’indicizzazione, mi da questo errore (per quasi tutti i file…anzi, praticamente tutti)
    ERROR : prepared query InsertWatch failed due to SQL logic error or missing database

    Avete idea di cosa sia?

  13. Aiuto! lanciando Deskbar dopo aver aggiunto il file per fare le ricerche con tracker ottengo questo messaggio di errore dal notificatore di bug. Non sempre mi da questo errore ma solo alle volte all avvio dell applet. é strano perche non lo fa sempre… help me please!

    Memory status: size: 0 vsize: 0 resident: 0 share: 0 rss: 0 rss_rlim: 0
    CPU usage: start_time: 0 rtime: 0 utime: 0 stime: 0 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 0

    Traceback (most recent call last):
    File “/usr/lib/python2.4/site-packages/deskbar/ModuleLoader.py”, line 157, in load_all
    self.load (f)
    File “/usr/lib/python2.4/site-packages/deskbar/ModuleLoader.py”, line 139, in load
    mod_instance = getattr (mod, handler) ()
    File “/home/simone/.gnome2/deskbar-applet/handlers/tracker-tags-tab.py”, line 193, in __init__
    bus = dbus.SessionBus()
    File “/var/lib/python-support/python2.4/dbus/_dbus.py”, line 266, in __new__
    return Bus.__new__(cls, Bus.TYPE_SESSION, use_default_mainloop, private)
    File “/var/lib/python-support/python2.4/dbus/_dbus.py”, line 99, in __new__
    bus._connection = dbus_bindings.bus_get(bus_type, private)
    File “dbus_bindings.pyx”, line 1692, in dbus_bindings.bus_get
    DBusException: Failed to connect to socket /tmp/dbus-58DCI9zsgT: Connessione rifiutata

  14. Io avevo già riavviato, chiedo scusa di non averlo precisato nel commento precedente… comunque il problema non è risolto, sicuramente sto commettendo qualche errore ma non so cosa.
    Io avevo già installato tracker alla versione 0.5.2 e l’estensione per deskbar, unica cosa che per ora preferisco mantenere è l’icona cerca file nel pannello, così ho seguito l’ottima guida soltanto nella parte relativa a nautilus. Spero di poter risolvere il problema con vostro aiuto.

  15. perfetto felipe ora va!come hai detto te basta mettere /home/kasmol/.aMule nella lista “WatchDirectoryRoots”!grazie.

  16. Ciao Felipe,
    oltre a farti i complimenti per lo splendido articolo (come sempre), vorrei chiederti: seguendo la guida, io ho installato una versione modificata di Nautilus, cioè la versione nautilus_2.16.1-0ubuntu3tracker1? E’ una versione ufficiale?
    Tra l’altro ho notato con piacere che, visto che uso molto le note adesive (non Tomboy), queste non si nascondono più se faccio un clic sul desktop, ma rimangono visibili. E’ una cosa che apprezzo molto: con questo nautilus le devo nascondere appositamente. Bene!

  17. @Aldo:
    Grazie per i complimenti :)

    No, il pacchetto non è ufficiale, ma modificato per funzionare con Tracker. Probabilmente nella prossima versione di Ubuntu sarà una modifica ufficiale cmq ;)

  18. Io devo killare trackerd perchè all’avvio mi occupa tutta la CPU:

    “waiting for file events…”

    Questa è l’ultima riga del log…
    uff, lo trovo comodo ma così è inutilizzabile! Ora cerco un bug simile…

  19. sono riuscito a creare il link con cerca file, realizzando un link simbolico a beagle-search… cmq la finestra di tracker mi si blocca se cambio il tipo di applicazione che voglio cercare, da cosa può dipendere? ho dei problemi anche con evolution nella visualizzazione delle email, nelle preferenze dell’applet deskbar e nel gestore degli aggiornamenti…
    le 4 cose possono essere collegate?
    inoltre ho messo il file .py sia in /usr/lib/deskbar-applet/handlers che in ~/.gnome2/deskbar-applet/handlers/, ma non ho tracker tra le preferenze di deskbar
    adesso ho eliminato il pacchetto beagle, ma sembra che non ci siano miglioramenti
    come posso risolvere?

  20. Ma è risolvibile la questione che tracker vuole solamente nomi completi di file? io ho un’immagine chiamata tigeraqua e se scrivo tiger non la rileva…

    Spero sia una cosa che verrà risolta perchè altrimenti ha poco senso usarlo, apparte i tag con nautilus…

    P.S. Complimenti per la guida ;)

  21. @ShinjiLeery:
    vabbè vedi ke è ancora una versione beta se nn alpha nn lo so precisamente, quindi quando uscirà la versione definitiva sti problemi nn c saranno.

  22. so che risulterò ostile ma se uno ha il tempo di mettere i tag ad ogni file importante sul proprio pc credo non abbia proprio un c…o da fare tutto il giorno. :-)

    buon proseguo prolifico

  23. scusate….dimenticavo….ho seguito la guida e mi funziona tutto (tag compresi) tranne un aspetto (importante) del live search….in pratica i risultati non mi si aggiornano in tempo reale (ovvero, se io creo un file con all’interno la parola ricercata, questo non viene aggiunto alla finestra dei risultati della ricerca gia’ completata;funziona invece l’eliminazione, ovvero, se elimino uno dei file trovati, questo sparisce correttamente dai risultati)
    (p.s. ho verificato che tracker si accorge correttamente della creazione del nuovo file con un tail sul file di log, quindi probabilmente e’ solo un problema dell’handler della deskbar applet)

    saluti

  24. Forse non ho capito bene la “filosofia” di funzionamento! ma se io ho una cartella che si chiama “Goldmund”(è il nome di un artista) perchè se scrivo “Goldm” lui non trova niente? Tracker trova qualcosa solo se gli scrivo il nome completo!

  25. Ma è possibile cercare per frase?! Ovvero è possibile cercare per esempio “la vispa teresa” e non documenti che contengono le singole parole? Su beagle è possibile ma su tracker pare di no. Devo usare una query esoterica?Qualcuno sa come fare?

    In effetti rispetto a Beagle è decisamente un’altra cosa (sia come tempi di indicizzazione, spazio occupato, uso di ram). Beagle mi prendeva qualcosa come 4 GB di spazio sul disco, contro 500 MB di Tracker! Però non avere la possibilità di cercare per frase è un GROSSO limite.

  26. Scusate se rompo. A me tracker funziona decisamente bene, e sono arcisoddisfatto del suo lavoro. Però una piccola cosa non mi riesce di farla funzionare: l’integrazione con DeskBar. Ho scaricato il deskbar-handler e l’ho inserito in /home/daniele/.gnome2/deskbar-applet/handlers (ho provato anche ad inserirla in /usr/lib/deskbar-applet/handlers/) ma non funziona (in nessuno dei due casi). In pratica nelle preferenze di deskbar non trovo la voce “Search for files using Tracker“, e quindi ovviamente la ricerca dei files non parte. Qualcuno mi potrebbe aiutare? Grazie mille in anticipo.

  27. @tutti:
    Le funzionalità di ricerca per frase o per parti di parola saranno implementate nelle prossime versioni, almeno stando a quanto dice lo stesso Jamie

    @wonder:
    L’implementazione del live search è in discussione, a me piacerebbe ma non mi sembra un must. Cmq sappi che l’handler deskbar di eulin offre quella funzione :)

    @Daniele:
    Sicuro di aver installato tutte le dipendenze indicate nella guida? Di aver messo tutto al posto giusto? Con i permessi sufficienti?

    @pierissimo:
    Allora ci deve essere qualcosa che non va, o ha messo “internet” come directory da indicizzare? :D

  28. no le uniche modifiche che ho fatto:

    WatchDirectoryRoots=/home/piero;/media;
    MinWordLength=2

    l ultima opzione allunga il tempo di indicizzazione….ma non penso di così tanto!!!!( o si?)

    cmq devo indicizzare 80 gb di roba

  29. una domanda…. ho cambiato le cartelle da indicizzare

    ma adesso gli elementi già indicizzati(che non voglio sia indicizzati,non più)
    si eliminano automaticamente dall indice?

  30. @pierissimo:

    1) Non sfruculiare con le opzioni senza sapere cosa facciano :)
    2) Vengono eliminate automaticamente, ovviamente devi riavviare trackerd (basta uscire da GNOME e rientrare).

  31. MinWordLength=2

    1) l ho cambiata di proposito…. volevo poter effettuare la ricerca su parole lunghe 2 caratteri….

    2)meno male.cmq ho killato trackerd e l ho riavviato

  32. quanto cavolo ci mette ad indicizzare? sono 3 ore che va avanti… l’ho pure interroto con ctrl+c perchè credevo fosse andato in loop… mo è ripartito… ho quasi 30 GB…

  33. Avendo toppato ad inserire alcuni Tag, mi domandavo se è possibile cancellarli. Mi sapete indicare in quale file viene memorizzato l’elenco dei tag ?

  34. @geppo(commento 31)
    hai proprio ragione. Per caso è già previsto un tool grafico per il tagging “massiccio”? qualcosa tipo ex falso(per i file audio) ma esteso a tutti i files?

  35. Ho trovato una situazione in cui la modifica del comando gnome-search-toool (che ho già adottato, quindi so di che parlo) è controproducente: quando bisogna cercare qualcosa al di fuori del database di tracker; nel caso concreto, cercavo un’icona per inserire una voce nel menu, e tracker controlla solo la mia home e poche altre cartelle, mentre la ricerca va fatta in /usr/share. Ho dovuto digitare gnome-search-tool dal terminale per ottenere un risultato.

    Penso pertanto che tornerò al vecchio sistema, per le ricerche di tracker ci sono già la voce nel menu e l’integrazione nella deskbar, non credo serva avere anche un terzo modo per richiamarla.

  36. @Tom:
    La ricerca delle app installate (tramite il parsing dei file .desktop) sarà implementata ed è già nella lista di cose da aggiungere :)

    In ogni caso… effettivamente io uso molto più la deskbar che l’integrazione con il pannello.

  37. La ricerca delle applicazioni e` solo uno degli n possibili utilizzi, se non fossi uno che per gli ambiti “amministrativi” usa tanto la linea di comando me ne accorgerei anche in altre occasioni; basterebbe avere da cercare un file di configurazione in /etc, un log in /var, il percorso di una libreria in /usr e il problema ritornerebbe, e tracker non puo` aiutare (a meno di fargli indicizzare tutto il sistema, ma mi sembra esagerato).

  38. @Tom:
    Beh, per quale misterioso motivo un utente “normale” dovrebbe mai cercare in /etc o /var? :)

    Se parliamo di sysadmin o gente che normalmente legge i log di sistema, beh quelli non sono utenti normali, e sanno usare find, grep, locate e simili ;)

  39. Stavo seguendo la procedura, dopo aver scaricato i file dal sito da te indicato, ma ho avuto questo errore:
    “(Reading database … 107817 files and directories currently installed.)
    Unpacking libtrackerclient0 (from libtrackerclient0_0.5.2_i386.deb) …
    dpkg – warning: downgrading nautilus from 2.16.1-0ubuntu3.1 to 2.16.1-0ubuntu3tracker1.
    Preparing to replace nautilus 2.16.1-0ubuntu3.1 (using nautilus_2.16.1-0ubuntu3tracker1_i386.deb) …
    Unpacking replacement nautilus …
    […]
    dpkg: dependency problems prevent configuration of nautilus:
    nautilus depends on nautilus-data (= 2.16.1-0ubuntu3); however:
    Version of nautilus-data on system is 2.16.1-0ubuntu3.1.
    dpkg: error processing nautilus (–install):
    dependency problems – leaving unconfigured
    Setting up tracker-data (0.5.2) …
    Setting up tracker (0.5.2) …
    Setting up libtrackerclient0 (0.5.2) …

    Setting up tracker-gnome-search-tool (0.5.2) …
    Setting up tracker-utils (0.5.2) …
    Errors were encountered while processing:
    nautilus”
    Evidentemente ho un problema di librerie… considerando che sono un notevole novellino in ambito linux (lo uso intesamente da solo 3 mesi) mi potreste dare qualche dritta? Esiste una versione aggiornata di nautilus_2.16.1-0ubuntu3tracker1_i386.deb o devo ricompilare qualche sorgente (mai fatto, ma non son qui per imparare ;) )?
    Grazie in anticipo!

  40. Ok, credo di aver risolto. Dalle mie ricerche pare che il nautilus attualmente installato sulla mia ubuntu 6.10 sia già tracker-aware e che, avendo io disinstallato beagle e mono seguendo un’altra guida di mr. Felipe, usi già di default tracker (che ho provveduto ad aggiornare all’ultima release). Mi potreste confermare questa cosa?
    Grazie.

  41. Ho installato e configurato tracker come da guida…
    Ho anke scaricato e copiato l’estensione per nautilus dentro la cartella esatta…
    In ogni caso non vedo la nuova scheda nelle proprietà dei file….BOH…BU…BU…
    Mistero…

  42. Molto bellino … il GROSSO problema è che trackerd assomiglia ad una ferrari: veloce ma CONSUMA uno sproposito di risorse! … mi spiego: sul mio portatile mi abbatte la durata della batteria a quasi la metà. 99% di cpu, 20% memoria etc etc. Come primo workaround ho abbassato il Throttle da zero a dieci (in tracker.cfg), spero vada meglio: farò sapere.

  43. Con Feisty non mi mostra la scheda “Tags” in Nautilus…
    Con edgy invece non mi dava problemi…

    Ho installato i due pacchetti, ho copiato lo script .py e ho riavviato il tutto,
    ma non mi mostra la scheda…

    Sto sbagliano qualcosa??

    grazie.
    ciao

  44. la deskbar mi da questo errore

    TypeError: function takes exactly 0 arguments (1 given)

    da cosa dipende???

  45. mi esce in continuazione una finestra di
    Scoperta bug
    È stato scoperto un errore di programmazione
    Probabilmente non è fatale, ma dovrebbe essere notificato ugualmente agli sviluppatori. Il programma potrebbe comportarsi erroneamente da qui in avanti.
    TypeError: function takes exactly 0 arguments (1 given)

    che rende impossibile l’uso della deskbar
    qualcuno sa come risolevere il problema ????

    è insopportabile!!!!!!!!!

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...