sabato 17 gennaio 2009

Grub ripristiniamolo! 2 parte

Questa procedura è molto più veloce e sicura di quella che ho messo nel mio vecchio post.

Di cosa abbiamo bisogno?
-Sapere la nostra tabella delle partizioni(se si sa bene, se non si sa il problema è aggirabile - vedi procedimento)
-Sapere qual è l'hard disk dove avete installato grub(99% dei casi hda=primo hard disk, sennò è il secondo o terzo)
-Sapere qual è la partizione /boot dove è presente il file di configurazione di grub(a meno che non gli abbiate fatto una partizione a parte è quella di root di linux)

Procedimento
1. Prendiamo la nostra distro live tuttofare(io uso ubuntu)
2. Avviamola in modalità live
3a. Se non sapete la tabella delle partzioni è il vostro momento di recuperare: sotto Sistema->Amministrazione c'è gparted. Avviatelo e istruitevi.
3b. Aprite il terminale
4. Digitate questi 3 comandi:

sudo grub
boot (hd0, 4)
setup(hd0)
quit

*Su boot ci va l'hard disk dove avete installato grub(hd0) e 4 è la partizione che contiene la directory /boot. Ovviamente scalata di 1( es la mia /dev/sda5 diventa la partizione 4).
*Su setup ci va il primo hard disk che parte all'avvio.

5. Fatto e riavviate


Questo procedimento è sicuro e veloce. Io l'usato per ripristinare grub installato da arch64 con una ubuntu a 32bit. Se aveste fatto così il vecchio procedimento ho letto(ma non ho provato) vi avrebbe dato problemi il comando chroot. E poi queste 3 righe sono molto piu semplici da ricordare.

venerdì 16 gennaio 2009

Driver Nvidia su Arch Linux... una inaspettata sorpresa

E' tanto che non scrivevo sul blog....Più che altro il motivo principale è stato che da quando sono riuscito a installare e configurare Arch Linux, ho abbandonato Debian e non ho avuto apparentemente nessun problema. Dico apparentemente, perchè poi oggi proprio ho trovato una bella sorpresina.....

Vi ricordate la mia guida per installare i driver Nvidia ufficiali con lo script di installazione scaricato dal sito di Nvidia? Bene bene, quella guida utilizza un metodo applicabile un po a tutte le distro di linux, per cui l'ho applicata ad Arch e come per magia tutto ha funzionato anche lì.

Questo però mi ha comportato un problema, al quale io non ho dato inizialmente peso, perchè facilmente risolvibile e apparentemente non troppo problematico. Vedete Arch linux aggiorna i propri pacchetti con ritmi estremamente veloci. Tra l'altro lui ha la particolarità di essere rolling release, quindi gli aggiornamenti non sono legati alla versione del sistema che è sempre aggiornata all'ultima versione disponibile!
Adesso uno penserà, BENE, dovè il problema? il problema eccolo quà :
I moduli nvidia così come sono installati dallo script vengono COMPILATI sulla relativa versione del kernel attualmente in uso. Con Arch, il kernel è in costante aggiornamento.....Bello, ma purtroppo ogni volta che esso veniva aggiornato dovevo REINSTALLARE i driver Nvidia per ricompilare i moduli sul nuovo kernel...

Una volta imparato il metodo di installazione, è stato tutto molto facile, non ho dato nessun peso al problema e ogni volta che aggiornavo il kernel perdevo qualche minuto a reinstallare i driver e tiravo così avanti nel pc....

Fino ad oggi, tutto ok.......Poi.......Uscita la versione del kernel 2.6.28............aggiornato il kernel, riavvio il sistema, gnome non parte perchè i moduli nvidia sono mancanti (tutto normale fino a qui), faccio partire l'installazione dei driver Nvidia per la duecentesima volta..... ERRORE!!!!
Non cè verso di finire l'installazione con questo script, viene causato un errore quando il programma di installazione analizza i pacchetti presenti nel mio sistema....Ed infatti, il kernel è

2.6.28-ARCH

mentre i kernel-headers indispensabili per la compilazione dei driver sono alla versione 2.6.27.4.......

Bene, direte voi........Quindi?........
Quindi.....ho cercato un po in rete per riuscire a compilare ugualmente questi benedetti driver......Dopo aver trovato diverse guide per problemi astronomi(diversi dal mio), mi sono imbatutto in qualcosa di inaspettato.....

Per Arch linux esiste un pacchetto PRECOMPILATO per installare i driver Nvidia....Non immaginate la mia faccia quando l'ho scoperto.....
Per risolvere, abilitare i repository Extra di Arch e basta dare il comando :

per le nuove schede grafiche

pacman -Sy nvidia

per le vecchie schede grafiche
pacman -Sy nvidia-96xx
pacman -Sy nvidia-71xx
pacman -Sy nvidia-173xx
E il gioco è fatto..... Ultimo avviso, il precompilato va installato solo su kernel precompilato, ed evita il dover RICOMPILARE i driver ad ogni aggiornamento del kernel. Per una guida completa su questi driver per arch linux, potete trovarla a questa pagina.

venerdì 9 gennaio 2009

Riflessione... Linux è il suo anno?! Speriamo di no

Sono in vena di pippe mentali quindi qui di seguito ne troverete molte.... mi sembrava doveroso avvertirvi prima di entrare in questo labirinto. Questo articolo si ricollega molto a "Il vero motivo per cui usiamo Linux" da me tradotto. Questo invece è scritto di mio pugno(e si vede...)

E' già il secondo anno consecutivo(ma si potrebbe tornare indietro di parecchio) che leggo: "L'anno xxxx sarà l'anno di Linux!".
Si ripete sempre. Certo è vero che di anno in anno linux acquisce sempre più utenti ma il punto su cui voglio riflettere è: "Ma ci conviene che linux sia largamente utilizzato?" La risposta non è un deciso si, secondo me, come ci si potrebbe aspettare a prima vista ma un "ni".
Perchè un utente di Linux vorrebbe che il suo s.o. preferito sia utilizzato da tutti? Vi dico la risposta commerciale: perchè è più sicuro, perchè è più stabile, ecc.... Tralasciando il discorso sulla sicurezza che quasi sicuramente con l'aumento del bacino di utenza si verranno a creare nuovi virus appositi o scenario ancora peggiore contro una o l'altra distribuzione perchè ha fatto delle scelte non idonee alla mia filosofia ecc... oppure per colpire l'utente più sprovveduto.

Io credo che il sogno di utente Linux sia quello di vedere per la propria piattaforma tutti i programmi per cui ancora gli tocca usare il vecchio winzoz o alternative carenti di funzionalità e instabili. Ovviamente l'unico modo per ovviare a questi problemi è quello di allargare gli utenti in modo che le case produttrici(giochi in primis) si accorgano anche di noi!

Questo però secondo me produce alcune controindicazioni. Prima di tutto finiremo di lamentarci per far in modo di farci notare... questa è il primo controsenso. Come? Lottiamo per farci vedere e poi? e poi non avremo nulla di cui lamentarci... abbastanza noioso non vi pare? In fondo era divertente no? Mi sembra un po' un sogno utopistico è bello crederci ma è ancora meglio non raggiungerlo perche poi non ci si potrebbe più credere.
Tutto questo si ricollega al fatto(detto anche nel post il vero motivo ecc.. troppo lungo il titolo lo abbrevio in ivmpcul) che ci piace sentirci un'elité e secondo me è molto vero. Quanti di voi usano Linux solo per dettagli tecnici? Meno dell'0,1% credo. La verità è che ci si diverte con tutti i suoi problemi, compatibilità, software non reperibile, ecc... se li eliminassero dove potremmo concentrare i nostri sforzi?

La situazione ideale sarebbe un punto di incontro tra le due vie in un'equilibrio tanto in bilico quanto impossibile da realizzare. In questo mondo ancora più utopistico penso che allora ci si smuoverebbe per creare qualcosa di veramente unico ed insuperabile.

Se non ci avete capito niente allora siamo in 2 :)

mercoledì 7 gennaio 2009

Modificare centinaia di immagini con un comando? Si può!

Recentemento ho scoperto di avere un editor di immagini molto più veloce e potente di gimp e photoshop messi assieme per alcuni versi.

Mi è capitato di avere centinaia di screenshot da modificare tutti ugualmente:
-Prendere un riquadro al centro
-Salvarlo ritagliandolo in jpg(da png)
-Rimpicciolire questa nuova immagine a dimensioni desiderate.

Con Gimp ci avrei messo un'eternità ma qui è venuto in mio soccorso un comando tanto semplice quanto potente incluso nel pacchetto "ImageMagick"(che al 99% avrete già automaticamente installato).

Il comando è questo:
mogrify -crop 801x604+239+114 -geometry 521x392 -format jpg *.png

-crop ritaglia un'immagine 801x604(il riquadro che vi dicevo - misurato in un'immagine campione con la selezione di Gimp)
+239 e +114 sono gli scarti dal bordo da dove prendere l'immagine di prima(misurati anch'essi su un'immagine tipo)
-geometry riscala l'immagine a quella risoluzione
-format jpg me le converte in jpg
-*.png sono i file in ingresso(cioè tutti i file della cartella)

Et-voilà in 20 secondi ho fatto ciò che con Gimp ci avrei messo un'eternità
Ovviamente questi sono solo 3 comandi... se vedete la pagina di aiuto di mogrify ce ne sono una montagna tra cui vengono inclusi anche molti filtri, la possibilità di combinare insieme immagini in una unica o in un'animazione.

La pagina del manuale di mogrify è qui.

Buon lavoro ;)

mercoledì 3 dicembre 2008

Perche usiamo Linux?

Navigando per caso mi sono imbattuto in questo post: http://blog.anamazingmind.com/2008/03/real-reason-we-use-linux.html.
Appena l'ho letto mi sono detto: "E' incredibile come è riuscito ad esprimere il vero significato dell'usare Linux in pochi concetti chiave".
Vi riporto tutto l'articolo tradotto(male) da me... leggete e ponderate.

LA VERA RAGIONE PER CUI USIAMO LINUX
Noi diciamo alla gente che usiamo Linux perchè sicuro. O perchè libero, perchè è altamente personalizzabile, perchè è gratuito, perchè ha un supporto eccellente da parte della comunità.

Ma tutti questi motivi sono solo un merdoso tentativo di marketing. Noi li elenchiamo ai non utilizzatori di Linux solo perchè non capirebbero la vera ragione. E se usiamo troppo spesso queste false ragione potremmo anche finire con il crederci veramente.

Ma nel profondo del nostro cuore, la vera ragione rimarrà sempre!

Noi usiamo Linux perche è divertente!

E' divertente pensare con il tuo sistema. E' divertente cambiare tutte le impostazioni, rompere il sistema e andare in modalità di recupero per cercare di sistemarlo. E' divertente avere la scelta di centinaia di distribuzioni. E' divertente usare la riga di comando

E fatemelo ripetere ancora. E' divertente usare la riga di comando!

Nessun dubbio sul fatto che i non-utilizzatori di Linux non capiranno.

Il punto, con noi utilizzatori di Linux, è che lo usiamo per i nostri fini.
Sicuro, ci piace avere il lavoro fatto. Sicuro ci piace non prendere virus. Sicuro ci piace risparmiare denaro. Ma questi sono solo effetti secondari. Quello che veramente vogliamo è giocare con il sistema e riscoprire completamente il fascino ormai inutile del sistema operativo.

Ci sono 3 ragioni perchè Linux è così divertente:
1. Linux ti da' il completo controllo
Hai mai provato a cercare di uccidere un processo su Windows e il SO non te lo permette? O provato a eliminare un file ed essere impossibilitati a farlo? Anche se hai i permessi di amministratore?

Linux ti permette di fare ogni cosa. Ci sono grandi benefici a loggarsi come utente. Ma se tu ti autentichi come root, il SO assume che tu sappia cosa stai facendo. Una volta diventato root, tutto è permesso.

2. Linux è scarsamente usato
Questo è un paradosso. Spesso ci lamentiamo che Linux è poco usato. Ma questa è una delle ragioni per cui lo usiamo. Ci da' l'impressione di essere un'élite scelta. Come se noi fossimo meglio di "quella massa di ignoranti".

Se Linux diventasse usato largamente, probabilmente migreremo verso qualcos'altro. O al massimo ci svilupperemo una nuova ed oscura distribuzione che useremo solo noi.
Perchè diciamocelo in faccia: vogliamo sentirci speciali!

3. Linux è libero(ndt Open Source)
Possiamo ottenere il sorgente di tutte le nostre applicazioni. Se vogliamo conoscere come una certa parte del SO funziona, possiamo. Questo ci permette di perfezionare e giocare con il nostro sistema.

Certo non possiamo dire ai non-Linuxiani che usiamo Linux perchè è divertente. Nel tempo in cui riesci a dire "antidisestablishmentarianism" loro ci avranno gia portato al manicomio. Quindi continua a dire tutti quelle false, ma plausibili, ragioni per usare Linux. Ma dentro di te sappi la vera ragione.

E forse, e dico solo forse, la prossima volta che qualcuno mi chiederà perchè uso Linux, gli stamperò un enorme sorriso e gli dirò: "Perche Linux è DIVERTENTE!"

domenica 23 novembre 2008

Avviare i file jar (java) e i py (python)

Ecco una semplice guida per riuscire ad avviare i file eseguibili java(.jar) e quelli python(.py).

Di norma si deve andare nella cartella, aprire il terminale e scrivere:

java -jar nomefile.jar

per i file java
e

python nomefile.py

per i file python

Ora noi per non stare sempre ad aprire il terminale creiamo un file vuoto chiamandolo "nomefile.sh". Aprimolo con il terminale e scriviamo:

# !/bin/bash

e di seguito la riga di comando che usavamo in precedenza(java -jar ecc.. e python ecc...)
Salvate chiudete. Clikkateci con il destro e sotto la scheda permessi spuntate quello di esecuzione. Oppure se siete in vena di terminale:

chmod +x nomefile.sh

Fatto ora basta clikkare 2 volte sul file .sh appena creato e il programma verrà eseguito senza passare per il terminale.

giovedì 23 ottobre 2008

Aggiungere pulsante Nuova Tab in Nautilus

Giunto ormai alla versione 2.24, finalmente implementa le tab.
Come in Firefox per aprire una cartella in un'altra tab basta cliccarci con il tasto centrale del mouse. Notiamo pero' una lieve differenza: le tab nuove vengono messe di fianco alla tab attuale. Inoltre manca sulla barra degli strumenti di nautilus l'immancabile pulsante "Nuova tab".

Per aggiungere quel pulsante ed eventualmente i pulsanti di copia/taglia/incolla(per questi va bene anche per i nautilus non recentissimi)

Andate nella cartella /usr/share/nautilus/ui con il semplice comando:

cd /usr/share/nautilus/ui
Usando il comando ls noterete diversi file xml. A noi interessa il file nautilus-navigation-window-ui.xml.

Per evitare spiacevoli inconvenienti oppure se volete continuare a smanettarci fate una copia di backup del file(sempre con sudo davanti al comando o usando un terminale root) con i comandi:
cp nautilus-navigation-window-ui.xml nautilus-navigation-window-ui.xml.backup

Apriamolo con Gedit(o con il vostro editor di testi preferito). Usate sudo oppure usate il terminale da root visto che state per modificare un file in una cartella di sistema di cui non avete i privilegi.
gedit nautilus-navigation-window-ui.xml

Ora la parte che ci interessa e' in fondo al file:
<toolbar name="Toolbar">
<toolitem name="Back" action="Back"/>
<toolitem name="Forward" action="Forward"/>

<toolitem name="Up" action="Up"/>
<toolitem name="Stop" action="Stop"/>
<toolitem name="Reload" action="Reload"/>
<separator/>
<toolitem name="Home" action="Home"/>
<toolitem name="Computer" action="Go to Computer"/>
<separator/>
<toolitem name="Search" action="Search"/>
<placeholder name="Extra Buttons Placeholder">
<placeholder name="Extension Actions"/>
</placeholder>
</toolbar>

Come vedete i vari tag indicano i vari pulsanti in ordine... quindi per sapere dove inserirli basta sapere dove li vogliamo mettere. Il mio pulsante nuova tab l'ho messo dopo il pulsante Up(torna alla cartella superiore). Quindi mandate a capo dopo la riga del toolitem up e scrivete:
<toolitem name="New Tab" action="New Tab"></toolitem>
Mi raccomando rispettate gli spazi all'interno della stringa. Invece inserire spazi o "a capo" tra un tag e l'altro non influenza nulla.

Analogamente se volete i pulsanti taglia/copia/incolla:
<toolitem name="Cut" action="Cut"></toolitem>
<toolitem name="Copy" action="Copy"></toolitem>
<toolitem name="Paste" action="Paste"></toolitem>

Salvate chiudete e riavviate la sessione. Oppure per fare prima killate nautilus(che si riavvierà da solo killall nautilus)Poi godetevi i vostri nuovi e utilissimi pulsanti.

Ad ogni nuova versione di nautilus che installarete dovrete rifare tutto il procedimento da capo, purtroppo.

domenica 5 ottobre 2008

Smontiamo una catena

Ce ne è una che in questo periodo mi arriva almeno una volta al giorno. Basta leggerla per capire che è falsa, ma nonostante tutto mi sta arrivando a cumuli. Ora la smentirò in maniera scientifica.

La mail è questa:
Salve a tutti!

Generalmente non invio messaggi di questo genere, ma questo mi è arrivato da un'ottima amica, avvocato, e mi sembra che sia un'opportunità interessante.
Lei dice che funzionerà, e FUNZIONA!!! Dopotutto, non c'è niente da perdere!
Ecco qui quello che dice:
Sono avvocato, e conosco la legge. Questo, E' reale. Non sbagliatevi.
AOL e Intel manterranno le loro promesse per paura di essere trascinate in tribunale e dover far fronte a una causa di milioni e milioni di dollari. Come quella della Pepsi Cola contro la General Electric , non molto tempo fa.
Cari amici, per favore, NON prendete questo messaggio per un bidone.
Bill Gates STA condividendo la sua fortuna. Se lo ignorate,
potreste rimpiangerlo più tardi.
Windows rimane il programma più diffuso ed utilizzato nel mondo.
Microsoft e AOL sperimentano inviando questo test via messaggio elettronico (e-mail Beta Test).
Quando inviate questo messaggio elettronico (e-mail) ai vostri amici, Microsoft può rintracciarvi (se siete un utilizzatore di Microsoft Windows) per 2 settimane.
Ad ogni persona che invierà questo messaggio, Microsoft pagherà 245 euro.
Per ogni persona a cui avete inviato questo messaggio e che lo invierà ad altre persone, Microsoft vi pagherà 243 euro.
Per la terza persona che lo riceverà, Microsoft vi pagherà 241 euro.
Fra due settimane, Microsoft vi contatterà per la Conferma del vostro Indirizzo Postale e vi invierà un assegno.

(Sinceramente, Charles Bailey, General Manager Field)

Pensavo che questo fosse un imbroglio, o uno scherzo, ma 2 settimane dopo aver ricevuto questo messaggio e averlo riinviato, Microsoft mi ha contattato per conoscere il mio indirizzo postale e mi hanno inviato un assegno di 24.800 euro.
Dovete rispondere prima che questa prova sia terminata; se qualcuno ha i mezzi per fare quest'operazione, è Bill Gates. Per lui, c'è un ritorno commerciale.
Se questo vi soddisfa, inviate questo messaggio a più persone possibile. Dovreste ricevere almeno 10.000 euro. Non li aiuteremmo, inviando questo messaggio, se non ce ne venisse un qualche cosina anche a noi…
La zia di un mio caro amico, che lavora per Intel, ha appena ricevuto un assegno di 4543 euro, semplicemente inviando questo messaggio.
Come ho detto prima, conosco la legge, e c'è del vero, Intel e AOL sono in negoziato per una fusione, con la quale diventerebbero la compagnia più importante del mondo nel settore, e per essere sicuri di rimanere il programma più diffuso e utilizzato in assoluto, Intel e AOL sperimentano con questa prova.

Dimitri Gustin
per ulteriori dettagli, ecco il mio numero di telefono: 0032473/404100

Cordialmente,

Ste AGECO Eurl
Pascal HUMBERT
1 rue Jean EGEN – 67600 SELESTAT
Tél. 03.90.57.20.36. – Fax 03.88.58.46.43.
Mobile: 06.08.02.45.70
E-mail: ageco.selestat@wanadoo.fr


(Piccola premessa... almeno potevano tradurla in un Italiano migliore...)
Allora innanzi tutto AOL e intel manterranno "le promesse"... ma quali promesse?
"Per far fronte a causa di milioni e milioni di dollari", perche con questo trucchetto non ne spendono altrettanti se non di piu?
"Bill Gates sta condividendo la sua fortuna"... ahahahahahhhaha ti pare che se tu avessi miliardi di dollari li daresti via in questo modo? ma non fatemi ridere. E' vero zio Bill ora si sta dedicando a beneficienza, ma regalare soldi in questo modo non è beneficienza è pazzia.
"Windows è un programma": ma stavamo parlando di Intel e AOL... vabbeh comunque Windows non è un programma ma un sistema operativo.
"Microsoft e AOL sperimentano..." ma non era intel e aol?
"[...]può rintracciarvi se[...]" Questo a mio avviso è il pezzo più spaventoso!!! Microsoft può rintracciarvi una semplice e-mail di testo? 1 è impossibile a meno che non la spediate con Hotmail(che è della microsoft) ma anche cosi come vi può leggere questo messaggio ve ne potrebbe leggere qualsiasi altro... alla faccia della privacy...
Saltiamo punti alquanto stupidi...
"Microsoft [...] conferma indirizzo postale.." Assurdo proprio... prima vi leggono le e-mail e poi vi rintracciano fino a casa? e se l'avessi spedita da un internet point? lasciamo perdere...
Lasciamo perdere il fatto dei 10000 euro a testa.(10.000x1.000.000(ad esempio) quanto fa? va bene che Bill è ricco ma buttare i suoi soldi cosi al vento..).
"Intel e AOL sono in negoziato per una fusione": ma si da Bill torniamo a Intel... leader nel settore? ma se Intel fa processori per pc e AOL è un Internet Service provider? ma fatemi il piacere.
Tralasciamo il fatto dei numeri di telefono e e-mail non ho nemmeno la voglia di controllarli...

Ah si due ultime cose per chiudere: Intel e AOL non hanno mai avuto a che fare con la Microsoft sono aziende indipendenti da essa. E ultima cosa ma non meno importante, a Marzo di quest'anno Bill si è dimesso da capo della Microsoft a favore di Steve "balletto" Ballmer, quindi non avrebbe più l'occasione di rifarsi dei soldi.... buttati(si è il termine adatto)

In conclusione se mi arriva un'altra volta questa mail vi ammazzo mi arrabbio! :)
E vale per tutte le altre catene!

martedì 9 settembre 2008

Chrome? No! Chromifox - Rendi Firefox simile a Chrome

Ti piace il nuovo browser della Google? Io l'ho provato ed è veramente ottimo peccato che non introduce nuove funzionalità che con le estensioni di Firefox non si possono fare.
L'unica cosa dove Chrome supera il browser di Mozilla è nella velocità di rendering delle pagine che è veramente mostruosa. Non che sia un vantaggio da poco ma per ora il suo unico punto forte è quello.

Questo è il mio nuovo "Chromefix" :) Grafica e funzionalità che si rifanno al nuovissimo browser di BigG. Nessun spreco di spazio e funzionalità identiche.
Vediamo ora come fare.
Prima di tutto installiamo le seguenti estensioni:
-Estensione AdBlock Plus: il google gears... ma nato molto tempo prima.
-Estensione Download StatusBar: gestione dei download ottima di chrome? Anche qui è stata preceduta sul tempo(molto tempo)
-Estensione New Tab Button on Right: Il pulsantino per aggiungere la nuova scheda... immancabile!
-Estensione Personal Menu: Ci servirà per ricreare il pulsante con il menù incorporato.
-Estensione Speed Dial: Per creare una pagina di default con i nostri siti preferiti.
-Estensione Fission: Opzionale ma utile... visualizza la barra di load della pagina sotto l'url.
-Tema Chromifox: Essenziale :) non aggiungo altro.

Una volta installato tutto riavviamo e inziamo ad impostare:
-Adblock plus impostate un mirror francese o tedesco dove trovare i filtri
-Download Statusbar va bene cosi... in alternativa potete provare la modalità mini che è spettacolare.
-New tab Button on Right, va bene anche lui così.
-Il personal menu è da impostare mettendo nel menù personalizzato tutte le voci dei menu classici.
-Speed Dial è abbastanza intuitivo. L'unica cosa all'avvio selezionate di visualizzarlo quando aprite una pagina o una tab vuota.
-Fission, usate il penultimo colore sulla prima riga.
-Dal menu Visualizza, deselezionate: Barra di Stato e Barra degli Strumenti->Menu principale.
-Dal menu Visualizza scegliete Barra degli Strumenti e poi Personalizza. Rimuovete, sempre se volete, la barra di ricerca di google.

Et-Voilà ecco il vostro Chromifox.
Piccola considerazione finale: con altre estensioni di Firefox, il nostro Chromifox risulta meglio integrato per ora con i servizi di Google(es. Gmail) rispetto al loro browser.

Unica nota: per ora non sono riuscito a trovare una estensione che permetta di creare una nuova finestra in modalità incognito(che poi tanto incognito non è... visto che non ti nasconde ma cancella tutti i cookie, form, ecc... alla chiusura della finestra). Però con Firefox potete abilitare sempre questa procedura basta spuntare l'opzione: Elimina sempre dati personali alla chiusura di Firefox sulla tab Privacy delle preferenze, per avere sempre l'"Incognito" attivato.

domenica 10 agosto 2008

Creare una Estensione Personalizzata per Firefox

In questo periodo mi sono cimentato nella creazione di una estensione per Firefox. La mia difficoltà è stata soprattutto nel trovare guide che ti guidassero passo passo alla creazione dell'estensione. Cosi ho deciso di scrivere le informazioni che ho raccolto/sperimentato.

Presupponendo che tutti voi conosciate cosa sia un'estensione per Firefox vado ad incominciare la mia piccola guida.

Il file .xpi (l'estensione dell'estensione :P) è in verità un file .zip quindi poter studiare una estensione già fatta inizia a semplificare il compito. Anche il file .jar che troverete all'interno è un file .zip quindi potete estrarre semplicemente questi file.

Se prendete una qualsiasi estensione e fate il procedimento di estrazione vedrete che vi compaiono di file: chrome.manifest e install.rdf.
Nel file chrome.manifest sono presenti i dati "descrittivi" della nostra estensione mentre il file install.rdf è una specie di script per l'installazione.
Non vi dovete preoccupare della creazione di questi due file perche nella mia guida li farò generare automaticamente.
Dedichiamoci agli altri elementi... è presente una cartella chrome con dentro un file jar. Estraendo il jar si avranno 2 o 3 cartelle: content, skin e locate. Dentro content ci saranno appunto i "contenuti" ovvero il codice vero e proprio dell'estensione; Dentro skin ci saranno gli elementi di interfaccia grafica tra cui il foglio di stile dell'estensione e dentro locate ci saranno i file per la localizzazione, per una estensione multilingua.

Ok passiamo ora allo sviluppo vero e proprio. Per questa guida mi baserò su un modello gia precompilato di una estensione per andare a creare la vostra estensione personalizzata.
Andiamo su questo sito e iniziamo a compilare i vari campi che ci servono.
Su Your Name inserite il vostro nome o il vostro nick. Inserendo Extension Name(il nome della vostra estensione) vi ritrovere con gia compilato il campo Extension Short Name(che volendo potete cambiare) e l'ID. L'ID in questo caso è formato cosi: [Short Name]+@+[Autore] e deve identificare univocamente, in tutto il mondo, la vostra estensione. In alternativa potrete dargli un uid ottenuto tramite terzi. Ad esempio su Linux potete usare il comando uuidgen.
Inserite il numero di Versione, la Descrizione e la Home Page della vostra Estensione. L'Update URL serve per far aggiornare automaticamente la vostra estensione. Io provando ad insere un mio sito di hosting dove risiede l'estensione, Firefox mi disabilita l'utilizzo dell'estensione perche non può verificare questo indirizzo. Quando scoprirò come risolvere ve lo comunicherò per ora lasciatelo vuoto. Volendo potete aggiungere anche dei Contributor.
Ok tutti questi dati verranno memorizzati nel file chrome.manifest... quindi se volete cambiarli dopo li trovate li.

Passiamo alle Feature addizionali:
Create Option Dialog & Preferences... come dice il nome predispone i file per creare una schermata di opzioni della vostra estensione
Create Context Menu Item... Crea un file per modificare i menù da quello contestuale(click destro) a quello principale.
Create Toolbar Button... Invece vi permette di agire sulle toolbar.
Avrete poi la possibilità di uploadare un'icona da utilizzare e di crearvi gia predisposta una finestra di info e about per la vostra estensione.

Infine si puo scegliere su quali versioni di Firefox(o Thunderbird) supportare e quale licenza aggiungere in testa ai vostri file. Se state usando un sistema unix-like dovete anche spuntare l'ultima casella.
Fatto questo se non avete commesso errori vi darà il download della vostra estensione vuota pronta per essere realizzata.

D'ora in poi vi consiglio di guardarvi un po' di sintatssi XUL(XML User interface Language) e altre estensioni simili per creare la vostra estensione personalizzata.
Dentro la cartella Content troverete i file per creare proprio l'estensione, menu, toolbar e finestre di dialogo. Dentro la cartella Skin avrete il foglio di stile e infine dentro la cartella Locate i file per la lingua.

Per provare la vostra estensione senza installarla vi consiglio di fare cosi:
Create un file con nome uguale all'ID della vostra estensione(se avete lasciato tutto di default avrete nomecortoestensione@autore). Inserite una riga dentro questo file che contiene il percorso assoluto alla cartella della vostra estensione(es. /home/user/dev/estensione).
Posizionate questo file dentro la cartella Extensions del vostro profilo di firefox(es /home/user/.mozilla/firefox/profilo/extensions).
Riavviando ogni volta Firefox verificherete i progressi che state facendo.

Una volta completo potete creare il file .xpi in un modo semplicissimo. Eseguite il file di shell build.sh e vi ritrovere con la vostraestensione.xpi.

Per installarla o la aprite con Firefox oppure la trascinate sulla schermata delle estensioni del Browser.

Buon Lavoro ;)