mercoledì 4 dicembre 2013

Ubuntu Unity: aggiungere un indicator per vedere la velocità della rete

Una delle cose che trovavo comode nelle vecchie versioni di Ubuntu prima dell'upgrade forzato, era l'applet che mostrava la velocità di upload/download della rete.

Unity di default non ha un indicator del genere, o almeno, fino all'ultima volta che l'ho cercato non ne ho trovati, esiste però l'ottimo System Load Indicator che fa bene il suo lavoro... ma a me non piace.

Non piace perché non mostra il valore numerico della velocità di download/upload in quell'istante, bensì il suo grafico, ed è posizionato sul pannello in alto di Unity, per cui l'immagine è estremamente piccola: si capisce poco o nulla della velocità effettiva.

Occorre cliccarci sopra per vedere il dettaglio in termini di kilobyte/megabyte, e questo ulteriore passo fa perdere l'immediatezza del semplice colpo d'occhio possibile con la vecchia applet.

Poi ho trovato System Monitor Indicator.

Monitorizza tre parametri fondamentali del nostro sistema, CPU, Ram e velocità di rete, e mostra i risultati direttamente come testo nell'indicatore senza dover cliccare da nessuna parte.

Ero ovviamente interessato alla sola velocità di rete, e nell'immagine potete constatare da soli quanto sia immediato capire come sta andando il nostro download/upload:


System Monitor Indicator nel pannello superiore di Unity su Ubuntu 12.04


Se anche voi siete interessati a qualcosa del genere, vediamo come installarlo.

Aprite un terminale e date i comandi:

sudo add-apt-repository ppa:alexeftimie/ppa
sudo apt-get update
sudo apt-get install indicator-sysmonitor dstat

Per configurarlo create una directory nella home,

cd
mkdir -p ~/scripts
cd ~/scripts

e scaricate l'apposito script:

wget http://webupd8.googlecode.com/files/sysmon_0.2.tar.gz
tar -xvf sysmon_0.2.tar.gz

Avviatelo,

./sysmon

e comparirà il nuovo indicator nel pannello in alto di Unity. Cliccateci sopra ed in "Preferences" selezionate "Use this command", come percorso invece inserite quello dello script,

$HOME/scripts/sysmon

poi salvate le impostazioni. Personalmente non mi è mai capitato, ma l'autore del programma lamentava un blocco di System Monitor Indicator proprio durante il salvataggio delle impostazioni. Dovesse capitare anche a voi, date il comando

killall indicator-sysmonitor

e fatelo ripartire. Se come nel mio caso v'interessa solo sapere la velocità della vostra rete, per eliminare la visualizzazione di tutte le altre informazioni aprite il file di configurazione con

gedit ~/scripts/sysmon

e modificatelo così:

#settings:
cpu=false
ram=false
netspeed=true

Salvate e riavviate System Monitor Indicator, lo vedrete finalmente apparire come nell'immagine riportata sopra. Se volete lanciarlo ad ogni avvio di Ubuntu, nel menù "Preferences" selezionate "Run on startup".

lunedì 2 dicembre 2013

Ubuntu: creazione, installazione e disintallazione pacchetti deb Oracle Java 6 e 7

Tempo fa il cambio di licenza di Oracle Java aveva imposto la sua eliminazione dai repository Ubuntu.

Martin Wimpress ha creato un script che non solo sopperisce a questa mancanza, ma fa molto di più:
  • crea un repository locale;
  • scarica i file Java dal sito Oracle;
  • usando questi file crea dei pacchetti deb sia per il runtime che per il JDK (serve a chi sviluppa in Java);
  • i pacchetti deb creati possono essere usati per un'installazione ex-novo o per aggiornare pacchetti precedentemente installati usando direttamente il vostro gestore dei pacchetti preferito, ad esempio Gestore Pacchetti (Sinaptic) o l'Ubuntu Sofware Center.
Ho testato il tutto su Ubuntu 12.04 LTS (Precise) a 64 bit, ma dovrebbe funzionare con tutte le versioni di Ubuntu dalla 10.10 in poi, sia a 32 che 64 bit.

L'autore dello script infatti indica chiaramente che lo script non è compatibile solo con Ubuntu 10.04.

Ecco allora le poche semplici istruzioni per creare ed installare i pacchetti deb di Oracle Java 6 e 7 su Ubuntu:

mkdir ~/Scrivania/java
cd ~/Scrivania/java

Fate attenzione, la prossima è un'unica riga anche se eventualmente la vedrete andare a capo:

wget https://github.com/flexiondotorg/oab-java6/raw/0.3.0/oab-java.sh -O oab-java.sh

e poi

chmod +x oab-java.sh

A questo punto non vi resta che lanciare lo script con le opzioni giuste per scaricare Java dal sito Oracle e creare i pacchetti deb per la successiva installazione.

Per creare i pacchetti di Oracle Java 6 (ATTENZIONE: non riceve più aggiornamenti di sicurezza) basta il comando:

sudo ./oab-java.sh


Se invece volete creare i pacchetti per Oracle Java 7 (consigliato), allora dovete aggiungere un'apposita opzione al  comando precedente:

sudo ./oab-java.sh -7

Se per caso avviate lo script da dietro un proxy, il sudo iniziale diventa sudo -i, così:

sudo -i ./oab-java.sh -7

Appena lo script parte vi indicherà una stringa da inserire in un altro terminale per seguire l'elaborazione in tempo reale, è qualcosa del tipo:

tail -f ~/Scrivania/java/oab-java.sh.log

ma voi usate direttamente quella che compare nel vostro terminale.

Aprite un secondo terminale e incollate lì la vostra stringa, poi date un invio sulla tastiera: potrete vedere il gran numero di operazioni svolte dallo script e anche eventuali messaggi di errore nel caso qualcosa andasse storto.

Ora mettetevi comodi: a seconda della potenza del vostro computer e la velocità della connessione Internet (c'è molta roba da scaricare a cominciare da Java stesso), si va da qualche minuto a qualche decina di minuti di elaborazione.

In realtà tutto potrebbe terminare molto prima se vi sono dipendenze insoddisfatte per la compilazione come è accaduto a me. L'elaborazione si è fermata e ho ricevuto questo messaggio:

dpkg-checkbuilddeps: Unmet build dependencies: curl
dpkg-buildpackage: warning: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: warning: (Use -d flag to override.)
2599's retcode: 3


Se beccate anche voi lo stesso messaggio di errore, tagliate la testa al toro dando questo comando,

sudo apt-get install build-essential curl

poi rilanciate il comando di creazione dei pacchetti Java che avevate dato prima. A me si è fermato una seconda volta con questo nuovo messaggio:

debian/control did change, please restart the build
make: *** [debian/control] Errore 1
dpkg-buildpackage: error: debian/rules build gave error exit status 2
3223's retcode: 2


Sta dicendo di rilanciare nuovamente la creazione dei pacchetti. Se succede anche a voi, rilanciate ancora una volta l'ultimo comando dato e dovrebbe risolversi tutto.

Se invece continua a darvi ostinatamente lo stesso errore, chiudete entrambi le finestre di terminale, poi riapritele e ripetete tutto ancora una volta: prima il comando di creazione dei pacchetti Java,

sudo ./oab-java.sh -7

poi quello per osservare i messaggi dell'elaborazione:

tail -f ~/Scrivania/java/oab-java.sh.log

Una volta che è terminata correttamente la creazione dei pacchetti, viene automaticamente lanciato l'update di apt-get che rende visibile al gestore del software di Ubuntu i pacchetti Java appena creati.

Ora avrete a disposizione alcune opzioni d'installazione, usate quella che vi serve.

Installazione ex-novo Oracle Java 7 runtime:

sudo apt-get install oracle-java7-jre oracle-java7-plugin oracle-java7-fonts

Installazione ex-novo Oracle Java 7 runtime + JDK:

sudo apt-get install oracle-java7-jre oracle-java7-plugin oracle-java7-fonts oracle-java7-jdk

Aggiornamenti di pacchetti precedentemente installati, sia runtime che JDK:

sudo apt-get upgrade

Non dimenticate di verificare il corretto funzionamento di Java.

Se volete disinstallare Java da Ubuntu, trattandosi di normali pacchetti usate i soliti strumenti che Ubuntu mette a disposizione per farlo, ad esempio Gestore Pacchetti (Sinaptic) o l'Ubuntu Sofware Center, basta cercare i pacchetti che iniziano con il nome "oracle-java".

Se invece preferite la riga di comando:

sudo apt-get remove --purge oracle-java7-jre oracle-java7-plugin oracle-java7-fonts oracle-java7-jdk

venerdì 29 novembre 2013

You musn't create Blogger sitemap for submit to Google

Google has finally added sitemap xml file in Blogger!

You find the sitemap at: http://blog-name.blogspot.com/sitemap.xml

If you want submit the new Blogger's sitemap to Google:
  • login into your Google Webmaster Tools' account;
  • if you don't have any blog in account, first add your blog with button "Add Site";
  • select this blog, click on Dashboard | Sitemap | Add/Test Sitemaps and insert the string "sitemap.xml", then click "Submit Sitemap".
You have finished. That's all. Enjoy!

giovedì 28 novembre 2013

Creare una sitemap per Blogger/Blogspot e segnalarla a Google

Finalmente un modo facilissimo per farlo, perché la novità è che Google ha finalmente aggiunto il supporto alle sitemap xml per Blogger/Blogspot.

La potete trovare all'indirizzo:

http://nome-blog.blogspot.it/sitemap.xml

Niente più tools strani per farsele da se, o siti web a cui dare l'URL del nostro blog per avere sitemap grandi al massimo 500 link, ne c'è più bisogno di pagare qualcuno per farcele preparare.

Una così bella novità, e pare che a Google si siano dimenticati di pubblicizzarla a dovere.

In rete infatti anche guide recentissime nel momento in cui scrivo, continuano ad indicare il sistema di inserire nel Google Webmaster Tools direttamente il feed del blog, superando il limite delle 26 pagine/post con la stringa

atom.xml?max-results=500&start-index=1

solo per poi ritrovarsi bloccati a 500 link e dover correre, prima di sforare, ad aggiungere una seconda sitemap per segnalare i successivi 500 link,

atom.xml?max-results=500&start-index=501

e così via a crescere a blocchi di 500 link alla volta.

È roba vecchia.

Vediamo come adesso si segnala la sitemap di Blogger/Blogspot a Google in modo super semplice.

Do per scontato che abbiate un account Google Webmaster Tools, altrimenti attivatene uno, vi tornerà utile per tantissime altre cose.

Entrate in Google Webmaster Tools e se già non l'avete fatto, aggiungete il vostro blog cliccando sul pulsante "Aggiungi un sito". Quando l'operazione è conclusa correttamente esso comparirà nella Home.

A questo punto cliccate sul nome del sito appena aggiunto, poi

Scansione | Sitemap | Aggiungi/Testa sitemap

e nella finestra che si apre inserite la stringa

sitemap.xml

poi cliccate su "Invia Sitemap".

Basta, avete finito: tutto qua! Ora dovrete solo attendere che Google elabori la sitemap che le avete inviato ed il gioco è fatto.

Ma esattamente, cos'è una sitemap?

Le sitemap sono un modo per aiutare i motori di ricerca a trovare le pagine dei nostri siti web o i post che pubblichiamo sui nostri blog che altrimenti nessuno troverebbe.

La sitemap è un file XML che contiene gli URL delle pagine del sito, o dei post del blog. Vi sono anche informazioni aggiuntive come la data dell'ultimo aggiornamento, eventualmente la frequenza di aggiornamento, l'importanza che vogliamo dare ad alcuni URL rispetto ad altri.

Grazie alla sitemap i motori di ricerca eseguono la scansione di tutte le pagine/post del sito in maniera più efficiente senza perdersene nessuna.

Mettiamo in chiaro una cosa: con le sitemap non abbiamo la garanzia assoluta che le nostre pagine saranno indicizzate dai motori di ricerca, la loro presenza però facilita il processo di scansione affinché questo avvenga.

venerdì 8 novembre 2013

Ubuntu: installazione di SQLite da sorgente

Prima o poi un database può servire, e serve un RDBMS per gestirlo. Una scelta molto comune è MySQL, altra possibile scelta è PostgreSQL, ma non sempre c'è bisogno di scomodare tanta potenza e peso.

A volte serve qualcosa di piccolo ed essenziale, facile da installare e da usare, che sia multipiattaforma e richieda poca o nessuna amministrazione, che possa essere usato sia come prodotto a se stante, sia gestito dall'interno dei nostri programmi scritti in un linguaggio di programmazione come C/Java/PHP/Python, e molti altri per cui esiste il binding.

Queste sono le occasioni in cui SQLite fa al caso nostro. Il prodotto ha notevoli possibilità e anche limiti, per cui è sempre da valutare con attenzione se fa proprio al caso nostro.

Vediamo come installarlo su una macchina Ubuntu partendo direttamente dai sorgenti disponibili per il dowload sul sito ufficiale. Per le prove ho usato una Ubuntu 12.04 LTS a 64 bit e SQLite 3, ma con piccole modifiche immagino sia una procedura del tutto generale. Fatemi sapere laddove doveste incontrare problemi, ma anche laddove è andato tutto bene.

Iniziamo con l'installazione preliminare dell'occorrente per la successiva compilazione dei sorgenti. Aprite un terminale e date il comando:

sudo apt-get install build-essential checkinstall

Scaricate dal link precedente il sorgente sqlite-autoconf-nomeversione.tar.gz, nel momento in cui scrivo il nome esatto del file è sqlite-autoconf-3080100.tar.gz., ma con il tempo la parte numerica cambierà in funzione delle nuove versioni, assicuratevi comunque che si tratti sempre del file con la stringa "autoconf" nel nome.

Portatevi con il terminale nella cartella dove avete scaricato il file e decomprimetelo con

tar xvfz sqlite-autoconf-3080100.tar.gz

poi compilatelo con:

cd sqlite-autoconf-3080100
./configure
make
sudo checkinstall

Se tutto procede bene, ad un certo punto "Checkinstall" vi chiederà:

The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs?  [y]:


Rispondete y oppure n a seconda che vogliate o meno creare ed installare la documentazione del software. Vi verrà anche chiesto di inserire una descrizione del pacchetto:

Inserire una breve descrizione per il pacchetto.
Termina la tua descrizione con un linea vuota o EOF.
>>


Inseritene una a vostro piacimento, per esempio:

SQLite 3.8.1 installed from source with Checkinstall.

e date esattamente 3 volte "Invio" sulla tastiera per proseguire l'installazione. Una volta terminata, per testare il funzionamento di SQLite date il comando:

sqlite3

Se beccate l'errore

SQLite header and source version mismatch

allora c'è un problema di librerie non aggiornate dall'installazione da risolvere così:

sudo updatedb
locate libsqlite3

Vedrete che le librerie libsqlite3.so.0 e libsqlite3.so.0.8.6 sono presenti in almeno 3 directory:

/usr/lib/i386-linux-gnu/libsqlite3.so.0
/usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6
/usr/lib/x86_64-linux-gnu/libsqlite3.a
/usr/lib/x86_64-linux-gnu/libsqlite3.la
/usr/lib/x86_64-linux-gnu/libsqlite3.so
/usr/lib/x86_64-linux-gnu/libsqlite3.so.0
/usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
/usr/local/lib/libsqlite3.a
/usr/local/lib/libsqlite3.la
/usr/local/lib/libsqlite3.so
/usr/local/lib/libsqlite3.so.0
/usr/local/lib/libsqlite3.so.0.8.6

Controllando le date (controllate effettivamente, non vorrei che proprio nel vostro caso i problemi fossero altri) si vedrà che i file delle directory usr/lib/i386-linux-gnu/ e /usr/lib/x86_64-linux-gnu/ non sono aggiornati alla stessa data di quelli nella directory /usr/local/lib/, i più recenti appena installati.

Su Ubuntu 64 bit è sufficiente aggiornare i file nella sola directory /usr/lib/x86_64-linux-gnu/ copiandovi quelli della directory /usr/local/lib/.

Immagino, ma NON ho testato l'ipotesi, che per installazioni di Ubuntu a 32 bit la directory /usr/lib/x86_64-linux-gnu/ va sostituita con la directory /usr/lib/i386-linux-gnu/.

Perché SQLite riprenda a funzionare è sufficiente aggiornare solo i 2 file libsqlite3.so.0 e libsqlite3.so.0.8.6, per mantenere il tutto allineato è preferibile aggiornarli tutti.

Per sicurezza è meglio cambiare nome ai file da aggiornare piuttosto che cancellarli o sovrascriverli, così da poter tornare indietro in caso di necessità:

sudo mv /usr/lib/x86_64-linux-gnu/libsqlite3.a /usr/lib/x86_64-linux-gnu/libsqlite3.a_bak

sudo mv /usr/lib/x86_64-linux-gnu/libsqlite3.la /usr/lib/x86_64-linux-gnu/libsqlite3.la_bak

sudo mv /usr/lib/x86_64-linux-gnu/libsqlite3.so /usr/lib/x86_64-linux-gnu/libsqlite3.so_bak

sudo mv /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0_bak

sudo mv /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6_bak

Infine copiare i nuovi file al posto dei vecchi rinominati:

sudo cp /usr/local/lib/libsqlite3.a /usr/lib/x86_64-linux-gnu/

sudo cp /usr/local/lib/libsqlite3.la /usr/lib/x86_64-linux-gnu/

sudo cp /usr/local/lib/libsqlite3.so /usr/lib/x86_64-linux-gnu/

sudo cp /usr/local/lib/libsqlite3.so.0 /usr/lib/x86_64-linux-gnu/

sudo cp /usr/local/lib/libsqlite3.so.0.8.6 /usr/lib/x86_64-linux-gnu/

Se tutto è stato fatto correttamente ora SQLite dovrebbe funzionare. Provate a ridare il comando:

sqlite3

e SQLite dovrebbe rispondervi:

SQLite version 3.8.1 2013-10-17 12:57:35
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
>


Per uscire dal prompt e terminare SQLite:

.q

Per disinstallarlo completamente:

sudo apt-get remove --purge sqlite-autoconf

E' tutto... buon lavoro con SQLite!

domenica 3 marzo 2013

XMind: aggiungere un dizionario italiano per la correzione ortografica

XMind è uno splendido software per il mind mapping (mappe mentali).

Le funzionalità sono numerose, ben fatte ed estremamente intuitive nell'uso, c'è però un ma: si sente la mancanza di un dizionario per il controllo ortografico in italiano, di default è previsto il solo inglese.

Una soluzione è scaricare il dizionario italiano di WinEdt e dopo aver decompresso il file zip, cambiare l'estensione del file it.dic in it.dict (notate la "t" finale dell'estensione del file): aggiungerlo a XMind usando i menù Edit --> Preferences --> Mind Map --> Spelling, infine cliccare su Apply per renderlo funzionante.

Se volete usare il file in formato unicode, su Ubuntu questo va prima convertito in formato utf-8 con il comando

iconv -f UNICODE -t UTF-8 it.dic > it.dict

poi procedete come già illustrato sopra.

giovedì 28 febbraio 2013

Disponibile VirtualBox 4.2.8

Anche se in questo momento non è ancora segnalato in homepage, ne tanto meno nella pagina di download, nell'apposito directory del sito è già disponibile per MacOSX, Linux e Windows la versione 4.2.8 di VirtualBox.

Appena sarà disponibile il changelog si capirà la portata dei bugfix, per ora è sicura la sistemazione del problema con le VirtualBox Guest Additions che ne impediva l'installazione su Ubuntu 13.04 attualmente in fase di sviluppo.

Aggiornamento: la homepage di VirtualBox è stata modificata, il changelog con i bugfix adesso è disponibile.

mercoledì 9 gennaio 2013

Installazione driver video AMD Catalyst su Ubuntu 12.04 a 64 bit

La prima cosa che ho dovuto affrontare dopo l'upgrade forzato a Ubuntu 12.04 è stata l'installazione del driver della scheda video, una ATI Mobility Radeon HD 4650 di AMD.

Il fatto è noto: AMD ha deciso di modificare il supporto Linux alle schede video Radeon HD della serie 2000 - 3000 - 4000, di fatto azzerandolo. Niente più nuovi driver per queste schede, niente più compatibilità assicurata con le future versioni di Ubuntu. I Catalyst 12.6 sono gli ultimi driver a supportare la ATI Mobility Radeon HD 4650 del mio Dell 1747.

Questo significa che una scheda video AMD con 2 anni e mezzo di di vita è già abbandonata a se stessa: gli utenti Nvidia se la passano molto meglio, hanno supporto per schede con quasi 10 anni di vita.

In questo post voglio mostrarvi come ho installato i driver AMD Catalist 12.6 scaricati dal sito AMD su Ubuntu 12.04 a 64 bit creandone dei comodi pacchetti deb.

Personalmente sconsiglio l'uso dei driver fglrx disponibili nel repository di Ubuntu e installabili direttamente da "Driver aggiuntivi".

È vero che sempre dei Catalyst si tratta, e hanno anche la comodità di essere facilmente installabili, ma oltre ad essere una versione più vecchia rispetto ai 12.6, sul mio portatile si sono rivelati instabili con frequenti blocchi del sistema al momento dello spegnimento, sopratutto se prima di spegnere avevo usato la sospensione.

Con i 12.6 ciò avviene raramente, ma mediamente almeno una volta al mese ancora ci tengono a ricordarmi che la cosa non è del tutto risolta.

Le istruzioni per l'installazione degli AMD Catalist 12.6 sono molto semplici.