sabato 11 giugno 2016

Avviare kodi solo se la TV è accesa


Lascio sempre il mio raspberry acceso anche se alcuni periodi lo uso molto poco. Le assicurazioni riguardo al suo bassissimo consumo vanno però corroborate da esperienza diretta, per cui mi sono collegato al raspberry e ho dato un bel htop e, sorpresa! In idle completo ho notato la CPU al 10/15% ! Mi sarei aspettato dei valori 0 virgola, eppure non era così! Allora sono andato a vedere cosa consumava più CPU e ho notato il processo Kodi.Bin.

Una ricerca su internet mi ha confermato che Kodi in idle consuma, e dipende anche dalla skin selezionata (io uso quella di default), anche se non si usa da ore ed è da quasi sempre acceso lo screensaver (il dimming).

Per questo motivo mi è venuta l'idea di lanciare kodi solo se la TV è accesa, ed ho visto che anche qualcun altro ha avuto la mia stessa idea, per cui ho deciso di creare il mio script di verifica della TV, ottenendo il seguente:
#!/bin/bash

ping -c 1 -W 1 192.168.1.7 > /dev/null

if [ $? -eq 0 ]; then

        systemctl -q status mediacenter > /dev/null

        if [ $? -ne 0 ]; then
                sudo systemctl start mediacenter
        fi

else

        systemctl -q status mediacenter > /dev/null

        if [ $? -eq 0 ]; then
                sudo systemctl stop mediacenter
        fi

fi

exit 0 

Poi ho creato il file /etc/systemd/system/checkHdmi.service con il seguente contenuto:
[Unit]
Description=Pinga la TV

[Service]
Type=simple
ExecStart=/home/osmc/checkHdmi.sh

Ed il file /etc/systemd/system/checkHdmi.timer che lancia il servizio ogni minuto:
[Unit]
Description=Check if TV is on

[Timer]
OnBootSec=60
OnUnitActiveSec=60
Unit=checkHdmi.service

[Install]
WantedBy=timers.target

Ho abilitato ed avviato il servizio con i comandi: 

systemctl enable checkHdmi.timer   
systemctl start checkHdmi.timer

Dns dinamico


La necessità è quella di raggiungere dall'esterno il server casalingo che abbiamo messo su, magari per farci ssh dall'esterno della lan di casa, un client torrent web al quale aggiungere .torrent dal telefonino mentre siamo in giro o un sito http per provare wordpress o tomcat.

Ci sono una serie di siti che forniscono dns dinamico gratuitamente, tra i quali:
  • noip (richiede mensilmente la conferma, anche se usato)
  • afraid (i subdomain possono sparire in maniera impredicibile)
  • duckdns
  • nsupdate (richiede annualmente la conferma, se non usato)

Se siamo abbstanza fortunati sul pannello di configurazione del modem/router ADSL c'è già la possibilità di settare un indirizzo dinamico, altrimenti bisogna configurarselo a mano.

Configurare il server casalingo per comunicare il nuovo IP al sito dns dinamico è un vero inferno se usiamo dyndns o inadyn, ma abbastanza semplice se usiamo il comando http che ci fornise il sito dns dinamico; tale comando aggiorna sul sito il nostro nuovo indirizzo IP visibile dall'esterno.

Per il servizio afraid è un comando wget che ho inserito nello script /etc/rc.local, ma il problema è che tale script viene eseguito prima che internet sia raggiungibile; va quindi inserito un test per verificare la connettività.

Tale test lo prendiamo per esempio da qui, ed aggiungiamo un'attesa con retry infinito, il risultato è la seguente sezione di script (ringraziamo sempre il sito tohtml.com per la conversione in HTML):
#!/bin/sh

isConnected="0"

while [ $isConnected -eq "0" ]
do
        sleep 10
        wget -q --spider http://freedns.afraid.org
        if [ $? -eq 0 ]; then
                isConnected="1"
        fi
done

wget -O /dev/null http://freedns.afraid.org/dynamic/update.php?XXX

exit 0
Da notare di questo script:
  • se internet non è raggiungibile questo script non esce;
  • se si riavvia il modem, cambia l'indirizzo IP assegnato dall'ISP e andrebbe rilanciato questo script.
Il passo successivo è attivare il port forwarding sul router, in modo da indicare che le richieste che arrivano al modem dall'esterno su determinate porte vanno rigirate sul server casalingo.

Configurazione in systemd


Adottato ormai in quasi tutte le distribuzioni, va configurato in modo che lanci all'avvio lo script di update DNS inserito sopra:
  • bisogna creare il file /etc/systemd/dynamicDns.service con il seguente contenuto:
[Unit]
Description=Aggiorna il server DNS
Wants=network-online.target
After=network-online.target

[Service]
Type=oneshot
ExecStart=/home/osmc/updateDns.sh

[Install]
WantedBy=multi-user.target

Dove il file indicato nel campo ExecStart contiene lo script di cui sopra.

venerdì 3 giugno 2016

Telecomando WII per Kodi su Xbian (e forse anche per altre distribuzioni)


Per far funzionare il telecomando wii con Kodi ho dovuto effettuare i seguenti passaggi:
  1. Recuperare un dongle bluetooth
  2. Installare lo stack bluetooth di linux bluez con il comando apt-get install bluez
  3. Lanciare il comando hcitool scan e premere contemporaneamente i tasti 1 e 2 del telecomando wii: i led del telecomando lampeggieranno per una ventina di secondi in attesa del comando di accoppiamento
  4. Se il comando precedente non va a buon fine lanciare il comando hciconfig hci0 reset e riprovare con il comando al punto precedente
  5. Installare i driver wiimote con il comando apt-get install python-cwiid xbmc-eventclients-common
  6. Recuperare lo script xbmc-wiimote dalla pagina https://github.com/paulvt/xbmc-wiimote, renderlo eseguibile con il comando chmod -x e metterlo in una cartella del PATH (io l'ho messo in /usr/bin)
  7. Lanciare lo script del punto precedente con il parametro -b , dove è il valore trovato con il comando del punto 3, nel formato di 6 numeri separati da ':'
  8. In kodi il telecomando sarà riconosciuto e funzionante!
  9. Per rendere le modifiche effettive ad ogni riavvio, copiare il comando al punto 7 nel file /etc/rc.local
  10. al successivo riavvio, premere insieme i tasti 1 e 2 del telecomando wii per riattivarne il controllo

Il lettore CD non si apre


Ho una configurazione hardware per la quale non si apre lo sportello del lettore CD, ne con il tastino, ne da windows con il comando espelli, ne da linux con il comando eject.

Per windows ho risolto installando un applicativo di terze parti di cui non ricordo il nome (quando riavvierò il PC in windows lo inserirò qua dentro).

Per linux ho visto risolto usando il parametro -p, per cui il comando
eject -p
ha fatto al caso mio.

Il comando man indica la seguente informazione:
  -p   This  option  allow  you to use /proc/mounts instead /etc/mtab. It
            also passes the -n option to umount(1).
Resta da capire perchè così funziona e normalmente no...

giovedì 5 maggio 2016

Aggiungere canali a TVHeadend




Ho scoperto con orrore che bisogna aggiungersi a mano quantomeno i MUX da cui il nostro dispositivo DVB-T si prende poi i canali.

Per avere la lista di mux ho dovuto cercare su internet; per Roma ad esempio ho trovato questa, ma probabilmente la lista ufficiale è disponibile da qualche altra parte.

Il pannello di configurazione dei mux in tvheadend si raggiunge dai seguenti menù:


Ciascun mux insiste su una frequenza, per cui si seleziona il tasto verde Aggiungi, e dopo aver selezionato la rete esce fuori una schermata con tanti parametri.

Fondamentale inserire la frequenza del mux e l'ampiezza di banda a 8MHz. Portando manualmente lo stato della scansione ad ATTIVO, si forza la scansione, per cui dopo un po' l'interfaccia riporta il numero di servizi trovati.

In caso di fallimento, ho immesso anche la costellazione a QAM/64, poi la modalità di trasmissione e così via. Per gli effettivi valori di FEC ho cercato su internet il nome del MUX (ad esempio per mux rete a 1 esce questo)






sabato 30 aprile 2016

Reinstallare Windows 7 OEM


Mi è capitato tra le mani un laptop HP che non parte più a causa della corruzione dei dati di avvio, ed è quindi da reinstallare il sistema operativo.

La targhetta posta sotto il portatile dice che si tratta di un Windows 7 Home Premium (non si capisce se a 32 o a 64 bit) e contiene anche il codice di licenza.

Direttamente dal sito di Microsoft è possibile installare la iso di Windows 7, ma solo se si è in possesso di una licenza non OEM; in questo caso, bisogna rivolgersi al produttore del PC.

Si trovano in giro su internet le iso di Windows 7, io ho le istruzioni su come recuperarle da questo sito.

Per essere sicuri di aver scaricato quelle ufficiali, è utile confrontare i checksum SHA1 delle iso appena scaricate, una lista di queste si può trovare qui e riportare qua sotto per sicurezza:

Windows 7 SP1
Home Premium edition
32bit:  6071B4553FCF0EA53D589A846B5AE76743DD68FC
64bit:  6C9058389C1E2E5122B7C933275F963EDF1C07B9

Professional edition
32bit:  D89937DF3A9BC2EC1A1486195FD308CD3DADE928
64bit:  0BCFC54019EA175B1EE51F6D2B207A3D14DD2B58

Ultimate edition
32bit:  65FCE0F445D9BF7E78E43F17E441E08C63722657
64bit:  36AE90DEFBAD9D9539E649B193AE573B77A71C83

Da linux è possibile ottenere il checksum SHA mediante il comando sha1sum

Una volta ottenuto il file .ISO, bisogna installarlo su una penna USB o un DVD.

Per il DVD immagino sia facile, usando uno dei DVD burner presenti in giro.

Per la penna USB bisogna usare dei tool specifici:
  • per windows parlano tutti bene di rufus;
  • per linux bisogna usare WinUSB, unetbootin non funziona.

Dopo tutto questo giro, ho ottenuto una penna USB con l'installer di windows 7 avviabile. Ho usato l'immagine a 64 bit visto che il processore è un I5, ed al momento di inserire il codice di licenza l'installer è andato avanti tranquillamente.

Una volta inserita la penna USB e avviato windows, tra le partizioni disponibili per l'installazione mi ha elencato anche la partizione di restore. A questo punto ho pensato che fosse meglio usare il restore del produttore, per avere anche tutti i driver installati (con la modalità manuale bisogna installarsi tutti i driver da soli).

Sapendolo prima, forse avrei risparmiato un po' di tempo (anche se come vedremo in seguito non è stato tempo perso), per cui la prima regola da seguire per reinstallare il sistema operativo è:

verificare se presente e in caso affermativo usare la modalità di restore fornita dal produttore del PC 

Per il portatile HP quindi l'avvio della modalità restore si ottiene schiacciando F11 al boot.
Attivando il ripristino, però ho ottenuto un errore (0xe0ef0003), per cui ho dovuto installare windows manualmente dalla penna USB generata dalla ISO.

sabato 23 gennaio 2016

Gestione di un file video con avconv


Tagliare un file:
time avconv -i input.ts -ss 00:16:44 -t 02:15:00 -c:a copy -c:v copy filmName.mp4

Convertire un file in H.264:
time avconv -i input.ts -c:a copy -c:v libx264 -crf 18 -preset veryfast filmName.mp4

sabato 16 gennaio 2016

Se sparisce la sezione TV (Live) da Kodi



É perchè la stringa m3u del plug-in punta ad un link non funzionante...per risolvere bisogna cambiare la stringa.

Installare Flash su Vivaldi


Sto usando da qualche settimana il browser Vivaldi e sembra molto buono (veloce, ha tutte le funzioni che ci si aspettano). Ho dovuto abbandonare Firefox per un fastidioso bug per cui ad ogni apertura di Firefox usciva un messaggio di errore, perdendo la sessione di navigazione precedente (funzione che trovo fondamentale).

L'altro giorno ero sul sito di cinefili filmtv.it e volevo vedere un trailer, ma il sito mi ha risposto con un messaggio di errore nella finestra del trailer sulla mancanza del plug-in flash. Ho trovato i comandi per installare e far funzionare il plugin flash con vivaldi e me la appunto qui:

  • add-apt-repository ppa:skunk/pepper-flash
  • apt-get update
  • apt-get install pepflashplugin-installer
  • riavviare il browser




martedì 15 dicembre 2015

Root di un HTC Desire HD


Bisogna recuperare da internet i seguenti file:
  • aahk-11092012.zip (circa 100MB)
  • PD98IMG-GB2.zip (circa 260MB)

riporto qui solo i nomi perchè cercandoli con google si trovano in giro.

Bisogna copiare il contenuto del secondo archivio nella cartella PD98IMG creata scompattando il primo.

Seguire le istruzioni contenute nel pacchetto aahk, occhio che la password richiesta cambia ogni volta (cercare nel documento la stringa pa$$ ;) )

Si consiglia di disattivare/ignorare gli antivirus, perchè effettivamente il primo pacchetto contiene un exploit (ZergRush) che viene usato per rootare il telefonino.

Riferimento qui.

Usare il telefonino android per flashare la memory card


Ho acquistato un Raspberry PI 2 per poterci giocare un po', ma ho clamorosamente sbagliato l'acquisto della scheda SD perchè nella versione 2 del RaspBerry ci vuole una micro SD.

Volevo iniziare a smanettare il prima possibile con il nuovo gingillo, e quindi mi sono dovuto ingegnare a trovare una soluzione alternativa; dopo aver girovagato per casa con sguardo perso, l'occhio mi è caduto sul telefonino android che non uso più: dentro c'è una micro SD!


Sul portatile ho lo slot per accedere alle schede SD, ma questa è una micro SD e non ho adattatori in giro!

Mi sono chiesto se era possibile usare il telefonino come lettore di schede micro-SD e ho visto che sul forum ufficiale del raspberry qualcuno voleva fare la stessa cosa, ma la procedura indicata nella risposta non mi è sembrata per niente operativa.

Mi sono quindi messo a cercare nel dettaglio come fare ed il risultato è stato il seguente:

- il telefonino deve essere rootato, il mio non lo era ed ho dovuto rootarlo, mi sono appuntato come fare in questo post
- bisogna scaricare l'immagine da flashare, io ho usato XBian, di poco meno di un giga di dimensione
- poi bisogna avere nella memoria interna del telefonino spazio sufficiente per contenere l'immagine: con il comando adb shell e i comandi linux df e mount ho visto che nella cartella /data c'era sufficiente spazio
- si copia l'immagine con il comando adb push rpi2.img /data (ho rinominato l'immagine per avere un nome da scrivere più semplice)
- si riavvia il telefonino in recovery mode, e mediante il comando df dentro una sessione di adb shell scopro che la memory card è riconosciuta come /dev/block/mmcblk1
- lancio il comando dd if=/data/rpi2.img of=/dev/block/mmcblk1
- si attende la copia, quando ha finito si smonta il tutto, si inserisce la schedina nel raspberry e...


GG


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