Visualizzazione post con etichetta Tips 'n' Tricks. Mostra tutti i post
Visualizzazione post con etichetta Tips 'n' Tricks. Mostra tutti i post

sabato 18 aprile 2009

How To - Attivare l'audio attraverso l'uscita hdmi del computer su linux


Computer nuovo, interfacce nuove! E bisogna imparare ad usarle, gestirle e farle funzionare...



Con mio sommo stupore, nella versione 9.04 di Ubuntu, non è stato necessario nessun tipo di hacking per far funzionare l'uscita hdmi per abilitare un secondo monitor.
Avendo una scheda grafica Nvidia, è bastato aprire il centro di controllo video e selezionare il monitor esterno, autorilevato subito dopo aver connesso il cavo al display.
L'hdmi però permette molto altro: ad esempio l'audio può essere anch'esso incanalato attraverso questo cavo all'impianto stereo che usate con la tv, consentendo la riproduzione 5.1 ed evitando di formare troppi inutili intrecci di cavi...

Qui però le impostazioni di default del sistema operativo e del comparto audio non sono sufficienti...
Legggendo un po' in giro, e in particolare questo post su ubuntuforums.org, si scopre che basta aggiornare Alsa all'ultima versione disponibile per avere il tutto funzionante.

Per rendere le cose ancora più semplici, un utente del forum ha preparato uno script per installare il necessario in maniera del tutto automatica, eccolo qui.

Una volta installato, sarà sufficiente, aprire il pannello audio e spuntare la voce IEC958 come mostrato di seguito



Se non si dovesse ancora sentire l'audio, si può provare a giocare con le impostazioni presenti in Sistema>Preferenze>Audio, oppure basta chiedere :)

Unico neo, la faccenda sembra non funzionare con Firefox, mentre funziona egregiamente con Vlc, Mplayer & Co.

---
M

Read more!

domenica 14 dicembre 2008

How to - gestire allegati di grandi dimensioni su linux


Vi è mai capitato di dover spedire via mail file di grandi dimensioni, che superano i limiti concessi dalle caselle di posta elettronica come quella di gMail o di quasi tutti i provider?



Una possibilità è ricorrere a siti di filesharing tipo megaupload o rapidshare, ma più o meno tutti hanno grosse limitazioni di banda, sono zeppi di pubblicità e non sono molto affidabili (e infatti scrivo questo post proprio dopo un esasperante tentativo di ricevere degli appunti in formato pdf, fallito miseramente a causa di megashare, che decide di sua sponte di tranciare la connessione a caso rendendo il file inutilizzabile).

Un'altra possibilità, a mio avviso più elegante, è offerta da due ottimi strumenti disponibili su tutti i sistemi Unix: split e cat... Vediamo come!

Split - lo dice anche il nome, serve a tagliare i file in altri di dimensioni più contenute...per decidere la lunghezza in byte dei file prodotti, basta usare il suffisso -b.

Ad esempio:

split -b 1024 prova.pdf


restituirà dei file (che verranno chiamati di default xaa,xab,xac...) di 1024 byte (1KB) di lunghezza. Esistono anche dei suffissi per diminuire il numero di cifre da scrivere...
Ecco che con -b 5M avremo file da cinque megabyte, con -b 7K, da 7 KB.

A questo punto sarà sufficiente selezionare una dimensione accettata dalla casella di posta del ricevente (5MB andranno benissimo nella maggior parte dei casi) e spedire ciascun file in una mail separata in modo da non incorrere in messaggi di errore.

Cat - il ricevente non dovrà far altro che salvare tutti gli allegati in una directory e posizionarsi con una shell all'interno di essa.
A questo punto sarà sufficiente lanciare il comando

cat x* > prova.pdf

per ottenere nuovamente il file di partenza.
E' chiaro che la procedura è la medesima per qualsiasi tipo di file con qualsiasi estensione... potreste, ad esempio, voler creare un archivio compresso con tar, splittarlo, spedirlo per mail, ricostruirlo e, infine, scompattarlo.

L'enorme vantaggio è dato dal fatto che userete tutta la laghezza di banda sia un upload che in download, con la garanzia che i dati vengano trasmessi senza problemi e senza interruzioni


Read more!

lunedì 10 novembre 2008

How to - Linux e connessione a Internet con router Alice


Un mio amico mi ha chiesto di provare linux sul suo computer e io, tutto felice, mi sono recato a casa sua con un cd bello fiammante contenente una Ubuntu 8.04, perfetta anche per chi è alle prime armi...
Finita l'installazione abbiamo cominciato a provare le varie applicazioni, ma, appena tentavo di connettermi a internet, mi ritrovavo la pagina selezionata pietosamente caricata per metà!


Quello che farei volentieri al router telecom!

Dopo una discreta figura di m***a (ma non funzionava senza problemi, stò linux, eh?! - da parte dell'amico...), cercando di capire quale impostazione di Network Manager fosse sputtanata, visto che pingare pinga, il dns funziona e whois pure, decido di provare con il mio portatile di cui conosco i file di configurazione a memoria ormai, ma... NADA... stessa schifezza...

A questo punto mi sorge un dubbio tremendo... ma non sarà che il router blocca qualcosa?(anche se non avrei proprio saputo cosa, ma ormai ero disperato)
Faccio un giro veloce su Google partendo con winsozz e, cosa scopro?
Che questi imbecilli di Telecom hanno deciso di utilizzare uno stack tcp non standard e così i loro pacchetti non sono incapsulati correttamente.
Su winsozz la faccenda funziona perchè tutti i pacchetti vengono duplicati (proprio una meraviglia di soluzione, eh)

Su linux la soluzione è, per fortuna, la modifica di un paio di flag in un file di configurazione...

Arpite /etc/sysctl.conf e modificate questi parametri così:

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_ecn= 0


Riavviate il computer e... magia! Funziona!

A questo punto ho un paio di osservazioni da fare:

1) questa soluzione la consiglio solo se usate esclusivamente quella connessione a internet... se, ad esempio, avete un portatile e vi connettete a molte reti, consiglio di lanciare questi comandi da terminale prima di connettervi al router Alice:

sudo echo 1 > /proc/sys/net/ipv4/tcp_syncookie
sudo echo 0 > /proc/sys/net/ipv4/tcp_window_scaling
sudo echo 0 > /proc/sys/net/ipv4/tcp_ecn


In modo che queste impostazioni vengano perse al riavvio.

2)Questo problema sembra affliggere solo il baracchino bianco, se avete la versione "baracchino nero e rosso", non dovreste aver problemi... sono sicuro che abbiano anche dei codici identificativi diversi, ma se state usando quelle caricature di router, di sicuro non ci avete mai fatto caso nemmeno voi.

3)La soluzione definitiva è sostituire quelle merdacce con un router serio, che non darà problemi (e magari avrà anche un bel po' di features interessanti tipo port forwarding, log, firewall e un'interfaccia utente appena usabile!)

A ben pensarci, la soluzione definitiva è cambiare gestore telefonico, ma questa è un'altra storia...

---
M

Read more!

mercoledì 5 novembre 2008

How to - webcam & tv tuner at the same time with Ubuntu 8.10


Do you own a tv tuner and you would like to use it under linux, but you can't 'cause it conflicts with your system webcam and you are going to get crazy with modules and nodes?
Ubuntu 8.10 (and the 2.6.27 linux kernel in particular) are a lifebelt in this sense!


It works! :D

A better handling of videodev modules and, consequently, a smarter creation of /dev/video nodes from the kernel, let all of us use multiple input video devices at the same time!
My devices are the built in webcam in an Asus A6j laptop, that works like a charm with the Syntek drivers embedded in this release, and a Terratec Tv tuner model Cinergy Hybrid T usb XS, that works with the em28xx-dvb modules.

Since on the net is pretty difficult to find a complete guide (I couldn't find one...) I've decided to write a couple of lines about it.

The procedure is mainly described in mcentral.de, then some good "old" googling, searching for minor fixes has completed the frame.

First of all, a consideration: this procedure works well with my hardware, since I've done no testing with other configurations I cannot guarantee that it will suite for your hw... However I will be glad to try to solve any problem that could come out e I will be even more happy to have feedback on working configurations!

3,2,1...Let's go!

We will need some software during the procedure, it is better to install it first: cheese for the webcam, kaffeine for the tv tuner (for the dvb-t transmissions, to be precise), mercurial to download the driver's sources and build-essential for all the tools needed for compiling.

Note that Kaffeine is not the only software capable of visualizing the digital straming from the tv tuner, but, imho, it is the simplest, more intuitive and more functional piece of software that you can find for this scope!

You can install everything at once, by opening a terminal and paste:

sudo apt-get install kaffeine build-essential cheese mercurial

Now you can download the sources for the tv tuner with this command

hg clone http://mcentral.de/hg/~mrec/v4l-dvb-experimental

and move to the downloaded directory

cd v4l-dvb-experimental

We could now compile with the classic make && make install commands, but there is a script (build.sh) that is designed exactly for this scope, it's up to you to chose which way to use.

With the script (that, obviously needs admin rights) the commands are:

sudo ./build.sh build

for compiling and then

sudo ./build.sh install
sudo ./build.sh load


to load them in the kernel.

Unfortunately with both methods, here come the problems: when you start compiling, the compiler breaks with this error message (I've cut'n'pasted just the last lines):

...

make: *** [default] Error 2
cp: cannot stat `drx3973d/drx3973d.ko': No such file or directory
cp: cannot stat `tvp5150/tvp5150.ko': No such file or directory
cp: cannot stat `lgdt3304/lgdt3304.ko': No such file or directory
cp: cannot stat `zl10353/zl10353.ko': No such file or directory
cp: cannot stat `cx25843/em28xx-cx25843.ko': No such file or directory
cp: cannot stat `xc3028/tuner-xc3028.ko': No such file or directory
cp: cannot stat `xc5000/tuner-xc5000.ko': No such file or directory
cp: cannot stat `em28xx.ko': No such file or directory
cp: cannot stat `em28xx-audio.ko': No such file or directory
cp: cannot stat `em28xx-aad.ko': No such file or directory
cp: cannot stat `em28xx-audioep.ko': No such file or directory
cp: cannot stat `em28xx-dvb.ko': No such file or directory
cp: cannot stat `qt1010/qt1010.ko': No such file or directory
cp: cannot stat `mt2060/mt2060.ko': No such file or directory


The solution is actually simple, you have to copy three files from kernel sources.
Let's download the sources with

sudo apt-get install linux-source

move to /usr/src and unarchive the downloaded package (io use nautilus with admin rights 'cause I'm used to, but tar -xjvf is perfect too!)

When the archive is extracted, copy the files with

sudo cp linux-source-2.6.27/drivers/media/dvb/dvb-core/*.h linux-headers-2.6.27-7-generic/drivers/media/dvb/dvb-core/
sudo cp linux-source-2.6.27/drivers/media/dvb/frontends/lgdt330x.h linux-headers-2.6.27-7/drivers/media/dvb/frontends/
sudo cp linux-source-2.6.27/drivers/media/video/msp3400-driver.h linux-headers-2.6.27-7/drivers/media/dvb/frontends/


(of course the kernel number may be different depending on your kernel version!)

and, after coming back to the directory that contains the drivers (v4l-experimental), you can execute the compiling procedure once again.

When you have done, control whether the module has been correctly installed in the kernel with

lsmod | grep em28xx

If nothing comes out, it is sufficinet to reload the module with

sudo modprobe em28xx

We have almost done! ...you have now to download the correct firmware (that will be saved on the hd, not writed in the tuner memory!) for your tv tuner...
Let's move to /lib/firmware

and download the correct firmware with

sudo wget http://konstantin.filtschew.de/v4l-firmware/FIRMWARE

where, insted of FIRMWARE, you have to insert the name of the correct firmware for your device. There are four different firmware versions: firmware_v1.tgz, firmware_v2.tgz, firmware_v3.tgz and firmware_v4.tgz
In theory the highest the number the better the firmware (since it is more recent), but Terratec model Cinergy hybrid T XS needs version 3 (and a small group of those devices, pricipally the French version, recognizable from the ID 0ccd:005e with the command lsusb, need version 2 of the firmware).
However it is not a big deal to try one firmware and, eventually, change it with another one.

No it is sufficient to plug the tv tuner and, launching kaffeine you will find an extra button for digital tv (and by pressing "C" you can open the frequency scanner to tune the device and find all the channels).

Those are the results of tail -f /var/log/messages when the device is plugged after the modules have been correctly loaded:


... em28xx: new video device (0ccd:005e): interface 0, class 255
... em28xx: device is attached to a USB 2.0 bus
...
... attach_inform: tvp5150 detected.
... tvp5150 3-005c: tvp5150am1 detected.
... successfully attached tuner
... em28xx #0: V4L2 VBI device registered as /dev/vbi0
... V4L2 device registered as /dev/video1
... em28xx-audio.c: probing for em28x1 non standard usbaudio
... em28xx-audio.c: Copyright (C) 2006 Markus Rechberger
... em2880-dvb.c: DVB Init
... register disabled
... DVB: registering new adapter (em2880 DVB-T)
... DVB: registering frontend 0 (Zarlink ZL10353 DVB-T)...
... input: em2880/em2870 remote control as /devices/virtual/input/input10
... em28xx-input.c: remote control handler attached
... em28xx #0: Found Empia Hybrid ATSC (em2882)


A guide for using the analog receiver of the Cinergy Hybrid device will be posted as soon as I find all the info to make it work properly.

So, now more than anytime, stay tuned! :D

---
M

Read more!

How to - webcam & scheda tv in contemporanea su Ubuntu 8.10


Avete una scheda tv e siete impazziti a farla andare d'accordo con la vostra webcam fino ad ora? Per fortuna Ubuntu 8.10 (e in particolare il nuovo kernel 2.6.27 integrato in questa distribuzione) ha grosse novità al riguardo!



Una gestione più razionale dei moduli relativi alle periferiche di input video, con conseguente creazione dei nodi corretti in /dev/video da parte del kernel, permette infatti di compilare e caricare (e usare!) contemporaneamente i driver per vari dispositivi video, nel mio caso una webcam integrata sul portatile Asus, perfettamente funzionante coi driver syntek che si trovano di default in questa release di Ubuntu e una scheda tv della Terratec, modello Cinergy Hybrid T usb XS, che funziona con i moduli em28xx-dvb.

Siccome su internet è abbastanza difficile trovare una guida completa (io non ne ho trovate...) ho pensato di scrivere due righe per tutti...

Il procedimento su cui mi baso è tratto principalmente da mcentral.de e poi da un po' di sano Googling alla ricerca di possibili soluzioni agli errori.

Premetto che la procedura qui riportata funziona alla perfezione per il mio hardware, ma che non ho eseguito nessun test al di fuori della configurazione descritta sopra, non è detto quindi che sia valida per tutti... sarò però lieto di cercare di riolvere assieme a voi eventuali problemi che dovessero capitare e sarò ancora più felice se vorrete postare le configurazioni funzionanti con la procedura.

3,2,1...Si comincia!

Prima di tutto dovete installare alcuni componenti base sulla vostra linux box: cheese per la webcam, kaffeine per usare la scheda tv (per le trasmissioni dvb-t, ossia il digitale terrestre, per la precisione), mercurial per scaricare i sorgenti dei driver e build-essential per avere tutti gli strumenti base per la compilazione.

Nota: Kaffeine non è l'unico programma in grado di usare il flusso video proveniente dalla scheda tv, ma, a mio avviso, è quello più semplice, intuitivo e funzionale!

Per installarli tutti in un solo colpo, aprite un terminale e digitate:

sudo apt-get install kaffeine build-essential cheese mercurial

A questo punto, sempre da terminale, scaricate i sorgenti dei driver per la scheda tv con

hg clone http://mcentral.de/hg/~mrec/v4l-dvb-experimental

e posizionatevi nella directory appena scaricata con

cd v4l-dvb-experimental

Potremmo adesso procedere con la solita compilazione manuale a base di make e make install, ma uno script già bello e pronto (build.sh) permette di installare facilmente i driver, scegliete voi quale strada preferite seguire.

Con lo script (che ovviamente necessita dei privilegi di amministratore per funzionare) servono questi comandi:

sudo ./build.sh build

per compilare i moduli e, successivamente

sudo ./build.sh install
sudo ./build.sh load


per caricarli nel kernel.

Purtroppo, sia che stiate usando il tradizionale make, sia che abbiate deciso per lo script, qui arrivano i problemi: al momento della compilazione, viene restituito un messaggio di errore di cui riporto solo le ultime righe:

...

make: *** [default] Error 2
cp: cannot stat `drx3973d/drx3973d.ko': No such file or directory
cp: cannot stat `tvp5150/tvp5150.ko': No such file or directory
cp: cannot stat `lgdt3304/lgdt3304.ko': No such file or directory
cp: cannot stat `zl10353/zl10353.ko': No such file or directory
cp: cannot stat `cx25843/em28xx-cx25843.ko': No such file or directory
cp: cannot stat `xc3028/tuner-xc3028.ko': No such file or directory
cp: cannot stat `xc5000/tuner-xc5000.ko': No such file or directory
cp: cannot stat `em28xx.ko': No such file or directory
cp: cannot stat `em28xx-audio.ko': No such file or directory
cp: cannot stat `em28xx-aad.ko': No such file or directory
cp: cannot stat `em28xx-audioep.ko': No such file or directory
cp: cannot stat `em28xx-dvb.ko': No such file or directory
cp: cannot stat `qt1010/qt1010.ko': No such file or directory
cp: cannot stat `mt2060/mt2060.ko': No such file or directory


Fortunatamente, cercando un po' in rete, la soluzione si riduce a copiare un paio di file dal sorgente del kernel.

Scarichiamo quindi i sorgenti del kernel con

sudo apt-get install linux-source

a questo punto spostiamoci in /usr/src e scompattiamo l'archivio compresso appena scaricato (io lo faccio da nautilus con privilegi di amministratore per abitudine, ma anche il buon vecchio tar -xjvf va benissimo!)

Una volta estratto l'archivio contenente i sorgenti, copiamo i tre file necessari alla corretta compilazione

sudo cp linux-source-2.6.27/drivers/media/dvb/dvb-core/*.h linux-headers-2.6.27-7-generic/drivers/media/dvb/dvb-core/
sudo cp linux-source-2.6.27/drivers/media/dvb/frontends/lgdt330x.h linux-headers-2.6.27-7/drivers/media/dvb/frontends/
sudo cp linux-source-2.6.27/drivers/media/video/msp3400-driver.h linux-headers-2.6.27-7/drivers/media/dvb/frontends/


(naturalmente la versione del kernel può variare da quella specificata!)

e, dopo essere ritornati nella directory contenente i driver (v4l-experimental), eseguiamo nuovamente i passaggi di compilazione.

Una volta fatto controllate che il modulo sia correttamente installato nel kernel con

lsmod | grep em28xx

Se non compare nulla, basta caricare il modulo con

sudo modprobe em28xx

Abbiamo quasi finito... si tratta ora di scaricare il firmware corretto (che verrà salvato su hard disk, non scritto nella periferica!) per la vostra scheda tv...
Spostiamoci quindi in /lib/firmware

e scarichiamo il firmware corretto con

sudo wget http://konstantin.filtschew.de/v4l-firmware/FIRMWARE

dove, al posto di FIRMWARE dovrete inserire il nome del firmware corretto per la vostra periferica.
Esistono, ad oggi, quattro firmware scaricabili: firmware_v1.tgz, firmware_v2.tgz, firmware_v3.tgz e firmware_v4.tgz.
In linea di principio quello con il numero più alto è il più recente e quindi teoricamente il migliore, ma le schede tv serie Cinergy hybrid T XS hanno bisogno del firmware versione 3 (e un sottogruppo di queste schede, principalmente destinate al mercato francese, riconoscibili per l'ID 0ccd:005e con il comando lsusb, necessitano della versione 2).
In ogni caso non farete un gran danno a provare un firmware ed eventualmente a sostituirlo con un altro.

A questo punto basta attaccare la scheda tv (nel mio caso usb) e in kaffeine troverete un bottone extra preposto alla tv digitale (e premendo "C" potrete passare alla sintonizzazione dei canali, pratica da effettuare la prima volta).

Questi sono i risultati di tail -f /var/log/messages quando la periferica viene connessa dopo che i moduli sono stati caricati:


... em28xx: new video device (0ccd:005e): interface 0, class 255
... em28xx: device is attached to a USB 2.0 bus
...
... attach_inform: tvp5150 detected.
... tvp5150 3-005c: tvp5150am1 detected.
... successfully attached tuner
... em28xx #0: V4L2 VBI device registered as /dev/vbi0
... V4L2 device registered as /dev/video1
... em28xx-audio.c: probing for em28x1 non standard usbaudio
... em28xx-audio.c: Copyright (C) 2006 Markus Rechberger
... em2880-dvb.c: DVB Init
... register disabled
... DVB: registering new adapter (em2880 DVB-T)
... DVB: registering frontend 0 (Zarlink ZL10353 DVB-T)...
... input: em2880/em2870 remote control as /devices/virtual/input/input10
... em28xx-input.c: remote control handler attached
... em28xx #0: Found Empia Hybrid ATSC (em2882)

Presto una guida per l'uso della parte di ricezione analogica di questa scheda (appena trovo tutte le informazioni per farla funzionare correttamente!)
---
M

Read more!

giovedì 2 ottobre 2008

Cern Root-System - How to


Avete mai avuto bisogno di un potente strumento di analisi dati e vi siete trovati a installare Root, lo strumento di analisi dati utilizzato anche al CERN? No? ...beati voi che non fate fisica :D



Per i compagni di girone infernale invece, segnalo la possibilità di installare i pacchetti debian per Ubuntu direttamente dal repo ufficiale, dato che compilare il programma, coi suoi oltre 20MB di sorgente e le infinite dipendenze, non è proprio immediato.

Tutto quello che dovete fare è aggiungere queste righe al file /etc/apt/sources.list:

##cern/root
deb http://mirror.phy.bnl.gov/debian-root/ubuntu gutsy main contrib

come, tra l'altro, è segnalato anche sul sito ufficiale. A questo punto, però, manca la chiave gpg di autenticazione dei pacchetti; purtroppo il comando consigliato nella documentazione ufficiale porta a un errore...

I comandi corretti da dare da terminale sono questi:

gpg --keyserver subkeys.pgp.net --recv-keys 7AD9343B6620D4F5

e poi:

gpg -a --export 7AD9343B6620D4F5 | sudo apt-key add -

A questo punto dovrebbe essere comparso un "OK" sul terminale.
Sarà sufficiente lanciare i comandi:

sudo apt-get update
sudo apt-get install root-system root-plugin*


Per avere l'ultima versione stabile di Root pronta e in attesa di dati!

---
M


Read more!

martedì 12 agosto 2008

How to - Correct the installation error of Mathematica


If you tried to install Mathematica 6.0 on a fresh installed linux box, you've probably got this error:


Error: The installer was unable to check for a valid password file. Your
Mathematica installation may be incomplete or corrupted.

Installation failed. See /home/m/.Wolfram/Mathematica/6.0/InstallErrors.


But the activation password is supposed to be inserted later on, so what the hell is going on? The solution is, fortunately, just the installation of a small missing package!

The fact is that Mathematica is not able to find library libstdc++.so.5, essential for the program to function.
You just have to open a shell and type:

sudo apt-get install libstdc++5 libstdc++6 libstdc++6-4.2-dev


to get all the library needed.
It will be sufficient to start the installation once again to have the program installed without problems!

---
M

Read more!

How to - Correggere l'errore all'installazione di Mathematica


Se avete provato a installare Mathematica 6.0 su una linux box appena installata, vi potrebbe essere capitato questo errore:


Error: The installer was unable to check for a valid password file. Your
Mathematica installation may be incomplete or corrupted.

Installation failed. See /home/m/.Wolfram/Mathematica/6.0/InstallErrors.


Peccato che la password di attivazione venga richiesta in un momento successivo rispetto all'installazione... ma per fortuna si tratta solo di installare un pacchetto mancante!

In pratica Mathematica non riesce a trovare la libreria libstdc++.so.5, indispensabile per la corretta installazione del programma.
Basterà aprire una shell e digitare:

sudo apt-get install libstdc++5 libstdc++6 libstdc++6-4.2-dev

per ottenere tutte le librerie necessarie.
A questo punto basta ripetere l'installazione perchè questa vada a buon fine!

---
M

Read more!

How to - Modificare un pacchetto debian esistente


Vi sarà capitato di aver trovato o creato un pacchetto debian che non è stato realizzato perfettamente o che in qualche maniera necessita di un piccolo ritocco...
Non è assolutamente necessario ricrearlo da capo!

I pacchetti debian sono degli archivi tarball con una struttura ben definita: contengono un file di testo, debian-binary, con il tipo di pacchetto debian utilizzato e due archivi: control.tar.gz e data.tar.gz
che sono rispettivamente l'archivio in cui vengono tenuti i file di controllo (dipendenze, script di installazione, etc.) del pacchetto e l'archivio con i file veri e propri che dovranno essere copiati sul computer nelle varie directory per far funzionare il programma.

Abbiamo detto che il file .deb è un archivio in tutto e per tutto e infatti è possibile esplorare il suo contenuto semplicemente con archive manager o un qualsiasi gestore di archivi.

Ma cosa succede quando andate a modificare parte del suo contenuto? Il finimondo! Infatti gdebi o qualsiasi altro metodo di installazione del pacchetto, dopo una veloce analisi, si accorgerà della manomissione, restituendo un messaggio d'errore.

Per fortuna la soluzione è molto semplice!
Tra i mille modi possibili di realizzare un pacchetto debian, uno di quelli che usa il minor numero di aiuti possibili è la creazione manuale di tutti i file e le directory contenuti nel pacchetto e il successivo utilizzo del comando dpkg --build.

Per usare questo comando la convenzione è la seguente:

1) creare una directory di lavoro contenente una directory col nome DEBIAN (mi raccomando, il nome deve essere ESATTAMENTE quello, scritto in maiuscolo) nella quale metteremo i file di controllo.

2) creare, accanto alla directory DEBIAN, tutte le directory, sottodirectory e file che andranno copiate nel computer quando si installa il pacchetto (e.g. se il mio programma, per funzionare, ha bisogno del file pippo in /usr/local/bin, allora sarà sufficiente creare una directory usr accanto a DEBIAN, dentro a usr creare local, poi bin e infine copiarci dentro il file pippo)

Nel nostro caso, però, dobbiamo solo modificare un pacchetto già esistente e quindi i passi da compiere sono ancor più semplici!

1) creiamo una cartella di lavoro (e.g. prova)

2) usando archive manager, scompattiamo al suo interno il pacchetto deb da modificare.

3) cancelliamo il file debian-binary e scompattiamo i due archivi control.tar.gz e data.tar.gz e cancelliamo gli archivi compressi.

4) rinominiamo la directory control in DEBIAN.

5) facciamo tutte le modifiche del caso, aggiungendo e togliendo file, modificando il file control nella cartella DEBIAN secondo le nostre necessità e cancelliamo, una volta finito, tutti i file il cui nome finisce con una tilde (~) che si sono eventualmente creati durante i nostri maneggiamenti.

6) apriamo una shell e posizioniamoci nella directory contenente la nostra directory di lavoro, a questo punto lanciamo il comando:

dpkg --build nomedirectory nomepacchetto

dove nomedirectory è il nome della nostra directory di lavoro (nel nostro caso prova) e nomepacchetto è il nome del pacchetto debian da generare (sarebbe il caso che il nome seguisse la nomenclatura standard per i pacchetti debian, può essere conveniente usare lo stesso nome usato per il pacchetto originale, eventualmente con un suffisso che ricordi che l'avete modificato).

7) Fatto! L'unica cosa a cui si deve prestare attenzione, nel caso sia presente, è il file di testo md5sums accanto al file control. Esso contiene gli hash di tutti i file del pacchetto debian e potrebbe essere necessario modificarlo se aggiungete/togliete/editate dei file.
In questo caso potrebbe tornarvi utile il comando:

find ./usr/ -type f -exec md5sum '{}' \;

per ottenere tutti gli hash md5 (in questo caso dei file presenti nella cartella usr) dei file contenuti nel pacchetto. In ogni caso, prendendo spunto dal file md5sums presente, non dovrebbe essere difficile capire come crearne uno nuovo.

Se avete qualche dubbio, chiedete pure!

---
M

Read more!

How to - Tips & Tricks per la Bash History


Capita spesso di cercare un comando già usato una volta, di cui magari non si ricorda la sintassi, con history nella shell di linux.
Succede però abbastanza velocemente che le 500 linee disponibili di default come memoria si riempiano e il nostro comando si perde nell'oblio...
Ecco quindi 2 utili aggiunte per rendere la nostra bash ancora più performante!

Aggiungere linee alla bash history
Dovete semplicemente aggiungere questa stringa al bash init (cioè il file nascosto .bashrc presente nella vostra home)

export HISTSIZE=10000

in questo modo avrete a disposizione 10000 righe di cronologia (il numero può ovviamente essere modificato a piacere!)

Per evitare di avere doppioni nella history (e.g. se avete usato moltissime volte il comando ls e non volete sprecare spazio inutilmente), potete aggiungere questa stringa al medesimo file:

export HISTCONTROL=erasedups


personalmente però non uso questo secondo comando perchè mi piace avere un log di cosa è stato fatto sul computer facile da consultare.

W la shell!

---
M

Read more!

mercoledì 9 luglio 2008

How to - Correggere l'effetto blooming sulle zone bruciate


Nella fotografia digitale, i singoli pixel si occupano di registrare il numero di fotoni che li raggiungono convertendo questo flusso in una corrente elettrica che può essere facilmente processata dalla ciruiteria elettronica.



Quando il numero di fotoni diventa così grande da saturare il singolo pixel, può succedere che le cariche elettriche associate a quel pixel escano dalla "buca" in cui sono confinate, finendo in quelle vicine, provocando una falsa sovraesposizione di zone che sarebbero, altrimenti, correttamente esposte. Questo particolare artefatto, figlio delle macchine digitali, prende il nome di blooming.

Siccome un'immagine conta più di mille parole, ecco l'artefatto nella pratica:


Fastidioso vero?!

Beh, c'è un metodo molto semplice per correggere il problema con The Gimp!

Selezionate l'Ellipse Selection Tool (E) e selezionate il contorno che il vostro disco dovrebbe avere aiutandovi con la parte dell'immagine sprovvista di blooming.


A questo punto selezioniamo Edit>Cut per tagliare il nostro disco dall'immagine. Questa operazione ci servirà per poter reinserire in un secondo momento l'oggetto tagliato preservando le eventuali sfumature nella zona adiacente alla saturazione.

Selezioniamo l'Healing Tool (H), ingrandiamo il pennello in maniera che sia usabile, selezioniamo con crtl+click un punto privo di blooming da cui copiare il colore e cominciamo a coprire con attenzione la zona da correggere. Non serve fare attenzione a non colorare il disco centrale, vedremo dopo come rimetterlo a posto!


Quando avete finito, selezionate Edit>Paste


e rimettete il disco precedentemente tagliato al suo posto.


Il risultato finale?
Eccolo!
Con un po' di pratica la tecnica si può applicare a qualsiasi forma, utilizzando magari il Free Selection Tool per scontornare.
---
M


Read more!

sabato 5 luglio 2008

Evitare le notifiche a propri commenti sul Blog - How To


Come molti utenti che hanno un blog, ho impostato il servizio di notifica automatica in modo che mi avvisi per e-mail quando un nuovo commento è stato inserito in un post qualsiasi.



Capita, però, come potete vedere nell'immagine qui sopra, che anche i commenti che io aggiungo ai post mi vengano notificati.
Ecco come fare per evitare di essere disturbati da un pop-up inutile, renderemo "silenziosa" la notifica di nuovi commenti personali.

NOTA: io uso gmail con il suo client di posta, ma qualunque client che permetta di creare filtri sulle mail in ingresso va bene!

La faccenda è piuttosto semplice: su gmail è sufficiente cliccare su Settings>Filters (o Impostazioni>Filtri se avete l'account in italiano).


A questo punto selezioniamo Create a new filter in basso e nelle regole mettiamo che, se la mail arriva da nomeutente <noreply-comment@blogger.com> (nel mio caso la stringa completa è "M <noreply-comment@blogger.com>"), allora questa va segnata come "già letta".

Ecco che il vostro sistema per la notifica di nuove emails non vi scasserà più i marroni per i commenti aggiunti da voi!
---
M

Read more!

Youtube video HD - how to


Non so se avete notato, ma il video del post precedente è in alta risoluzione.



Come fare per ottenere da youtube un video in HD? Semplice, grazie alla dritta di Mattia (aka 2m4ever), basta aggiungere "&fmt=18" nella barra dell'indirizzo per ottenere la versione ad alta risoluzione.

Se il video è presente anche in HD (e, incredibilmente, molti lo sono) non servirà aggiungere altro per avere la versione ad alta qualità!

---
M

Read more!

giovedì 26 giugno 2008

Creare un pacchetto Deb a partire a cmake


Alcuni programmatori distribuiscono i loro sorgenti pronti per essere compilati con cmake (invece del buon vecchio script configure), vediamo come creare un pacchetto Deb a partire da questi sorgenti.



La procedura non è molto complicata, si tratta solo di invertire la successione di qualche comando.
Come per i programmi rilasciati con lo script configure, anche con questo sistema useremo debuild!

HOW TO -

1) Scaricate il tarball dei sorgenti e scompattatelo (attenzione, non dovete rinominare la directory secondo il solito sistema di debuild - nomepacchetto-numeroversione - è un'operazione che faremo in seguito)

2) Installate i seguenti pacchetti: cmake, build-essential e devscripts con il comando:

sudo apt-get install cmake build-essential devscripts

3) create una directory seguendo la sintassi di debuild, ovvero nomepacchetto-numeroversione accanto alla directory del tarball scompattato con mkdir

4) entrate nella cartella appena creata e date il comando:

ccmake ../directorytarball/

dove, ovviamente, directorytarball è il nome della directory in cui avete scompattato il tarball dei sorgenti.

5) apparirà un configuratore semigrafico, cambiate le impostazioni che vi servono (di solito quelle di default sono corrette) e uscite seguendo la legenda presente in basso.

6) a questo punto, invece di make && make install creeremo la nostra subdirectory debian con:

dh_make -s -e indirizzomail -n

in modo che chi si ritroverà per le mani il vostro pacchetto possa contattarvi in caso di problemi o suggerimenti.

7) nella directory debian che si sarà creata, editate i file control e copyright in modo da dare il giusto credito agli autori del software, aggiungere una piccola descrizione ed eventualmente modificare la licenza nel caso sia diversa dalla gpl.

8) usate il comando:

debuild binary

per compilare e impacchettare il programma; al termine, se non ci saranno stati errori di compilazione o dipendenze non soddisfatte, troverete il pacchetto .deb accanto alla directory creata in precedenza!
Questo è tutto, alla prossima!

---
M

Read more!

Amsn display picture - workaround


Mi è stato chiesto aiuto perchè, usando una qualsiasi versione di amsn, capita che, cercando di modificare il proprio avatar, gnome vada in crash, riportando l'utente alla finestra di login.



Cercando un po' tra i file di configurazione di amsn, ho trovato questo workaround:

1) copiate l'immagine che volete visualizzare nella directory /usr/share/amsn/skins/default/displaypic

2) nella stessa directory create un file .dat con lo stesso nome della vostra immagine (esempio: l'immagine si chiama tux.png, il file da creare dovrà chiamarsi tux.dat)

3) in questo file aggiungete due righe, nella prima date un nome all'immagine (continuando con l'esempio precedente scriveremo Tux, serve solo ad avere un'etichetta dell'immagine), la seconda riga invece sarà il nome del file (quindi tux.png). Salvate e chiudete il file.

4) andate nella vostra home, premete ctrl+h per visualizzare i file nascosti e entrate nella directory .amsn. Ci sarà una directory che ha per nome l'indirizzo di posta che avete usato per amsn (con spazi e "@" sostituiti da "_"), entrate e aprite con un editor di testo il file config.xml.

5) cercate la parola displaypic (mi raccomando, non showdisplaypic)
dovete trovare una cosa del genere:


dove, ovviamente, i puntini di sospensione sono il percorso della vostra home!

6) cambiate il percorso assoluto che trovate scritto con quello dell'immagine che volete visualizzare (sempre nel nostro esempio /usr/share/amsn/skins/default/displaypic/tux.png. Salvate e chiudete.

7) riavviate amsn e il gioco è fatto!

---
M

Read more!

martedì 10 giugno 2008

Ripristinare l'icona del cestino


Mentre incasinavo la mia Ubuntu installando e disinstallando pacchetti per soddisfare delle dipendenze di compilazione (lo so, lo so, si fa in virtual machine, ma non ne avevo una disponibile al momento :D ), mi sono ritrovato ad un certo punto con l'icona della TrashApplet sparita totalmente...Puff!



Attenzione, non è che l'applet è andata in crash e dovevo quindi ripristinarla...tutto era apparentemente al suo posto (cliccando col tasto dx mi compariva il solito menu del cestino), semplicemente l'icona era totalmente sparita!

Per prima cosa ho provato stupidamente a cambiare il set di icone, nella speranza che fosse in qualche strano modo andata cancellata l'svg con l'immagine, ma niente...

Per fortuna esiste il bug report di gnome, strumento utilissimo per risolvere i problemi (infatti, qualunque cosa abbiate fatto, nel 99% dei casi a qualcuno è già successo!)

Spulciando un po' nel sito si trova il bug 211604 che mostra estattamente gli stessi sintomi che avevo e propone anche una veloce cura (tra l'altro è un bug recentissimo).

Prima di tutto si deve lanciare da terminale il comando:
killall trashapplet && /usr/lib/gnome-applets/trashapplet

se l'icona del cestino ricompare allora siamo sulla pista, anzi bug, giusto.
In questo caso si deve modificare un file di bonobo server, precisamente il file

/usr/lib/bonobo/servers/GNOME_Panel_TrashApplet.server

Apriamo il file con Gedit e cerchiamo la stringa

@oaf_server ... location="/usr/lib/.../trashapplet">

dove la "@" va sostituita con "<" (maledetto blogger che non accetta il tag pre!) e al posto dei puntini c'è ovviamente del codice che ho omesso per brevità.
Attenzione: non si deve modificare la stringa location="OAFIID:..."
Una volta trovata la stringa corretta si deve aggiungere:

@oaf_attribute name="bonobo:environment" type="stringv">
@item value="DBUS_SESSION_BUS_ADDRESS"/>
@/oaf_attribute>

sempre con dei "<" al posto delle "@", come mostrato nella figura qui sotto


Aggiungendo nuovamente il cestino al pannello ora non dovrebbero esserci più problemi!
---
M

Read more!

domenica 8 giugno 2008

Google Gadgets - Icon


Siccome lanciare Google Gadgets da riga di comando mi sembrava davvero poco sciccoso, ecco un'icona con sfondo trasparente per i vostri menu!



L'ho realizzata partendo da quella ufficiale di Google, per usarla basta copiarla in /usr/share/pixmaps, cliccare col tasto destro su Applications e selezionare Edit Menu.
A questo punto dovete creare un lanciatore dove desiderate, usando come comando: ggl-gtk e selezionando l'icona appena copiata in pixmaps!

UPDATE 24/6: se usate la versione con librerie Qt, il comando da utilizzare è ggl-qt e non ggl-gtk
Alla prossima!
---
M

Read more!

venerdì 30 maggio 2008

How to - Modificare il suono di avvio di ubuntu


Tutti i suoni di sistema di Ubuntu sono facilmente accessibili e modificabili attraverso Sistema>Preferenze>Suoni, in cui potrete trovare tutti gli effetti sonori del sistema operativo dai messaggi di errore al click del mouse!
...Proprio tutti tutti? Beh, no... in realtà latita uno dei suoni più importanti: quello di avvio del sistema!



Se usate Ubuntu su un laptop e lo portate spesso in luoghi silenziosi come le biblioteche, vi sarete più volte trovati a coprire gli speakers con la maglia o a infilare in fretta e furia delle cuffie nel jack audio, per evitare di farvi linciare dai presenti (in ogni caso il veloce tamburello del login non è nemmeno lontanamente paragonabile al pomposo e insopportabile suono di avvio del $i$tema proprietario più diffuso, quello che faceva esclamare a un mio conosciente "Stronzo, chi ti credi di essere?!" ad ogni avvio)

Per togliere o modificare questo suono si deve andare in Sistema>Amministrazione>Login Window, digitare la password di root e cambiare l'opzione che vedete qui sotto.


Se non volete eliminarla del tutto e siete su un portatile, il mio consiglio è di trovare un suono o un jingle molto basso come frequenza; in questo modo gli altoparlanti del portatile non saranno praticamente in grado di riprodurlo e lo sentirete solo quando avrete le cuffie o quando il portatile sarà a casa, attaccato allo stereo.
---
M

Read more!

Ecommerce - Act Two


Incredibile a dirsi, anche Repubblica.it si è resa conto che a fermare l'ecommerce in Italia è anche il vergognoso sistema di logistica di questo paese.
Ne avevo parlato pochi giorni fa e non devo essere stato l'unico a lamentarsi evidentemente!



Invece di buttare altra benzina sul fuoco, però, voglio consigliarvi questo piccolo trucco quando avete a che fare con i pacchi postali.
Non tutti sanno infatti che esiste un mezzo più veloce, più affidabile e, strano ma vero, più economico per spedire oggetti di piccole dimensioni: la raccomandata.
Purtroppo Poste Italiane non lo pubblicizza molto (sarà che ci guadagnano meno, oppure è il fatto che funzioni a farli destistere?), ma se dovete spedire o farvi spedire oggetti di normali dimensioni fino a un peso di 2 Kg, questa è una soluzione ottima!

Qui trovate un po' di informazioni sulle dimensioni dei pacchi, mi resta oscuro perchè la spedizione all'estero permetta misure più generose di quella nazionale... anche l'imballaggio cilindrico può risultare interessante.

Gli indubbi vantaggi sono che la consegna il postino e non quella ridicola banda di dilettanti che chiamano corriere SDA, se il postino non trova nessuno in casa, la porta al più vicino ufficio postale, dove si può andare a ritirarla con calma, i tempi di spedizione sono molto ridotti e in praticamente tutti i casi ve la cavate con meno di 10€... ah si, quasi dimenticavo, per una ragione che non mi è nota, le raccomandate praticamente non vengono controllate (quasi mai), questo significa che non avrete il patema di un pacco bloccato in qualche posto del cavolo per mesi ad attendere l'impiegato di buon umore!
---
M

Read more!

martedì 27 maggio 2008

visualizzare le proprie foto nello screensaver di Ubuntu


Anche se sono innamorato dello screensaver molecules di Ubuntu, mi piaceva l'idea di visualizzare le foto che uso per il blog come slideshow per il salvaschermo.
Su OsX la cosa è di una facilità disarmante, ma su Ubuntu bisogna fare due passaggi non proprio intuitivi.

A questo punto abbiamo due possibilità: uno screensaver 3D che abbia effetti di zoom, distorsioni...oppure la pura e semplice fotosequenza.
Se volete caricare le vostre immagini negli screensaver opengl (distort, flipscreen3D, GLslideshow, Mirrorblob e slidescreen sono quelli supportati) la faccenda si riduce a creare nella vostra home il file .xscreensaver inserendo al suo interno la stringa

imageDirectory:/nome percorso assoluto

dove il percorso sarà, ad esempio, /home/nomeutente/Documenti/Pictures
Personalmente lo screensaver che mi interessava era propio GLslideshow, che si trova, quasi identico, anche su OsX. Purtroppo, con le mie foto, l'effetto di zoom non era particolarmente piacevole (si possono comunque modificare i parametri tramite il file /usr/share/xscreensaver/config/glslideshow.xml) e ho deciso quindi di passare alla fotosequenza. Però gnome ha per default la cartella Pictures dalla quale caricare le immagini, cartella che io ho rimosso 50 nanosecondi dopo l'installazione...

Esiste un workaround per ovviare all'inconveniente, eccolo qua: si deve modificare il file /usr/share/applications/screensavers/personal-slideshow.desktop; aprendo un terminale, basta questo comando

sudo gedit /usr/share/applications/screensavers/personal-slideshow.desktop

A questo punto, usando la funzione Cerca di Gedit, si deve cercare la stringa Exec=slideshow e aggiungere a questa il comando

--location=/percorso assoluto cartella

dove il percorso sarà, ancora una volta ad esempio, /home/nomeutente/Documenti/Pictures



Et voilà, provate a caricare lo screensaver adesso e avrete tutte le vostre foto sullo schermo!
---
M

Read more!