Category Archives: Linux

Argomenti riguardanti linux in generale

Italialinux nella vita reale: ovvero 2 talk al linux day (a viterbo)

Durante il linux day che si è svolto lo scorso 29 ottobre presso il palazzo della provincia di Viterbo, ho tenuto due talk.

Il primo riguardava la presentazione di un piccolo progetto di MouseGuanto basato su Arduino.

Il secondo invece riguardava una breve panoramica di Latex, un prodotto per la creazioni di report/libri/articoli molto potente e versatile (e opensource):

A breve riprenderò con articoli e tutorial 😀 (in questi mesi sono stato molto impegnato)

Ah non sono un professionista delle presentazioni… quindi mi spaice se la mia performance non è delle migliori 😀

 

Arduino Mouse Glove

Avete mai pensato di controllare il cursore del mouse con i movimenti della mano?

Oppure vi è mai balenata in testa l’idea di fare un muose indossabile come un guanto? Oppure semplicemente siete curiosi di saperne di più dopo aver letto il titolo?

Per tutti gli appassionati di arduino vi presento l’ “Arduino Mouse Glove” un piccolo progetto che ho realizzato un pò per passatempo, un pò per passare un esame all’universitá (e prendere un bel voto :D)

Si tratta di un guanto che ci permette di muovere il mouse con il movimento della nostra mano.

Si tratta di un progetto in fase di sviluppo, quindi non tutte le caratteristiche sono state implementate, per esempio ancora si devono implementare i bottoni destro e sinistro del mouse, attualmente la parte implementata riguarda il movimento del cursore e l’invio/ricezione di feedback (dal computer all’arduino).

Continue reading Arduino Mouse Glove

Collegarsi a una rete wi-fi usando wpa_supplicant

In Questo breve articolo vi farò vedere come bastano pochi semplici comandi per collegarsi ad una rete wi-fi protetta utilizzando wpa_supplicant e wpa_passphrase.

Molti di noi oramai sono abituati ad usare NetworkManager, wicd, e simili per collegarsi a reti wi-fi, ma cosa fare se questi strumenti non sono disponibili? O magari per installarli dobbiamo collegarci a una rete wi-fi e questa è protetta?

Per gestire le reti wirelss da linea di comando su linux possiamo fare affidamento su due strumenti:

  • i wireless-tools, che contengono i comandi base per interagire con la nostra scheda senza fili (quali iwconfig e iwlist).
  •  wpa_supplicant (insieme a wpa_passphrase e altri comandi). uno strumento specifico per autenticarsi alle rete WPA/WPA2


Continue reading Collegarsi a una rete wi-fi usando wpa_supplicant

Blackberry z10: utilizzarlo per lo sviluppo su linux

Negli ultimi tempi i nuovi sviluppi di RIM e del suo Blackberry hanno acceso il mio interesse. Fino a un anno fa mai avrei pensato di farmi un device blackberry, e soprattuto mai avrei pensato che dopo essermelo fatto ne sarei rimasto estremamente soddisfatto. E invece oggi sono il felice possessore (complice anche una tariffa tim convenientissima) di un blackberry z10. I motivi che mi hanno spinto a scegliere uno z10 sono (oltre l’impossibilitá di trovare con la stessa tariffa, il galaxy s3):

  • L’acquisizione da parte di RIM di QNX
  • L’utilizzo di QNX RTOS come base per il loro nuovo sistema operativo
  • QNX è un sistema operativo di famiglia unix, real-time e microkernel aderente agli standard posix.
  • Il framework nativo per scrivere le applicazioni per blackberry è basato sulle QT (o meglio un framework scritto sopra le QT) e quindi si porgramma in C++.
  • L’ambiente di svilupoi e l’emulatore erano anche disponibili su Linux

Quindi ho iniziato a sviluppare utilizzando Linux e l’emulatore blackberry senza incontrare molti problemi di configurazione. Poi quando mi è arrivato il nuovo device è giunta l’ora di provare le mie applicazioni su un dispositivo reale 🙂 In questa guida non entro nello specifico di come installare un debug token, o come abilitare la modalitá debug del telefonino (quella la trovate su developer.blackbery.com) mi limito a spiegare cosa occorre fare per far vedere alla nostra distribuzione linux (se non lo fa gia) il device blackberry.

I telefonini blackberry si interfacciano al computer via usb, utilizzando un protocollo di rete, quindi per poter funzionare il kernel deve avere compilato (come modulo o builtin) aclune componenti per le schede di rete USB.

 

Continue reading Blackberry z10: utilizzarlo per lo sviluppo su linux

Gestire il disco con parted

Parted è un comando per gestire le partizioni di un disco da linea di comando (sicuramente molti di voi conosceranno gparted, il front-end grafico). In questo articolo vedremo come funziona questo comando, e i comandi principali per modificare le partizioni da un disco. Innanzitutto, vi sono due modalitá di utilizzo di parted:

  • interactive – viene lanciata una shell dove inserire i comandi
  • command line – i comandi vengono passati direttamente da linea di comando

In questo tutorial faremo principalmente riferimento alla modalitá interattiva. Ovviamente per utilizzarlo occorre essere autenticati come utente root. Quindi iniziamo con il lanciare il programma:

parted /dev/sdb

Dove /dev/sdb indica il device che noi vorremo andare a modificare (attenzione non dovete mettere anche il numero di partizione, quindi se provate a inserire per esempio /dev/sdb1 riceverete un errore).

Continue reading Gestire il disco con parted

NFS sul Raspberry Pi

Recentemente sono riuscito a mettere mano su una scheda raspberry pi. E giusto per prendere confidenza con la schedina, ho pensato di iniziare configurandola come file server usando il filesystem nfs.

 

Prima di iniziare un suggerimento: non usate come unitá condivisa la SD Card se non per qualche esperimento, in quanto le SD hanno un numero limitato di scritture (seppur altissimo), vi consiglio invece di usare un disco esterno da utilizzare come supporto di memorizzazione.

Continue reading NFS sul Raspberry Pi

Android lezione 11 – Ricevere gli SMS

Nella lezione precedente abbiamo visto come spedire un sms dal nostro android, ora come promesso vi spiegherò come riceverli. Per implementare la ricezione degli sms useremo un nuovo oggetto specifico di android. Il BroadcastReceiver. Si tratta di una classe astratta, che viene utilizzata dalle applicazioni android qualora queste vogliano ricevere dati dalle intent che vengono spedite dalla sendBroadcast().

 

Dal momento che le intent che si possono ricevere (o spedire) sono molte, possiamo istruire la nostra applicazione per rispondere solo ad alcune di esse. E questo lo si puó agevolmente fare  tramite il Manifest. In questo caso le intent che dovranno essere ricevute dal nostro BroadcastReceiver vanno inserite all’interno del tag chiamato appunto <receiver …> che viene utilizzato appunto per configurare questo tipo di oggetti. Quindi quello che dovremo aggiungere sarà:

Continue reading Android lezione 11 – Ricevere gli SMS

Errore Gentoo CONFIG_DEVTMPFS=y is required

Dopo l’ultimo aggiornamento della mia gentoo mi son ritrovato davanti al seguente errore subito dopo aver riavviato il pc

* CONFIG_DEVTMPFS=y is required in your kernel configuration
 * for this version of udev to run successfully.
 * This requires immediate attention.
 * ERROR: udev-mount failed to start
 * ERROR: cannot start udev as udev-mount would not start

Ovviamente questo messaggio di errore non permetteva il boot e quindi il pc era diventato inutilizzabile. La soluzione a questo problema è abbastanza semplice. In partica implica che nel kernel non è stata abilitata una opzione necessaria alla nuova versione di udev per funzionare. Quindi per risolverlo dobbiamo prima in qualche modo accedere al sistema, per fare questo scarichiamoci dal sito gentoo una iso del sistema minimale (quella che si usa normalmente per effettuare l’installazione va benissimo).

Poi una volta scaricata e masterizzata sul pc (ovviamente questo implica di avere o un pc con dual boot oppure avere comunque una macchina utilizzabile per scaricare la iso 🙂 ) riavviamo il pc bloccato con il cd appena masterizzato. Una volta caricato il sistema live,  dobbiamo prima di tutto chrootarci nel sistema non funzionante.

Per chi non lo sappesse chroot serve per cambiare la root del sistema, con una cartella specificata dall’utente. Per farlo dobbiamo nell’ordine:

  • Montare la partizione root del sistema linux installato
  • Montare eventuali partizioni di boot (se è separata dalla root, assicuratevi di montarla che è necessaria più avanti).
  • Collegare i filesystem speciali del sistema  (dev e proc)
  • Ifine effettuare il chroot.
Se non sapete bene come è strutturato il vostro disco o non lo ricordate, usate il comando cfdisk per aiutarvi, dando:
cfdisk /dev/sdX