sabato 20 giugno 2015

Comprimere un file video proveniente da un PVR


Ho acquistato un decoder digitale terrestre che può anche registrare su porta USB.

Una registrazione di un film da 2 ore occupa trai 3,5 e i 4,7 gigabyte, suddivisi in una serie di file .mts da 512 mega ciascuno.
Tipicamente un film videoregistrato lo vedo magari dopo qualche mese (per poi cancellarlo), e tenere occupato tutto quello spazio per così tanto tempo è uno spreco, per cui ho la necessità di comprimere il file video.

Il tempo di compressione vorrei che fosse accettabile (magari non 3 ore, un quarto d'ora già andrebbe bene), la qualità visiva deve essere buona (niente quadrettoni), e il file compresso va bene anche da 1 giga e mezzo (il doppio dei divx che si trovano scaricando film in rete (700㎆)). Parlando senza sapere, probabilmente le mie richieste sono impossibili da soddisfare, per cui bisogna fare un po' di analisi.

Cercando su internet, la maggior parte delle soluzioni proposte funzionano sotto windows, mentre per linux ci sono utility da riga di comando che offrono una gamma di opzioni impressionante, per cui bisogna armarsi di santa pazienza e verificare qual'è la riga di comando e le opzioni più adatte per quello che voglio fare.

Dopo una lunga serie di tentativi, nei quali  problema maggiore è stata una perdita di sincronismo tra audio e video, ho raggiunto questo risultato: eseguendo il seguente comando:

avconv -i "concat:Iris-09032014-2107.mts|Iris-09032014-2107.mts1|Iris-09032014-2107.mts2|Iris-09032014-2107.mts3|Iris-09032014-2107.mts4|Iris-09032014-2107.mts5|Iris-09032014-2107.mts6|Iris-09032014-2107.mts7|Iris-09032014-2107.mts8" -c:v libx264 -strict experimental outputfile.mp4

il tempo impiegato per la codifica è un po' più che un quarto d'ora, diciamo due ore e mezza, e la dimensione del file ottenuto è di circa 2 giga. Il risultato non è proprio il massimo, ma per adesso mi accontento.

Ho anche impostato uno script che prepara automaticamente il comando a partire dai file mts* presenti nella directory e lo esegue:

#/bin/sh

outputFile='outputfile.mp4'

rm -f $outputFile

command='avconv -i "concat:'

for file in $(ls -1X *.mts*); do
 command=${command}$file"|"
done

command=${command}"|"

command=${command/||/\"}

command=${command}" -c:v libx264 -strict experimental "$outputFile

eval $command 
 

La quartultima riga dello script aggiunge un altro carattere 'pipe'(|) alla stringa generata, mentre la terzultima trasforma due caratteri 'pipe' consecutivi in un doppio apice(").

mercoledì 3 giugno 2015

Rallentare la velocità del mouse


Ho un simpatico mouse ROCCAT Kone+, che linux mi riconosce tranquillamente.


Il comando lsusb ad esempio fornisce la seguente riga:
Bus 002 Device 005: ID 1e7d:2d51 ROCCAT Kone+ Mouse
Non ho installato nessun driver particolare, come ad esempio suggerito in questa pagina che contiene il driver ufficiale per linux. La pagina indica come attivare la gestione delle macro e delle funzioni avanzate con questo mouse, ma per adesso non ho intenzione di usarle.

L'unico problema con il driver di default è che la velocità del mouse risulta troppo elevata, rendendo il puntatore difficile da controllare quando si vogliono selezionare aree dello schermo o controlli grafici troppo piccoli.

Per poter ottenere una velocità adeguata, ho dovuto seguire la guida indicata in questa pagina, che suggerisce di effettuare dei tentativi di soglie di sensibilità con i comandi:
  • xinput list: per trovare l'id del mouse da usare nei comandi successivi
  • xinput list-props mouseId: per trovare l'elenco dei parametri del mouse configurabili 
  • xinput set-prop mouseId paramId valore: per attivare il valore di un parametro
Una volta trovato il valore corretto, è possibile renderlo attivo per ogni avvio del pc, andando ad aggiungere una sezione nel file /etc/X11/xorg.conf, nel mio caso  per rallentare il puntatore del mouse ho dovuto aggiungere in coda le seguenti righe:

Section "InputClass"
    Identifier "Roccat"
    MatchProduct "ROCCAT ROCCAT Kone[+]" # Product name from xinput list.
    Option "ConstantDeceleration" "3" # The same value as xinput.
EndSection


lunedì 13 aprile 2015

Linux home server


Da diverso tempo volevo riprendere il progetto di un home server basato su linux; le motivazioni per mettere su un home sono ad esempio riportate qua, e le riassumo in questa lista:

  • Central Media Hub: possibilità di vedere in streaming i video presenti sull'home server da qualunque dispositivo in LAN;
  • Torrent Box dedicata: scaricare facilmente qualunque tipo di file, e registrarsi ai seed per recuperare automaticamente nuovi file;
  • File Server: rendere disponibile tutti i file (film, musica, foto, documenti) su tutti i dispositivi in LAN;
  • Web Server: in caso vogliamo tirare su un sito di prova, o qualcosa di più serio.


  • Configurazione Hardware

    Avendo a disposizione una serie di computer vecchi donati dai parenti con la scusa "te lo butto io", ho messo su un PC frankenstein con le seguenti caratteristiche:
    • CPU: AMD Athlon(TM) XP 2000+
    • RAM: 512MB
    • Hard Disk: 80GB
    La capienza del disco fisso è un po' bassa, ma ne ho a disposizione altri di capacità simile per cui potrei montarne altri 2 in modalità slave (uno per ciascun cavo IDE) più un masterizzatore DVD (in modalità master sul secondo IDE) per avere una capienza di circa 200 GB più possibilità di masterizzare.

    L'unico problema è che la funzione di media streaming in HD richiede almeno un processore a 2GHz, per cui potenze inferiori potrebbero portare ad una riproduzione dei video a scatti; ho provato con flussi video non HD e lo stream mediante samba shares non ha dato interruzioni di sorta (con torrent sotto attivo!)

    Configurazione Software

    Il server che mettiamo su è headless, per cui tutte le funzionalità che andiamo ad installare saranno configurabili solo in remoto mediante ssh o altre utilità.

    Tra quelle che si possono installare c'è webmin, che fornisce una serie di comode funzioni attraverso un'interfaccia web tra cui:
    • Apache Webserver
    • CD Burner
    • SVN Server
    • DynDns service
    • Fail2Ban Intrusion Detector
    • File Manager
    • Samba Windows File Sharing

    Tra le altre informazioni recuperate mentre progettavo l'home server, ho notato il concetto di Seedbox cioè un server dedicato al filesharing bittorrent, ma mi sembra un po' esagerato e fuori dallo scopo di questo progetto.

    Andando a scorrere il tag Media Center in Inforpazzo, sono usciti una serie di post che sono applicabili a questa installazione:

    venerdì 20 febbraio 2015

    Salvare gli screenshot sul desktop (lubuntu)


    Faccio spesso uso della funzione di salvataggio dello schermo del pc. Con l'ultima versione di lubuntu installata premevo il tasto printScr ma non accadeva nulla per cui pensavo che non fosse una funzione operativa come in un ubuntu normale.

    Poi un giorno per caso ho visto una serie di file .png nella mia home, e aprendoli, ho scoperto con stupore che erano tutte le schermate che avevo tentato di catturare nel frattempo (per abitudine, ho continuato a premere printScr ogni volta).

    Il sistema usato per salvare le schermate è scrot; un esempio di nome di una schermata catturata con  scrot è
    2014-11-20-212200_1280x800_scrot.png
    dove si nota il timestamp di quando è stata catturata la schermata, e la risoluzione.

    L'unico problema è che voglio salvare le schermate sul desktop e non nella home, per una maggiore visibilità.

    Ho cercato come era configurata la funzione di salvataggio, e da questo wiki leggo di cercare il file ~/.config/openbox/lxde-rc.xml, solo che essendo una lubuntu il file da recuperare è il seguente:
    ~/.config/openbox/lubuntu-rc.xml

    Questo file è pieno di impostazioni interessanti ed anche ben commentato, per cui è possibile sbirciare quali aspetti di lxde/lubunutu possiamo modificare attraverso la sua modifica.

    Tornando all'argomento iniziale, ho trovato il comando in questione:
        <!-- Launch scrot when Print is pressed -->
        <keybind key="Print">
          <action name="Execute">
            <command>lxsession-default screenshot</command>
          </action>
        </keybind>
    

    Cercando con google lxsession-default la prima pagina che esce mostra come raggiungere la funzione che ci permette di cambiare le applicazioni di default (in italiano la voce è Preferenze → Applicazioni predefinite per LXSession)

    Smanettando un po', ho dovuto creare un file apposito da mettere come applicazione preferita, con il nome zacscrot, copiato in /usr/bin, il cui contenuto è il seguente:

    scrot '%Y-%m-%d_%H-%M-%S__$wx$h.png' -e 'mv $f ~/Scrivania/'


    venerdì 11 luglio 2014

    SVN e Nemo


    Ho da poco installato sul portatile l'ultima versione di linux mint, la 17, versione Cinnamon.

    Pulizia e funzionalità caratterizzano questa distribuzione, anche se la velocità di esecuzione è la stessa di ubuntu.

    Ho avuto l'esigenza di installare un client svn, e, abituato alla comodità della gui e dell'integrazione con il file manager offerta da TortoiseSVN, ho cercato una soluzione equivalente per Nemo, il file manager che mi sono trovato preinstallato.

    La solzuone trovata è RabbitVCS, per il quale è stato creato un plug-in per Nemo che si chiama nemo-rabbitvcs (da comando apt-get install).

    Il problema è che non tutte le dipendenze sono state sistemate bene per questo pacchetto per cui, se non dovesse funzionare, assicurarsi di aver installato i seguenti pacchetti:

    • nemo-rabbitvcs
    • python-nemo
    • rabbitvcs-core
    • python-simplejson

    L'ultimo che segno in grassetto è il pacchetto mancante che mi ha fatto impazzire, ed è il motivo che mi ha spinto a scrivere questo post; le dipendenze effettivamente non sono indicate bene, e sui siti internet si fa menzione solo dei primi tre pacchetti che ho riportato: per scoprire che mancava l'ultimo pacchetto, ho lanciato nemo da linea di comando e ho analizzato l'output che dava un warning.

    sabato 21 giugno 2014

    Scaricare DLL con sicurezza

    http://jrbarker.com/tag/piranha-plant/

    Capita ogni tanto di aver necessità di scaricare una dll da internet, e ricercando il nome della dll su motori di ricerca escono fuori una miriade di siti che promettono di fornire tale dll come file scaricabile.

    Il problema è che molti di questi siti sono dei siti-trappola che distribuiscono malware sottoforma di eseguibile da installare.

    C'è anche chi suggerisce di NON scaricare le dll singole, ma di risolvere il problema in altro modo (per esempio installando hot fix di microsoft che contengono la dll mancante)

    Una tecnica che ho deciso di adottare è stata quella di scaricare la stessa dll (regtool5.dll) dai vari siti e confrontarne il contenuto, e questo è il risultato:

    Sito Note
    www.opendll.com dll buona
    www.dlldll.com bloccato dall'antivirus
    www.dllme.com captcha, dll buona
    www.nodevice.com file da 18 mega con un cleaner-setup.exe, dll buona
    www.solvusoft.com bloccato dall'antivirus
    www.dllguru.com dll buona
    www.driverskit.com captcha, dll buona

    In conclusione, da questa mini-ricerca è uscito fuori che i migliori siti per scaricare dll sono opendll e dllguru.


    domenica 6 ottobre 2013

    Programma per la visualizzazione di note condivise


    E' da un po' di tempo che sto avendo la fantasia di scrivere un programma per la visualizzazione di note condivise, che permetta di scriversi velocemente una nota, un url, una checklist, e di condividerlo tra i vari dispositivi che quotidianamente usiamo, nella fattispecie il PC di casa con linux, quello dell'ufficio con windows, un telefonino con android.

    Ho deciso quindi di scrivere quali potrebbero essere le caratteristiche di un programma di questo tipo, prendendo spunto da internet:
    • uso del servizio Dropbox per la sincronizzazione
    • uso della formattazione markdown: discussione alla libreria di sviluppo cosigliata

    Avevo anche trovato un nome: Mark down oltre che indicare il tipo di formattazione, vuol dire appuntarsi, per cui un nome carino in italiano "appuntarsi note" diventa MarkDownNotes.

    Ma durante la ricerca di informazioni al riguardo, ho scoperto che tutte queste non sembrano delle idee troppo originali:

    Quello che noto è che ci sono un bel po' di applicazioni per IOS ma niente per desktop e/o android, per cui insisto nella mia fantasia. L'utente può prescindere dall'usare il mio programma, perchè la modifica delle note è ottenuta mediante un qualsiasi editor di testo, e la sincronizzazione mediante dropbox.

    Il valore aggiunto sarebbe quindi fornito dalle seguenti caratteristiche:
    • cross-platform: windows/linux/android
    • un'icona nella traybar per aprire/chiudere tutte le note, inserire una nuova nota (nella versione desktop)
    • la possibilità di associare una data alla nota in modo da fornire una sorta di promemoria
    • collegamento con google calendar?
    • ?
    vedremo...

    Accesso automatico via ssh


    Questo breve post per indicare i passi per accedere automaticamente ad un server ssh senza dover inserire la password ogni volta:
    1. generare una coppia di chiavi ssh mediante il comando:
      ssh-keygen
    2. copiare la chiave pubblica sul server ssh con il comando:
      scp .ssh/id_rsa.pub utente@server:.ssh/authorized_keys
    3. accedere al server con il comando:
      ssh utente@server
    et voilà.

    PS: attenzione al comando del passo 2: sovrascrive il file authorized_keys del server.

    Il comando ssh-keygen lanciato da solo genera una coppia di file chiave nella cartella .ssh della propria home:
    • .ssh/id_rsa
    • .ssh/id_rsa.pub
    Il primo file è la chiave privata, da conservare gelosamente, il secondo è la chiave pubblica, che abbiamo installato sul server di destinazione.
     
    Se si usano più client che accedono allo stesso server, per poter avere il login automatico si può:
        o copiare il file .ssh/id_rsa nella home degli altri client;
        o generare una coppia di chiavi per ogni client, e poi appendere in coda al file .ssh/authorized_keys del server i vari file .ssh/id_rsa.pub così generati.

    In questo secondo caso la sequenza delle operazioni per ciascun client è la seguente:
    1. generare una coppia di chiavi ssh mediante il comando:
      ssh-keygen
    2. copiare la chiave pubblica sul server ssh con il comando:
      scp .ssh/id_rsa.pub utente@server:
    3. accedere al server con il comando (chiederà la password):
      ssh utente@server
    4. appendere la chiave pubblica del client al file del server con il comando:
      cat id_rsa.pub >> .ssh/authorized_keys 

    sabato 31 agosto 2013

    Guardare la TV in streaming


    Per guardare la tv in streaming via internet ci sono un bel po' di soluzioni, ma c'è parecchia confusione perchè se un giorno una di esse funziona, il giorno dopo scompare il sito, o si è spostato, o lo stream dà errore in VLC.

    Riporto qui qualcuna delle soluzioni trovate, ma so che non funzioneranno più nel giro di qualche mese...

    http://belpaese-tv.blogspot.it raccoglie un po' di link ai canali nazionali, con l'esclusione delle reti mediaset. Provando a lanciare Rai1, il sito rimanda ad un altro sito, http://www.cloud-tivu.net ma lo stream della rai non si può vedere a meno che uno non abbia installato Silverlight.

    Per poter vedere i canali rai senza Silverlight, è possibile installarsi un plugin di firefox, chiamato raismth. Questo plugin fa uso del software mplayer, che va altresì installato.

    Un ottimo sito che ad oggi riesce a mostrare in streaming i canali rai senza Silverlight è questo. Mancano però i canali mediaset o la 7.

    Riporto i link funzionanti oggi:

    RAI 1



    domenica 28 luglio 2013

    L'OFM definitivo


    Dopo anni di ricerche, sfociate in un post scritto nel 2009, finalmente posso dire di aver trovato un OFM che mi aggrada! Stiamo parlando di Double Commander!

    Facendo seguito al post di ieri riguardo ai colori per tipi di file, ho configurato Double Commander all'uopo, ed il risultato mi soddisfa alquanto!


    Per ottenere questo risultato bisogna andare nel menù Configurations→Options e scegliere Colors→File types, ottenendo una schermata di questo tipo:



    Ho creato una serie di categorie, indicato per ciascuna l'estensione o le estensioni a cui applicare il colore selezionato.

    E' possibile indicare se alla categoria appartengono solo i file "-*", solo le cartelle "d*", solo i file con attributo eseguibile "-??x*" o file e cartelle "*", tutte strighe da inserire nel campo Category attributes.

    E' un programma multi-piattaforma che gira anche sotto windows, per cui potrebbe avere senso cominciarlo ad usare anche di là. Vedremo...

    sabato 27 luglio 2013

    Colorare i file in base all'estensione


    Avere la lista dei file colorata per estensione è una gran comodità, come si evince dal seguente confronto:


    Obiettivo di questo post è quello di identificare le estensioni utili e i colori da usare, e di tentare di impostare il tutto nei vari applicativi usati (total commander sotto windows, ls colorati nei terminali linux, ecc).

    Estensioni e colori

    Ecco un possibile esempio di associazione di colori:

    default: ciano
    eseguibile: verde
    immagine: rosa
    audio: fuxia
    testo semplice: grigio
    documento: bianco
    archivio: rosso
    il giallo verrà usato dagli applicativi OFM ad indicare i file selezionati

    Impostare i colori per il comando ls nella shell

    Il comando
    dircolors --print-database > .dircolors
    invocato nella cartella HOME genera un file che verrà letto dallo script .bashrc (almeno in ubuntu) nelle righe:
     
    # enable color support of ls and also add handy aliases
    if [ -x /usr/bin/dircolors ]; then
        test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
        alias ls='ls --color=auto'
        #alias dir='dir --color=auto'
        #alias vdir='vdir --color=auto'

        alias grep='grep --color=auto'
        alias fgrep='fgrep --color=auto'
        alias egrep='egrep --color=auto'
    fi 

    Per sapere quali colori sono a disposizione nella shell e quali codici usare, viene in aiuto un simpatico script recuperato da questa pagina, la cui esecuzione fornisce il seguente risultato:


    Il risultato dell''esecuzione dello script dipende dalla configurazione del PC in uso, per cui su un'altra macchina con lubuntu, il risultato è il seguente:



    Si impostano quindi i colori che vogliamo nel file .dircolors; si riavvia la shell (o si esegue il comando eval evidenziato in viola nello script precedente) e si verifica il risultato.

    Oltre ai colori ANSI riportati con lo script precedente, è addirittura possibile impostare colori a 8 bit. Eseguendo il secondo script della pagina indicata prima, si ottiene la seguente schermata:


    Per usare tali colori bisogna inserire la stringa
    .ext 38;05;val
    dove ext è l'estensione da colorare, val è ad esempio (232+35=267) per il verdino in basso a destra.

    Qui il risultato sul secondo PC:


    Il problema con questo sistema è che non è compatibile con gnome-commander, per cui si consiglia di non usarlo.

    Dopo la scelta dei colori, ecco il contenuto del mio file .dircolors:
    # Configuration file for dircolors, a utility to help you set the
    # LS_COLORS environment variable used by GNU ls with the --color option.
    # Copyright (C) 1996, 1999-2008
    # Free Software Foundation, Inc.
    # Copying and distribution of this file, with or without modification,
    # are permitted provided the copyright notice and this notice are preserved.
    # The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
    # slackware version of dircolors) are recognized but ignored.
    # Below, there should be one TERM entry for each termtype that is colorizable
    TERM Eterm
    TERM ansi
    TERM color-xterm
    TERM con132x25
    TERM con132x30
    TERM con132x43
    TERM con132x60
    TERM con80x25
    TERM con80x28
    TERM con80x30
    TERM con80x43
    TERM con80x50
    TERM con80x60
    TERM cons25
    TERM console
    TERM cygwin
    TERM dtterm
    TERM eterm-color
    TERM gnome
    TERM gnome-256color
    TERM jfbterm
    TERM konsole
    TERM kterm
    TERM linux
    TERM linux-c
    TERM mach-color
    TERM mlterm
    TERM putty
    TERM rxvt
    TERM rxvt-cygwin
    TERM rxvt-cygwin-native
    TERM rxvt-unicode
    TERM screen
    TERM screen-256color
    TERM screen-bce
    TERM screen-w
    TERM screen.linux
    TERM vt100
    TERM xterm
    TERM xterm-16color
    TERM xterm-256color
    TERM xterm-88color
    TERM xterm-color
    TERM xterm-debian
    # Below are the color init strings for the basic file types. A color init
    # string consists of one or more of the following numeric codes:
    # Attribute codes:
    # 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
    # Text color codes:
    # 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
    # Background color codes:
    # 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
    #NORMAL 00 # no color code at all
    FILE 01;36 # regular file: use no color at all
    RESET 0 # reset to "normal" color
    DIR 01;34 # directory
    LINK 01;36 # symbolic link. (If you set this to 'target' instead of a
     # numerical value, the color is as for the file pointed to.)
    HARDLINK 44;37 # regular file with more than one link
    FIFO 40;33 # pipe
    SOCK 01;35 # socket
    DOOR 01;35 # door
    BLK 40;33;01 # block device driver
    CHR 40;33;01 # character device driver
    ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file
    SETUID 37;41 # file that is setuid (u+s)
    SETGID 30;43 # file that is setgid (g+s)
    CAPABILITY 30;41 # file with capability
    STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
    OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
    STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
    # This is for files with execute permission:
    EXEC 01;32
    # List any file extensions like '.gz' or '.tar' that you would like ls
    # to colorize below. Put the extension, a space, and the color init string.
    # (and any comments you want to add after a '#')
    # If you use DOS-style suffixes, you may want to uncomment the following:
    #.cmd 01;32 # executables (bright green)
    #.exe 01;32
    #.com 01;32
    #.btm 01;32
    #.bat 01;32
    # Or if you want to colorize scripts even if they do not have the
    # executable bit actually set.
    #.sh 01;32
    #.csh 01;32
     # archives or compressed (bright red)
    .tar 01;31
    .tgz 01;31
    .arj 01;31
    .taz 01;31
    .lzh 01;31
    .lzma 01;31
    .zip 01;31
    .z 01;31
    .Z 01;31
    .dz 01;31
    .gz 01;31
    .bz2 01;31
    .bz 01;31
    .tbz2 01;31
    .tz 01;31
    .deb 01;31
    .rpm 01;31
    .jar 01;31
    .rar 01;31
    .ace 01;31
    .zoo 01;31
    .cpio 01;31
    .7z 01;31
    .rz 01;31
    # image formats
    .jpg 38;05;219
    .jpeg 38;05;219
    .gif 38;05;219
    .bmp 38;05;219
    .pbm 38;05;219
    .pgm 38;05;219
    .ppm 38;05;219
    .tga 38;05;219
    .xbm 38;05;219
    .xpm 38;05;219
    .tif 38;05;219
    .tiff 38;05;219
    .png 38;05;219
    .svg 38;05;219
    .svgz 38;05;219
    .mng 38;05;219
    .pcx 38;05;219
    .mov 38;05;219
    .mpg 38;05;219
    .mpeg 38;05;219
    .m2v 38;05;219
    .mkv 38;05;219
    .ogm 38;05;219
    .mp4 38;05;219
    .m4v 38;05;219
    .mp4v 38;05;219
    .vob 38;05;219
    .qt 38;05;219
    .nuv 38;05;219
    .wmv 38;05;219
    .asf 38;05;219
    .rm 38;05;219
    .rmvb 38;05;219
    .flc 38;05;219
    .avi 38;05;219
    .fli 38;05;219
    .flv 38;05;219
    .gl 38;05;219
    .dl 38;05;219
    .xcf 38;05;219
    .xwd 38;05;219
    .yuv 38;05;219
    # http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
    .axv 01;35
    .anx 01;35
    .ogv 01;35
    .ogx 01;35
    # audio formats
    .aac 38;05;201
    .au 38;05;201
    .flac 38;05;201
    .mid 38;05;201
    .midi 38;05;201
    .mka 38;05;201
    .mp3 38;05;201
    .mpc 38;05;201
    .ogg 38;05;201
    .ra 38;05;201
    .wav 38;05;201
    # http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
    .axa  00;36
    .oga  00;36
    .spx  00;36
    .xspf 00;36

    # Zac ext
    # eseguibili
    .exe 01;32
    .run 01;32
    .bat 01;32
    .sh  01;32
    # documenti
    .xls  00;01
    .xlsx 00;01
    .doc  00;01
    .pdf  00;01
    # documenti ascii
    .txt 00;37
    .c   00;37
    .cpp 00;37
    .h   00;37
    .hpp 00;37
    # moduli musicali
    .s3m 38;05;201

    sabato 24 novembre 2012

    Creare l'icona di un dispositivo usb con gimp


    In un precedente post mi appuntavo le istruzioni su come impostare un'etichetta ed un icona per un dispositivo USB.

    Oggi ho impostato un dispositivo secondo quanto indicato, ma ho notato che la procedura per recuperare ed impostare correttamente l'icona non era descritta in maniera troppo dettagliata.

    Ho deciso quindi di integrare quelle informazioni con quelle contenute in questo post.

    Per quanto riguarda la scelta dell'immagine da applicare al dispositivo, abbiamo due scelte:
    1. fotografare il dispositivo;
    2. trovare un'immagine su internet che ci aggradi.
    Mi soffermo sul punto 2 che mi sembra quello più immediato e divertente:

    la ricerca dell'immagine

    Lo strumento da usare è google immagini. Si inserisce il nome del dispositivo di cui vogliamo trovare l'immagine, nel mio caso una penna usb sandisk. Tipicamente non conosciamo il modello esatto, per cui nella lista delle immagini che viene fuori, cerchiamo qualcosa di simile.

    Nel mio caso è sbucata la stessa penna ma di colore rosso. Ho evidenziato l'immagine e nella didascalia era scritto che si trattava di una Cruzer Edge.

    Ho aggiunto alle chiavi di ricerca queste due stringhe, e tra i risultati sono uscite fuori immagini relative al mio modello in vari colori, principalmente il modello di colore rosso.

    Il mio modello è invece azzurro, per cui ho selezionato il colore azzurro... et volià: un'intera pagina di immagini del mio dispositivo!


    Si tratta quindi di cliccare sull'immagine preferita, e salvarla sul proprio hard disk.

    La modifica dell'immagine

    L'effetto che vogliamo ottenere è quello di una icona con lo sfondo trasparente e useremo il programma Gimp.

    Per ottenere la trasparenza dobbiamo rimuovere lo sfondo bianco, e si potrebbe usare subito la funzione Colori→Colore ad alfa, ma quello che si ottiene è il seguente:
    cioè che anche la parte centrale risulta semitrasparente.

    Un'altra tecnica che non funziona è selezionare con lo strumento fuzzy (la bacchetta magica) le regioni in bianco (tasto Shift premuto per aggiungere aree) e poi rimuoverle, ma siccome l'immagine è antialiasata si ottiene un effetto tipo questo:


    cioè con un alone bianco (bruttino) attorno alla figura.

    Tralaltro, per poter ottenere che la parte cancellata risulti trasparente anzichè bianca, ho dovuto aggiungere il canale alfa con il comando Livello→Trasparenza→Aggiungi canale alfa

    Il sistema che ho trovato per avere uno sfondo trasparente decente è quindi il seguente:
    • se serve, si aggiunge il canale alfa come visto sopra
    • si duplica l'immagine con il comando Livello→Duplica Livello
    • sul livello originale si selezionano le aree bianche con lo strumento fuzzy visto prima, poi con la funzione Seleziona→Allarga si allarga la selezione di 2 pixel, e col tasto Canc si cancella.
    • sul livello duplicato su applica la funzione Colori→Colore ad alfa vista sopra
    Unendo i due livelli, il risultato è il disegno su sfondo trasparente:


    Dopodiché, si ritaglia l'immagine affinché risulti un quadrato, e con lo strumento Immagine→Scala immagine si porta la dimensione a 100x100 pixel.

    Per salvare il file nel formato icona, si seleziona File→Salva come..., si immette il nome icon.ico e si preme il tasto salva. Nella schermata successiva si seleziona 32bpp, 8 bit alfa, senza tavolozza e si preme di nuovo il tasto salva.

    Tra gli altri abbellimenti che si potrebbero applicare all'icona c'è quello di aggiungere un'ombra sfumata, ma poiché ancora non ho trovato una procedura per farla, mi riservo l'argomento ad un post successivo; nel frattempo, buona creazione! :)

    domenica 18 marzo 2012

    Rinominare l'etichetta di una penna USB (e cambiare l'icona)



    Ho inserito un hard disk ed una penna USB nel portatile. La schermata dei media installati è qua sopra.
    Si nota subito che una delle due memorie non ha il nome, per cui Nautilus mette un codice. Credevo che il codice fosse quello il vendor-product Id che si ottiene con il comando lsusb ma non è così.

    In ogni caso una ricerca con google in italiano conduce a questa pagina, che fornisce una soluzione da riga di comando.

    Cercando in inglese ("usb label nautilus") escono fuori altre pagine, tra le quali, quella ufficiale di ubuntu, dove si suggerisce di usare gparted. Installato, si lancia da Sistema→Amministrazione→Gestore dischi; si seleziona il disco da rinominare, tasto Modifica partizione. Il problema è che il campo dell'etichetta è disattivato: non si hanno i permessi per la rinomina. Per rinominarlo bisogna infatti prima smontarlo, usando l'apposita funzione nella stessa schermata. Ecco il risultato:


    Già che c'ero, ho visto che l'hard disk esterno di mia moglie mi dava un'icona personalizzata sul desktop, per cui ho smanettato un po' ed ecco il risultato:


    Per ottenere questo effetto, bisogna mettere nella cartella radice di ciascun dispositivo due file:
    1. il file ICON.ico, di dimensione 100x100 pixel che contiene l'icona da usare
    2. il file autorun.inf, contenente il seguente testo:
    [AUTORUN]
    ICON=ICON.ICO
    Le icone si trovano usando google immagini immettendo la marca e il modello del dispositivo, scalandole con gimp alla dimensione di 100x100 pixel ed eventualmente rimuovendo lo sfondo in modo che venga la trasparenza, e salvando  in .ico a 32 bit senza palette con canale alfa.
    Buona personalizzazione!

    sabato 19 novembre 2011

    Riproduzione del microfono sulle casse in linux


    Un giorno volevo ascoltare la radio dal mio telefonino, e contemporaneamente avevo l'esigenza di udire l'audio del pc, sfruttando le capacità di mixing di linux. Il telefonino possiede la classica uscita per le cuffie, ed il PC ha l'ingresso del microfono, entrambi per uno spinotto jack. Mi sono quindi dotato di un cavo jack-jack come in figura:
    e li ho collegati insieme.

    Non ho trovato un'applicazione grafica soddisfacente che attivasse questa funzione, ma questa linea di comando ha fatto al caso mio:

    arecord -q -f cd | aplay

    sabato 14 maggio 2011

    Installazione chiavetta wireless belkin

    Per installare questa chiavetta belkin sotto debian seguire le seguenti istruzioni:

    1. attivare i repository contrib e non-free nel file /etc/apt/sources.list (si possono aggiungere alla prima linea, come ad esempio: deb http://ftp.it.debian.org/debian/ squeeze main contrib non-free)
    2. invocare il comando aptitude update per aggiornare la lista dei pacchetti apt
    3. invocare il comando aptitude install zd1211-firmware per installare il firmware
    4. infilare la chiavetta...con il comando ifconfig si dovrebbe visualizzare l'interfaccia wlan0!
    5. opzionalmente, seguire le istruzioni del mio precedente post

    Per ulteriori info si rimanda a queste pagine:

    mercoledì 27 aprile 2011

    Far funzionare il wireless in modo testo


    Stasera volevo impostare come server un PC con CPU da 2giga che mi è stato regalato. Il PC è piuttosto rumoroso per cui volevo piazzarlo nello sgabuzzino con un adattatore usb wifi. Ho installato una debian ed il dispositivo è stato riconosciuto senza troppi problemi, e da ambiente grafico mi è bastato impostare solo la password per la mia rete wifi.

    In quanto usato come server, ho disattivato l'accesso all'ambiente grafico (aptitude remove gdm3), ma subito dopo sono arrivati i dolori per quanto riguarda il funzionamento dell'adattatore usb wifi.

    Non è infatti per niente scontato che funzioni nella sola modalità testuale: bisogna impostarsi tutto a mano andando a modificare dei file di configurazione.

    Prerequisito 1: il dispositivo wireless deve essere riconosciuto dal kernel linux (wlan0 da ifconfig), se non viene riconosciuto, provare a vedere questo mio post.

    Prerequisito 2: bisogna assicurarsi di avere installati i pacchetti wireless-tools e wpasupplicant.

    Per impostare l'IP Dinamico per il proprio dispositivo wireless bisogna modificare il file /etc/network/interfaces aggiungendo queste righe:
    auto wlan0
    iface wlan0 inet dhcp
        wpa-ssid NOME_RETE
        wpa-psk PASSWORD_RETE
        wireless-mode managed

    Per impostare l'IP Statico per il proprio dispositivo wireless bisogna modificare il file /etc/network/interfaces aggiungendo queste righe:
    auto wlan0
    iface wlan0 inet static
        address 192.168.0.2
        netmask 255.255.255.0
        gateway 192.168.0.1
        wpa-ssid NOME_RETE
        wpa-psk PASSWORD_RETE

    Se poi si installa un server ssh possiamo tranquillamente lavorarci da remoto, con il PC nello sgabuzzino...

    domenica 27 marzo 2011

    Retrogaming


    Ogni tanto un po' di sano svago ci vuole proprio. Le soluzioni fornite nel campo videoludico sono innumerevoli, per cui è possibile scegliere quella che più si adatta alle esigenze personali.

    Il mio genere preferito: Strategia a turni!
    Sotto linux ad esempio mi sono dilettato con:


    • Age of wonders (wine)

    Emulazione:
    • Amiga
    • C64
    • MAME

    Roguelike:
    • Ancient Domain of Mistery


    Multiplayer online:



    Memoria corta...


    Una delle funzioni utili offerte da synaptic (Sistema→Amministrazione→Gestore Pacchetti, e' quella della cronologia (raggiungibile dal menù File).

    Spesso capita infatti di installare per prova una serie di applicativi, che poi risultano non essere utili per i nostri scopi; mediante la cronologia e' possibile recuperare la lista dei pacchetti installati (con dipendenze) e rimuoverli, lasciando il sistema un po' più pulito.

    Una delle funzionalità che secondo me sarebbe comodissima è la possibilità di selezionare una voce della cronologia ed annullare le installazioni di pacchetti effettuate in quella voce. Speriamo che la implementino in futuro...(nel frattempo ho provato a farne richiesta sul sito ufficiale, ma vedo che l'ultima voce è datata 2007...)

    Collegare il telefonino N70 a linux


    Anche se nel frattempo ho cambiato telefonino, volevo qui riportare delle informazioni su come collegare l'N70 a linux (ubuntu), recuperate da questo post.

    >sudo apt-get install openobex-apps libopenobex1 obexftp bwidget

    lsusb

    > Bus 001 Device 002: ID 0421:043a Nokia Mobile Phones

    sudo gedit /etc/udev/rules.d/40-permissions.rules

    >>BUS=="usb", SYSFS{idVendor}=="0421", SYSFS{idProduct}=="043a", GROUP="dialout"

    sudo gedit /etc/group

    >>dialout:x:20:NOME_UTENTE

    sudo /etc/init.d/udev restart

    sudo apt-get install obexfs

    cd && mkdir Telefonino

    sudo chgrp fuse /bin/fusermount                        
    sudo chmod u+s /bin/fusermount                          
    sudo adduser NOME_UTENTE fuse
    sudo /etc/init.d/udev restart
    lsmod | grep fuse
    obexftp -u
    obexfs -u 1 Telefonino/

    ##monta il cell
    sudo obexfs -u 1 Telefonino/

    ##smonta
    sudo fusermount -u Telefonino

    sabato 8 gennaio 2011

    Chattare con android


    Seguendo la regola indicata qui, comincierò anche io a scrivere post riguardo ad android.

     Da 10 giorni ho messo le mani su un simpatico smartphone: il Desire HD dell'HTC.

    Confermo quanto di buono e di cattivo si dice nelle recensioni, la più fastidiosa è la durata della batteria, circa un giorno (!).
    Inoltre, mettendolo di fianco ad un Desire semplice, si nota come l'immagine dell'HD sia molto meno luminosa e definita...
    (magari devo giocare con le impostazioni della luminosità?)

    Ho trovato un po' di difficoltà con le applicazioni preinstallate, non so a cosa servono, non so come si esce, mi sembra che ogni applicazione rimanga in memoria consumando tanta batteria, non ci sono spiegazioni, ecc...spero di riuscire a capirci qualcosa quanto prima!

    Il manuale ufficiale in pdf si può recuperare da qui, la documentazione contenuta nella scatola è piuttosto scarna.

    Nel frattempo, mi volevo segnare qui le principali applicazioni di Messaggistica Istantanea per i vari servizi di chat a cui sono registrato (gtalk, msn, icq, fb chat...):

    - ebuddy
    - nimbuzz
    - fring
    - slick
    - morange

    pare che nimbuzz sia uno dei migliori...adesso vado subito ad installarlo!