PDA

View Full Version : Configurare Firebird per aprire direttamente i link url


Cemb
08-02-2004, 22:02
Ciao a tutti!
Uso Fedora Core, Mozilla Firebird e Mozilla thunderbird per la posta.
Mi piacerebbe poter aprire in Firebird direttamente i link che mi arrivano con la posta elettronica (tipicamente: le notifiche di risposta del forum di hwupgrade :D ). Come posso fare? Tenete presente che NON ho installato nessun altro programma di posta elettronica nè browser (a parte l'ovvio Galeon, come file manager).
Ho provato ad associare Firebird ai file "http" e html dalle preferenze (associazioni e tipi di file), inserendo nella riga di comando da eseguire per questi files "sh /home/xxxxxx/MozillaFirebird/MozillaFirebird %s -UILocale it-IT -contentLocale IT", che è la riga che uso normalmente per avviare il browser con l'aggiunta di %s (che, se non sbaglio, dovrebbe servire proprio ad aprire i link cliccandoci semplicemente sopra).

Dove sbaglio? Qualcuno di voi conosce altri metodi? Vi ringrazio! Byez!

guldo76
08-02-2004, 22:30
Io non uso thunderbird; cmq mi sono fatto uno scriptino per firebird,
che puoi adattare alle tue esigenze:
#!/bin/bash

fire="/usr/bin/MozillaFirebird"

if echo $1 | grep -iq -- '^mailto:'
then sylpheed --compose $1
elif $($fire -remote "ping()" 2> /dev/null)
then $fire -remote "openurl($1,new-tab)"
else $fire $1
fi


Guldo

Gavrila
08-02-2004, 22:59
Se stai parlando di gnome


Menu ---> Applicazioni---> Preferenze del desktop--->Avanzate---->Applicazioni preferite (non so se siano correttissime perche' le ho in inglese :) )

Cemb
09-02-2004, 10:46
Originariamente inviato da guldo76
Io non uso thunderbird; cmq mi sono fatto uno scriptino per firebird,
che puoi adattare alle tue esigenze:
#!/bin/bash

fire="/usr/bin/MozillaFirebird"

if echo $1 | grep -iq -- '^mailto:'
then sylpheed --compose $1
elif $($fire -remote "ping()" 2> /dev/null)
then $fire -remote "openurl($1,new-tab)"
else $fire $1
fi


Guldo


..ecco.. QUesta cosa mi riesce un po' difficile.. Come faccio a compilare uno script?? E soprattutto, cos'è e come funziona? (si vede che sono niubbo di linux, eh? E' dai tempi del dos che non scrivo qualcosa..)

Intanto proverò col secondo metodo, che in effetti avevo usato con precedenti installazioni di Gnome (ma con Firebird non sembrava dare i risultati sperati). Ad ogni modo ritento, magari con l'installazione nuova funziona!
Byez e grazie per intanto!

guldo76
09-02-2004, 21:29
Originariamente inviato da Cemb
..ecco.. QUesta cosa mi riesce un po' difficile.. Come faccio a compilare uno script??
Ah, scusa.
Uno script non va compilato; e` interpretato, come i javascript, o perl.
La prima riga specifica l'interprete.
In pratica lo salvi col nome che preferisci, quindi lo rendi eseguibile.
(chmod u+x mio_script)
Cerca sugli 'Appunti di informatica libera', che e` spiegato bene.

Guldo

Cemb
09-02-2004, 22:18
Ok, adesso ho capito! :p

Grazie Guldo, ora che lo so per le prossime volte provo questa strada! Mi piace perchè è a "basso livello", e credo che possa giustamente definirsi uno "standard" per tutte le distribuzioni Linux! ;-)
In effetti sto iniziando a preferire le cose manuali alle interfacce grafiche, in genere funzionano meglio e sono più rapide!

Solo che è un po' un macello iniziare..

Ad ogni modo consultando la documentazione di Fedora ho capito dove sbagliavo..

Il "%s" nella riga di comando va inserito proprio alla fine, anche dopo le opzioni (-UIlocale, ecc). Ora ho sistemato e funziona a meraviglia!

Grazie a tutti!

..è proprio vero che a volte ci si perde in un bicchier d'acqua..

Byez!

Cemb
19-02-2004, 20:01
ok, riutilizzo questo topic perchè il problema iniziale non è del tutto risolto..
Sentite un po' quel che mi succede..

Se il browser è chiuso, cliccando su un hyperlink mi avvia Firebird e poi mi apre la pagina (direttamente).

Se invece il browser è già aperto, vuole aprire una nuova finestra. Quindi si apre il profile manager, perchè non ho ancora capito com'è che firebird si può avviare dallo script in singola copia (invece se clicco su un link all'interno del browser e gli dico "apri in un'altra finestra" avvia senza problemi un'altra istanza del browser).
Quando si apre il profile manager se seleziono l'identità già in uso (non ho intenzione di creare una nuova identità per tutte le volte che apro un link..) non mi lascia aprire un'altra copia del browser, dicendo che il profilo in questione è già in uso. Se questo non mi disturba troppo quando avvio manualmente il browser, mi disturba assai quando clicco sui link!

In particolare mi piacerebbe che cliccando sui link essi si aprissero dentro il browser, e non chiedessero di farlo partire se è già aperto. D'altra parte il comando che ho inserito nelle preferenze di gnome parla chiaro, sono io che gli ho detto di fare così.. Ci sono soluzioni/modalità alternative?

In effetti ho provato anche a installare le varie extensions per abilitare le funzioni avanzate di tab browsing (e cioè gli ho detto di aprire sempre i collegamenti in una nuova linguetta, e mai in una nuova finestra, a meno di una mia esplicita richiesta); il problema però è a monte, come ho già spiegato, e cioè nel fatto che per come è possibile (per le mie modeste capacità) impostare gnome ogni volta che clicco su un link lui esegue il comando che glio indicato (sh /home....../MozillaFirebird -UIlocale ecc ecc, insomma quel che ho scritto sopra).

Avete soluzioni?

Esiste la possibilità di creare uno script che dica "se il browser è chiuso, apri il browser e carica la pagina; se il browser è aperto, carica la pagina e basta"? Se sì, sapete spiegarmi in dettaglio come si fa? Non sono mai andato oltre basic e pascal (e non ricordo una mazza), modifica di files col Notepad/vi (i vecchi batch per fare le installazioni/configurazioni automatiche dei giochi sotto dos ai tempi del 286/486).

Vi ringrazio in anticipo, spero di aver esposto chiaramente il problema! Byez!

Burns
19-02-2004, 20:06
Originariamente inviato da Cemb
ok, riutilizzo questo topic perchè il problema iniziale non è del tutto risolto..
Sentite un po' quel che mi succede..

C U T

Vi ringrazio in anticipo, spero di aver esposto chiaramente il problema! Byez!

Interessa anche a me!

Con qualunque applicazione fa questa cosa molto fastidiosa!

Cemb
19-02-2004, 20:09
Ah, ecco!
Ma per "qualunque applicazione" intendi qualunque applicazione da cui clicchi l'url ti apre una nuova istanza del browser firebird, oppure che lo fa con qualsiasi browser (compresa la versione di Mozilla integrata nel SO, che io non ho installato volendo usare Firebird)?

Comunque vorrei riuscire a risolvere, perchè per me l'accoppiata firebird.thunderbird è insostituibile sia per Linux che per win! :)

Burns
19-02-2004, 20:14
Originariamente inviato da Cemb
Ah, ecco!
Ma per "qualunque applicazione" intendi qualunque applicazione da cui clicchi l'url ti apre una nuova istanza del browser firebird, oppure che lo fa con qualsiasi browser (compresa la versione di Mozilla integrata nel SO, che io non ho installato volendo usare Firebird)?


Intendo che se ho firefox aperto (o anche firebird), e clicco su un qualunque link presente in una qualunque altra applicazione (pan per i ng, thunderbird per le email ecc ecc), si apre automaticamente il profile manager chiedendomi che profilo scegliere e bla bla bla...
è molto fastidioso!

Mentre se da un'istanza di firefox provo ad aprire una nuova finestra (alt+n), come te, riesco tranquillamente e non ci sono problemi...



Comunque vorrei riuscire a risolvere, perchè per me l'accoppiata firebird.thunderbird è insostituibile sia per Linux che per win! :)

anche per me ;)

guldo76
19-02-2004, 20:42
Scusate, fatemi capire, lo script che ho messo qualche messaggio fa non
funziona? O non vi va bene?
Io apro link
[list=1] dal browser da emacs, che uso per posta e news
da xpdf e acroread[/list=1]
e ho "detto" a questi programmi di usare quello script.
Forse non ho capito bene il vostro problema...

Guldo

Burns
19-02-2004, 20:58
Originariamente inviato da guldo76
Scusate, fatemi capire, lo script che ho messo qualche messaggio fa non
funziona? O non vi va bene?
Io apro link
[list=1] dal browser da emacs, che uso per posta e news
da xpdf e acroread[/list=1]
e ho "detto" a questi programmi di usare quello script.
Forse non ho capito bene il vostro problema...

Guldo


ma vedi...
è che ogni tanto sembro scemo :D

avevi già postato uno script e neanche l'ho provato, boh :D




Adesso invece ho appena provato il tuo script con pan, va alla grande, grazie mille! ;)

Cemb
20-02-2004, 14:18
In realtà se ricordi io avevo adottato il metodo "for dummies", ovvero avevo modificato le impostazioni via interfaccia grafica di gnome (nelle applicazioni preferite), come era spiegato qualche post più su da un altro utente.
Ho visto che tu hai l'eseguibile di Firebird nella directory /usr/bin; come hai fatto? L'hai capoiato lì, l'hai collegato lì o cosa?

Al momento non sono in grado di utilizzare lo script precedentemente postato, se non c'è alternativa cerco sugli appunti di informatica libera e vedo di capirci qualcosa. Mi domandavo però se non ci fosse semplicemente da settare qualche parametro aggiuntivo col tool grafico..

Grazie ancora!

guldo76
20-02-2004, 16:58
Sei liberissimo di fare a meno del mio script, per carita` :D, ma guarda che
non e` niente di trascendentale.
La sintassi dell'istruzione "remote" e` spiegata da qualche parte sul sito di
mozilla, non ricordo dove, ma basta cercare :)
Invece, l'eseguibile di firebird ce l'ho in /usr/bin semplicemente perche' me lo
ha piazzato li` debian. Ed e` proprio lui, non un link.
Per sapere dove sta sul tuo sistema, basta che fai
which MozillaFirebird
oppure
whereis MozillaFirebird

Bye,

Guldo

Cemb
21-02-2004, 00:29
Beh, almeno dov'è l'eseguibile lo so! ;)
Ho scompattao io la cartella in /Mozilla/, quindi l'eseguibile è /Mozilla/firefox/firefox; solo che per farlo partire da Gnome devo "dirgli" sh /Mozilla/firefox/firefox -UIlocale -ITlocale (così lo fa partire come script eseguibile e mi carica le impostazioni in italiano). Tutta 'sta pappardella è compatibile col tuo script? Ma soprattutto, non è nel fatto di lanciare con sh lo script che risiede il problema? E' qiesto che vorrei capire prima di mettermi a trafficare.. Cioè, se io faccio doppio click su "firefox" o scrivo "firefox" da shell non parte in automatico, mi chiede se lo deve aprire o eseguire (da shell non fa 'na mazza). Invece a te probabilmente partirebbe, avendolo in /bin! O non ho capito ancora nulla di Linux (il che è probabile)?

Ti ringrazio per la disponibilità e mi salvo lo script! Byez! ;)

guldo76
21-02-2004, 13:21
Potresti fare cosi`, se non ti interessa la posta:
#!/bin/sh
fire="/Mozilla/firefox/firefox -UIlocale -ITlocale"
if $($fire -remote "ping()" 2> /dev/null)
then $fire -remote "openurl($1,new-window)"
else $fire $1
fi
Non ho capito molto bene cosa non ti e` chiaro, cmq la prima riga dello script
gli dice con cosa aprirlo (appunto, sh); supponiamo che salvi lo script col nome
url.sh e lo rendi eseguibile (ovviamente).
Allora configurerai il programma per aprire i link con quello, qualcosa tipo:
url.sh %s
senza mettere sh davanti, perche' questo e` gia` specificato nello script medesimo.
Spero sia chiaro. :)

Guldo

Cemb
21-02-2004, 13:38
Capito, ti ringrazio un sacco! :)

Lo provo e ti faccio sapere come va, byez!

Cemb
21-02-2004, 14:37
caspita, funziona!!! :cincin:

Ma quante ne sai?? :sofico:

E' stato tutto molto più semplice di quanto pensassi, ti ringrazio!

Senti, già che sono qui e ti rompo le scatole, sei riuscito a far andare Java sotto firefox/firebird?

Io avevo installato il Java Runtime environment con Firebird e funzionava; poi ho installato Firefox (in un'altra cartella), ho copiato i vari plugin ma mentre flash mi funziona java non ne vuol sapere di andare. ho provato a reinstallarlo, ma non c'è verso, nè con la procedura automatica dal sito della Sun, nè con quella manuale (via rpm installato da console).

Se non hai voglia di rispondere fa niente, ti sono già grato per lo script! ;)

Cemb
21-02-2004, 14:53
D'oh!
:doh:

Un'ultima cosa: ho copiato esattamente il tuo script, solo che anzichè "new-window" ho scritto "new-tab" per evitare che mi apra più istanze del browser (che è quello che causa l'apertura del profile manager) e anche perchè non mi va di avere 200 finestre di firefox aperte dopo aver provato la comodità del tab-browsing.

Il problema però è che così va tutto bene se il browser è già aperto (apre una nuova scheda); non va altrettanto bene se il browser è chiuso, perchè ovviamente non lo avvia (lì ci vorrebbe una "new-window", credo).

Esiste un modo per dirgli "se il browser è chiuso, then avvia il browser"
"if il browser è aperto, allora apri in new-tab"?

Grazie ancora!

guldo76
21-02-2004, 16:06
Cioe`, fammi capire, se il browser NON e` gia` aperto non lo apre?!?
Strano...
Allora, diciamo che non hai nessuna istanza del browser aperta; da shell digiti
url.sh (invio)
e non ti apre il browser?
Sicurosicurosicuro? :D
Se da shell digiti
/Mozilla/firefox/firefox -UIlocale -ITlocale
non ti apre forse il browser?

Guldo

p.s.: anch'io uso diffusamente le tab, e nel mio script ho le tab.
Avevo inteso chissa` come che tu volessi le finestre.
p.p.s.: per Java non saprei proprio, sorry.

Cemb
21-02-2004, 18:19
Se digito url.sh mi doce bash: url.sh: command not found . No, non parte! :cry:
se invece digito /Mozilla/firebird/firebird -UILocale -itIT -contentlocale -itIT parte (come è giusto che sia, visto che è il comando che ho passato al link che ho sulla barra di gnome per avviare il browser). In compenso mi dà il seguente errore

LoadPlugin: failed to initialize shared library libXt.so [libXt.so: cannot open shared object file: No such file or directory]
LoadPlugin: failed to initialize shared library libXext.so [libXext.so: cannot open shared object file: No such file or directory]
LoadPlugin: failed to initialize shared library /Mozilla/firefox/plugins/java2/plugin/i386/ns600/libjavaplugin_oji.so [/Mozilla/firefox/plugins/java2/plugin/i386/ns600/libjavaplugin_oji.so: undefined symbol: __vt_17nsGetServiceByCID]

che credo abbia parecchio a che fare coll'errore di caricamento di java..
magari provo a fare apt-get libXt.so e apt-get libXext.so; hai idea di cosa possa essere? Byez!

Cemb
21-02-2004, 18:26
Fra l'altro i due files libXt ci sono: sono libXt.so.6 e l'altro pure versione .6, sono librerie condivise di xfree (che funziona, apparentemente..).

Ma che ho fatto??

guldo76
21-02-2004, 18:32
Non trova url.sh perche' non e` nel path.
Gli eseguibili dove li va a cercare?
echo $PATH
gli devi dare il percorso completo, oppure aggiungerlo a PATH:
export PATH="$PATH:/home/pippo/bin"
ad esempio.

Invece per le librerie proprio non ne ho idea, mi spiace :boh:

Guldo

Cemb
21-02-2004, 18:49
Ohibò, credo che gli eseguibili li becchi in usr/bin, oppure in /bin o sbin (ma credo in /bin)

Ma se scrivo echo $PATH me lo dice?

ora sono sull'altro pc, Linux lo sta usando mia sorella :D
Provo a fare come hai detto e vedo se la cosa va a posto..
Byez & grazie! Per le librerie magari chiedo su un altro topic..

Cemb
22-02-2004, 11:39
allora: echo $PATH (invio):
/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/gabriele/bin

se uso il comando export path ecc ecc non cambia niente.. cioè, mi sa che nella mia home ci sono già tutti i comandi presenti in /bin; o sbaglio?

cheddevo fare? non può essere che proprio non accetti url.sh come comando?

guldo76
22-02-2004, 18:46
Parlammo e 'un ce capaimo!!! :D

Hai visto che gli eseguibili vengono cercati in
/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/gabriele/bin
quindi e` in una di queste che lo devi piazzare.

AH! Ho capito! Forse non hai reso eseguibile lo script in questione.
Ti prego leggi qualcosa sui permessi dei file e arrangiati, non ti possiamo dire tutto noi...
(hint: devi usare chmod)
mi sa che nella mia home ci sono già tutti i comandi presenti in /bin
questa non l'ho capita... :confused: I comandi presenti in /bin sono in /bin.

Guldo

Cemb
22-02-2004, 19:05
chmod u+x /Mozilla/firefox/scriptbrowser (sono il nome e la posizione del mio script)

Non è questo per rendere eseguibile lo script? Prima di eseguire il comando mi sono cercato chmod su google e ho scritto il mio bravo man chmod! ;) E in effetti facendo doppio click sullo script apre la nuova tab..
Perchè dovrei cambiare i permessi? Potrei anche fare un chmod 777, ma tanto sono già proprietario dello script, quindi ho diritti di esecuzione, scrittura e lettura.

Forse vuoi dire che dovrei mettere il file "scriptbrowser" in /usr/bin" ?

O forse intendi dire che in /usr/bin ci dovrebbe stare "firefox"? Va bene anche un bel link simbolico?

Ma allora perchè anche se è in /Mozilla/firefox quando clicco su un url e il browser è già aperto mi aggiunge una tab e funziona?

Byez!

guldo76
22-02-2004, 19:17
Bene bene, allora sai un po' come funzionano i permessi :)
Devi mettere il tuo scriptbrowser (e non un link simbolico) in una delle dir del tuo path, ad esempio /home/gabriele/bin
Ma allora perchè anche se è in /Mozilla/firefox quando clicco su un url e il browser è già aperto mi aggiunge una tab e funziona?
Ah, non lo so. :boh:

Bye,

Guldo

Cemb
22-02-2004, 19:25
Originariamente inviato da guldo76

Ah, non lo so. :boh:

Guldo


Questa mi è piaciuta un casino! :sofico: Almeno non sono l'unico! ;)

Provo immediatamente e ti faccio sapere!

Cemb
22-02-2004, 19:33
Nada!
Script eseguibile, con permessi 777, in /usr/bin/
Fa lo stesso lavoro di prima (per lo meno non è peggiorato! ;) )
Se il browser è aperto apre una nuova tab, se è chiuso non fa niente.

Cemb
22-02-2004, 19:37
Originariamente inviato da Cemb
Se digito url.sh mi doce bash: url.sh: command not found . No, non parte! :cry:



Mi autoquoto: non può dipendere da questo?
Comandi "alternativi" da inserire nello script? Ti ringrazio per la pazienza..

guldo76
22-02-2004, 19:40
Oh, non lo so.
In teoria se metti nello script lo stesso comando che useresti da console per far partire il browser, deve funzionare.

Guldo

Cemb
25-02-2004, 16:24
Svelato l'arcano!
Guldo, il tuo script funziona perfettamente. Ad essere "buggato" è Thunderbird/firefox! :D

in pratica funziona così:

thunderbird viene "visto" come "firefox"; ovvero, se gli dici "apri in una tab se firefox è aperto, apri firefox (col comando firefox UILocale.. ecc ecc) se non è in esecuzione" in pratica lui si confonde, perchè vedendo thunderbird tra i processi attivi crede che firefox sia già aperto. Quindi cerca di aprire una nuova tab (cosa impossibile, visto che di fatto firefox non sta andando..) e il tutto finisce lì.. Invece se firefox è in esecuzione riesce ad aprire correttamente la nuova tab.

Il mio amico Andrea, Autentico Ing Informatico (nonchè junior member del forum, ma non ricordo il suo nick.. l'ho comunque invitato a postare qui ;) ), è venuto a smanettare sul mio pc risolvendo per un'altra strada, che dovrebbe funzionare per tutti quelli che, come me, usano Thunderbird+Firefox:

#!/bin/sh
fire="/Mozilla/firefox/firefox -UILocale it-IT -contentLocale IT"

if $(ps -ax|grep firefox | grep -v grep > /dev/null)
then $fire -remote "openurl ($1,new-tab)"
else $fire $1
fi

Così cerca se tra i processi attivi ce n'è uno che si chiama firefox (ad esclusione di "grep firefox"); se non c'è avvia firefox, altrimenti apre una nuova tab.

E così funziona!

..e ora va anche java..

Byez e grazie per la disponibilità!