29 novembre, 2009

Audio Kontrol 1 e Ubuntu Karmic Koala



Sono un felice possessore della scheda audio in oggetto ma purtroppo in ubuntu karmic sembra avere qualche problema. Infatti spesso, non appena inserito il cavo usb la nostra ubuntu smette di rispondere :(

Non so bene a cosa sia dovuto il problema anche se dai log (syslog) la causa sembra essere pulseaudio. Ad ogni modo ho trovato un workaround ed ho pensato di condividerlo :)

Soluzione
Prima di inserire il cavo usb della nostra Audio Kontrol 1, usate un lettore come totem per ascoltare un mp3 ad esempio per una ventina di secondi. Mentre totem riproduce il nostro mp3 inserite il cavo della Audio Kontrol 1 ed il gioco è fatto :) Uso questo workaround da circa un mese senza alcun problema :)

15 gennaio, 2008

Sincronizzazione segnalibri con firefox

Ho cercato tanto una estensione firefox che mi permettesse di sincronizzare i miei segnalibri a casa (su windows e su ubuntu) e a lavoro, ma fin'ora non avevo trovato nulla di veramente soddisfacente. Si esiste la google toolbar che, tra le altre cose, permette di usare i segnalibri di google direttamente in firefox, ma non mi ha mai convinto più di tanto anche perché sono abituato a tenere tutti i miei segnalibri in una barra a parte (cosa che non si può fare usando la google toolbar). Oggi finalmente mi sono imbattuto in una soluzione che sembra funzionare esattamente come avrei voluto che facesse: google browser sync



La soluzione quindi viene ancora una volta da google.

Come funziona?

In pratica questa comoda estensione usa il nostro account google (il nostro indirizzo gmail), per memorizzare le informazioni che decidiamo di sincronizzare tra le varie installazioni di firefox.
E' possibile sincronizzare:

  1. Cookies
  2. Passwords
  3. Bookmarks
  4. History
  5. Tabs and Windows
Provate e fatemi sapere ;)

12 dicembre, 2007

Bash: Come richiedere una password senza mostrarla sul terminale

In bash per richiedere l'input dell'utente si usa la funzione read. Ad esempio:

read -p "Inserisci il nome utente:" username

L'utente batte sulla tastiera il suo nome utente che verrà visualizzato a video e quando premerà il tasto invio la stringa verrà assegnata alla variabile shell $username. Cosa succede se vogliamo però richiedere una password? Di certo non vogliamo che questa venga visualizzata sul terminale. In questo caso è possibile usare il comando stty in questo modo

stty -echo #disabilitiamo l'output sul terminale
read -p "Inserisci la password:" password
stty echo #riabilitiamo l'output sul terminale

14 novembre, 2007

Guitar Rig perfettamente funzionante su linux! E' possibile?

Sono un linuxaro convinto e lo uso praticamente per tutto. Una cosa ancora mi lega al dual boot con windows: i software audio! In questi giorni però ho fatto un grande passo avanti per colmare questa lacuna. Grazie a wine e a wineasio una estensione per wine che ho scoperto da poco, uno dei software ai quali tengo di più, gira perfettamente sulla mia Ubuntu Gutsy. Ho deciso quindi di postare un breve tutorial per mostrare come ottenere l'ambito risultato.
I passi da seguire sono i seguenti:

  1. Installare il software necessario alla compilazione di wineasio
  2. Scaricare e compilare wineasio
  3. Configurare wine
  4. Installare Guitar Rig
  5. Suonare con la bava alla bocca godendo come un porco nel vedere il Guitar Rig sulla nostra Ubuntu box
  6. Ripetere periodicamente il passo 5 :)
Per compilare wineasio abbiamo bisogno dei pacchetti di sviluppo di wine e di jack che sono rispettivamente, wine-dev e libjack-dev. Dopo aver installato questi pacchetti preleviamo l'ultima versione dei sorgenti di wineasio da http://people.jacklab.net/edogawa/files/wineasio/
Estraiamo i pacchetti in una directory temporanea a digitiamo il comando make. Se la compilazione non da errori possiamo installare il pacchetto con il comando:
sudo make install
Ora dobbiamo configurare wine in modo che utilizzi i driver corretti per l'audio. Prima di tutto eseguire il comando:
regsvr32 wineasio.dll

Lanciamo il comando winecfg e impostiamo i parametri per l'audio in questo modo:


Bisogna selezionare il driver jack e quello alsa. Ora avviamo jack. Quindi non ci rimane che installare il Guitar Rig e impostare come driver audio wineasio. Per ottenere migliori prestazioni è conveniente installare il kernel realtime (linux-image-rt in Gutsy).

03 novembre, 2007

Tip: vim e indentazione del codice python

Spesso il codice python che troviamo in rete è indentato usando 4 spazi piuttosto che ad esempio un carattere di tabulazione. Io generalmente preferisco la tabulazione agli spazi. Convertire dall'una all'altra indentazione è in realtà piuttosto semplice, così semplice che ci ho pensato davvero tardi ouch ;)
Basta infatti una semplice sostituzione con vim:


:%s/    /\t/g


Ecco, tutto qui :)

24 settembre, 2007

Tip: Disabilitare il bip della console!

A lavoro non ho il mio laptop ma un vecchio desktop che ho riportato a nuova vita con Ubuntu naturalmente ;)

Da un bel po di tempo ero infastidito dal maledetto bip del terminale che veniva emesso ogni volta che un mio dito (uno qualsiasi :) ) andava a premere sul tasto tab.

Oggi mi son deciso a trovare una soluzione e la scrivo qui sul blog, magari sarà utile a qualcuno di voi. Basta usare il comando:

$ xset b off

nel terminale. Per farlo eseguire in modo automatico ogni volta che apriamo una console è consigliabile aggiungere una riga alla fine del file ~/.bashrc con il suddetto comando.

16 settembre, 2007

Come compilare una release candidate del kernel

Ho da qualche giorno installato la gutsy aggiornando la mia perfettamente funzionante feisty e purtroppo il kernel 2.6.22 fornito con la gutsy mi ha dato qualche noia di non poco conto. Per qualche strano motivo, avviando il pc usando questa versione del kernel dopo qualche minuto la macchina si spegne "violentemente" come se venisse a mancare tutto ad un tratto l'alimentazione. Il problema sembra sia causato dalla gestione dell'acpi nel kernel. Infatti passando il paramentro acpi=off al boot, il problema non si pone. Ma disattivare l'acpi significa rinunciare ad alcune importanti funzionalità come ad esempio la gestione dello scaling della frequenza della cpu, funzionalità fondamentale per il mio laptop. In ogni modo ho segnalato il bug su launchpad nella speranza che venga risolto prima della release ufficiale della gutsy.

Comunque tornando all'oggetto del titolo del post, per verificare se il problema è stato risolto nella versione di sviluppo del kernel ho deciso di compilare la versione di sviluppo corrente (nel momento in cui scivo la 2.6.23rc6).

Di cosa ho bisogno?

Prima di iniziare assicurarsi di aver installato i pacchetti bulid-essential, kernel-package e fakeroot. Il primo è necessario alla compilazione vera e propria mentre gli altri due serviranno a renderci la vita un po più semplice. A questo punto occorre scaricare l'ultima versione stabile del kernel e la patch per la versione di sviluppo. Nel mio caso l'ultima versione stabile è la 2.6.22.

N.B.
La patch può essere applicata solo al ramo principale! In pratica non può essere usata ad esempio la versione 2.6.22.6 ma solo la 2.6.22.

La versione corretta da scaricare e sulla quale applicare la patch è in genere linkata a destra della patch con la lettera B.

Quindi procediamo e scarichiamo il file linux-2.6.22.tar.bz2 e la patch cioè il file patch-2.6.23-rc6.bz2

Come procedo per la compilazione?

Prima di tutto occorre estrarre l'archivio con i sorgenti del kernel e applicare la patch. Creiamo una directory nella nostra home che chiameremo tmp e estraiamo i sorgenti del kernel. A questo punto avremo la directory ~/tmp/linux-2.6.22. Decomprimiamo la patch e copiamola all'interno di ~/tmp/linux-2.6.22. Applichiamo la patch con:

patch -p1 < patch-2.6.23-rc6  
A questo punto è fortemente consigliato importare la configurazione del kernel correntemente in uso o dell'ultima versione installata. Per farlo basta copiare il file

cp /boot/config-2.6.22-11-generic ~/tmp/linux-2.6.22/.config
Nel vostro caso la versione potrebbe essere differente.

A questo punto basta usare il comando:

make-kpkg --rootcmd fakeroot kernel_image

Probabilmente nella release candidate del kernel saranno state aggiunte nuove opzioni di configurazione non presenti nel file che abbiamo copiato dalla directory /boot. Per queste nuove opzioni vi verranno poste delle domande. In genere se non si hanno esigenze particolari è conveniente mantenere i valori di default.

Se tutto va a buon fine al termine dell'esecuzione del comando dovreste ritrovarvi un file .deb con il nuovo kernel pronto ad essere installato.

Nel mio caso purtroppo il problema non è stato risolto :( Non mi resta che confidare nei valorosi sviluppatori di Ubuntu.

Buona sperimentazione ;)

P.S.
Dopo aver installato il kernel è necessario generare l'immagine del disco ram iniziale con il
comando:

update-initramfs -c -k 2.6.23-rc6

e quindi aggiornare la voce relativa nel file di configurazione di grub in /boot/grub/menu.lst

In realtà quest'ultima operazione avrebbe dovuto essere automatica ma evidentemente per qualche motivo non ha funzionato.

17 luglio, 2007

Lode a Mark

Di solito non sono uno a cui piace idolatrare e l'ho fatto davvero pochissime volte ma in questo caso una persona merita tutta la mia ammirazione: Mark Shuttleworth.

Quest'uomo infatti non solo ha creato una delle migliori distribuzioni libere in circolazione che ha conquistato (e sta conquistando) il favore di un numero sempre crescente di utenti, ma sembra essere l'unico personaggio di rilievo del mondo open source in grado di fare sempre le mosse giuste per diffondere "di violenza" il software libero. Questo senza nulla togliere agli altri grandi nomi che hanno dato notevoli contributi allo sviluppo e alla diffusione dell'etica e della filosofia libera, ma l'approccio di Mark si sta rivelando decisamente più vincente.

A volte le sue scelte sono state molto criticate (come quella di includere i drivers proprietari in Ubuntu) ma io ho sempre creduto nella sua buona fede e nelle sue idee lungimiranti.

Nascono così progetti importanti come quello di Dell, Gobuntu e il Laptop Libero che vogliono quasi intimare alle varie aziende: "Si ubuntu usa i drivers proprietari ma solo per non fare un torto ai suoi utenti. State attente perché stiamo lavorando al modo di boicottare i vostri prodotti chiusi!"

Le guerre si combattono con le politiche aggressive (per quanto sia possibile naturalmente) e non con idee timide e poco flessibili.

Forza Mark, hai tutto il mio appoggio!