Tag Archives: Linux

Dialog lezione 4 – Creazione di un menu

Dopo molto tempo, eccoci finalmente alla quarta lezione sulla creazione di interfacce utente utilizzando l’utility dialog (per le puntate precedenti vi rimando alla sezione Articoli a puntate del sito, raggiungibile da qui). In questa lezione ci occuperemo della creazione di un menú con diverse opzioni. Strumento che ci tornerá utile ogni qualvolta dovremo presentare agli utenti un certo numero di operazioni che possono essere effettuate. Un esempio di come appare il menu con le interfacce dialog, e mostrato nella figura sottostante:

Èsempio grafico di menu con dialog
Ecco come puo comparire un menu fatto con dialog

Continue reading Dialog lezione 4 – Creazione di un menu

Dual boot openIndiana e Linux con grub

Prima di procedere all’installazione di openindiana vi consiglio di:

  • annotare da qualche parte  (su un foglio, un file di testo) il contenuto del file /boot/grub/menu.lst, in particolare le righe che compongono la voce di grub che selezionate abitualmente.
  • Tenere a portata di mano anche una distro linux (per esempio vanno bene i cd di installazione di  arch o gentoo).

Questo perché quando installerete il sistema solaris questo sovrascriverá il vostro bootloader con il suo grub. E questo sarebbe anche poco male come problema, se non fosse che non sempre riesce a vedere le partizioni di boot di linux (alcune volte il problema é il file system non supportato, altre invece che il file system é supportato ma non trova nessun file).

Una volta terminata l’installazione di OpenIndiana, inserite il CD linux che vi eravate procurati precedentemente, e all’avvio del grub, invecce di selezionare una voce premete il tasto ‘c’ per entrare nella console dei comandi di grub e a questo punto inserirete le righe che avevate letto nel file /boot/grub/menu.lst, queste dovrebbero essere simili alle seguenti:

root (hdX,Y)
kernel /path/to/kernel options
initrd /path/to/initrd options

Notate che iinitrd non sempre é necessario, quindi alcune volte potrebbe non essere presente. Una volta inseriti questi comandi, nella minishell di grub potete dare il comando

boot

Se tutto é andato bene vi partirá il vostro linux. Ora identificate in quale partizione é stato installato OpenIndiana (usate cfdisk, fdisk, o gparted o il vostro tool di partizionamento preferito), annotate il device (nel mio caso era /dev/sda2), ora editate il file /boot/grub/menu.lst e inserite le seguenti righe:

title OpenIndiana
rootnoverify (hdX,Y)
chainloader +1

Dove vi ricordo che X é il numero del device, e qundi sda = hd0 sdb=hd1 etc, mentre Y é il numero della partizione quest’ultimo a differenza di linux parte da 0 quindi per esempio sda1 diventa hd0,0.

Con le righe appena viste diciamo a grub di andare nella partizione hdX,Y e caricare il bootloader che si trova al suo interno. Per finire dobbiamo reinstlalare il grub del nostro linux per poter rendere effettiva questa modifica, diamo quindi il comando:

grub-install --no-floppy /dev/sda

e il gioco é fatto (attenzione: /dev/sda e non /dev/sda1!) .

Installare Arduino su gentoo a 32Bit

Bene in questi giorni ho deciso di installare l’ide di arduino sulla mia macchina gentoo. Purtroppo a differenza di altre distro, l’installazione di questo tool, e la configurazione per fargli vedere la board é un operazione non immediata (soprattutto perché la documentazione a riguardo é poco aggiornata). Ma dopo due giorni di sbattimenti sono riuscito ad avere un ambiente “quasi” funzionante.

Continue reading Installare Arduino su gentoo a 32Bit

Dialog Lezione 3: Le Checklist (e le radiolist)

Questa volta dopo aver visto nelle prime due lezioni le input box e le messagebox, vediamo come realizzare delle checklist (e le radiolist, anche se l’articolo userá come esempio solo la checklist, dato che la sintassi é identica vi basterá sostituire il parametro –checklist con –radiolist) utilizzando le dialog.

La checklist viene utilizzata quando si vuole presentare all’utente una serie di opzioni da attivare (anche piú di una). Graficamente si presenta cosí:

(la radiolist ha un funzionamento simile, con la sola differenza che questa permetta la selezione di un solo parametro).

Continue reading Dialog Lezione 3: Le Checklist (e le radiolist)

Dialog Lezione 1 – Cosa é, e prima finestra

Bene ho deciso di inaugurare un nuovo capitolo nella sezione degli articoli a puntate, questa volta cerchero’ di introdurre uno strumento molto utile per chi scrive degli script bash (soprattutto se si tratta di installer o simili). Si tratta di un tool chiamato “dialog” che permette di creare delle interfacce visuali basate su ncurses.

Molti installer delle principali distribuzioni linux/unix sono scritti utilizzando questo programma. Per esempio l’installer di archlinux, di debian, etc.

Questo tool si presenta sotto forma di comando per la shell, quindi per vedere se lo avete installato provate a digitare il comando:

dialog

Continue reading Dialog Lezione 1 – Cosa é, e prima finestra

Android Lezione 8 – L’Options Menu

Dopo aver visto nella lezione 5 il context menu, che normalmente si utilizza quando vogliamo aprire un menu specifico per un oggetto (casella di testo, bottone, immagine, etc), ora introduciamo un nuovo tipo di menu che invece é piú legato all’applicazione, e si tratta per la precisione di quel menu che si ottiene premendo il pulsante del menu sul telefono. Un esempio e’ mostrato in figura:

Continue reading Android Lezione 8 – L’Options Menu

CUPS – Cosa fare se non viene vista la nostra stampante usb

Non so voi, ma a me e’ capitato piu volte di combattere con cups che non voleva saperne di vedere la mia stampante usb.

E alla fine i problemi si possono ricondurre a due casi distinti. Che spieghero’ come risolvere in questo articolo.

Prima di tutto controllate che lsusb riconosca la vostra stampante (il risultato se la vostra stampante viene rilevata, e simile al seguente):

Bus 004 Device 007: ID 04b8:082f Seiko Epson Corp. Stylus DX4050

Continue reading CUPS – Cosa fare se non viene vista la nostra stampante usb

Aiuto si é rotto il disco!!! – Come recuperare i dati da un unitá guasta

In questo articolo vi racconto la mia esperienza per recuperare dati da un hd danneggiato. Sperando di aiutare qualcuno che come me ha pensato per un momento di aver perso tutti i dati.

E dopo tantissimi anni, anche a me é successo il patatrak!!! (lo ammetto anche a causa mia 🙂 ). Stavo tranquillamente lavorando dal laptop, ad un tratto improvvisamente si spenge la scheda wi-fi (sulla mia arch succede di tanto in tanto). Purtroppo quanso si verifica questo tipo di problema, nemmeno si puo spegnere il portatile con il consueto halt (in quanto resterebbe freezato in fase di spengimento), quindi un po innervosito spengo nella maniera bruta, dall’interruttore!!!.

Quando questo problema si verifica, bisogna riavviare il pc un paio di volte tentando di accendere la wifi prima che linux avvia (normalmente riesco a farla partire al secondo/terzo tentativo). Comunque, riavvio e la wifi ancora non si accende, quindi un po innervosito cosa faccio? Lo spengo mentre sta finendo di caricare dati!!! E qui succede il danno al riavvio successivo…

Ops non c’e stato piu nessun riavvio!!! Disco morto!!! 3 minuti per caricare grub, una volta lanciato linux strani messaggi di errore tipo:

[ 729.867659] sd 0:0:0:0: [sda] Unhandled sense code
[ 729.867661] sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 729.867665] sd 0:0:0:0: [sda] Sense Key : Medium Error [current] [descriptor]
[ 729.867669] Descriptor sense data with sense descriptors (in hex):
[ 729.867671] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00

Ho tentato di lanciare da una live fsck per vedere se il problema era solo del file system danneggiato, ma dopo 5 minuti che non diceva nulla ho ricevuto un errore simile al seguente:

Error reading block xxxxxx (Attempt to read block from filesystem resulted in a short read )

Inoltre anche i test del bios del portatile sul disco fallivano.

La cosa piu brutta é che la partizione windows risultava parzialmente leggibile (windows non riusciva a partire, ma da una distro live i files si vedevano), mentre la partizione linux risultava completamente morta (e un tail -f sul logger del kernel mi mostrava continuamente l’errore “Unhandled sense code ….  Sense key: Medium Error”).

Continue reading Aiuto si é rotto il disco!!! – Come recuperare i dati da un unitá guasta

Android Lezione 6 – Le caselle di testo

In questa lezione vedremo come inserire e utilizzare una casella di testo per le nostre applicazioni. Grazie a questo componente potremo prendere del testo in input ed elaborarlo secondo le nostre esisgenze.

Come al solito l’applicazione di esempio si basa su quella delle lezioni precedenti, quindi se volete scaricatela da qua. Proseguiremo il progetto di esempio da dove lo abbiamo lasciato, aggiungendo una casella di testo nella quale inseriremo il nostro nome e modificheremo il comportamento del tasto Greetings, che ora ci saluterà chiamandoci per nome.

Anche in questo caso la dichiarazione dell’oggetto puo essere fatta sia a livello di XML che a livello di Codice runtime.

La classe che andremo ad utilizzare è la EditText. Vediamo subito cosa dobbiamo importare:

import android.widget.EditText

Continue reading Android Lezione 6 – Le caselle di testo

Masterizzare da riga di comando!

Tutti noi sappiamo masterizzare cd! Anche con linux vero? Ci stanno diversi frontend tipo: K3B, Brasero etc. E sono comodissimi da usare (li uso anche io).

Ma cosa succede se per un motivo qualunque non possiamo accedere all’interfaccia grafica? E abbiamo solo un un terminale con il suo cursore lampeggiante? O semplicemente: se vogliamo fare i “duri” e non usare questi tool grafici?

Beh questo articolo introduce i comandi fondamentali per masterizzare cd da riga di comando.
Vediamo prima di tutto i tool necessari:

  • wodim
  • genisoimage
  • dvd+rw-tools

Wodim è un programma utilizzato per scrivere dati su un cd/dvd, mentre genisoimage lo utilizziamo per creare delle immagini iso. Mentre i dvd+rw tools sono una serie di applicazioni utili per la creazione di dvd.

Continue reading Masterizzare da riga di comando!