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