Login e autenticazione facciale in Linux

 

PFA ovvero Pluggable Authentication Module for Face Authentication, provvede in maniera veloce all'autenticazione tramite una serie di scansioni fatti in precedenza del nostro viso. Io l'ho provato sul mio netbook Acer Aspire One, equipaggiato con Easy Peasy e devo dire che mi ha felicemente stupito, anche se un bug in fase di autenticazione l'ho già notato. Comunque lasciando perdere il discorso sulla sicurezza e sull'usabilità, diciamo che fa scena.

A vostro rischio e pericolo 🙂

Pacchetti necessari:

# apt-get install build-essential cmake qt4-qmake libx11-dev libcv-dev
# apt-get install libcvaux-dev libhighgui4 libhighgui-dev libqt4-dev libpam0g-dev

 

Installazione:

$ cd /tmp
$ wget
$ tar zxf pam-face-authentication-0.3.tar.gz
$ cd pam-face-authentication-0.3
$ mkdir build
$ cd build
$ cmake -D CMAKE_INSTALL_PREFIX=/usr ..
$ make
# make install

Configurazione

$ qt-facetrainer

si aprirà una finestra dove partirà il processo di acquisizione di più immagini del nostro viso, ne consiglio almeno 8. Abilitiamo PFA per sudo il login manager e GDM:

sudo sed -i '1i auth sufficient pam_face_authentication.so enableX' /etc/pam.d/sudo

sudo sed -i '1i auth sufficient pam_face_authentication.so enableX' /etc/pam.d/gdm

sudo sed -i '1i auth sufficient pam_face_authentication.so enableX' /etc/pam.d/gnome-screensaver

per chi usa KDE:

sudo sed -i '1i auth sufficient pam_face_authentication.so enableX' /etc/pam.d/kde

 

riavviamo e siamo pronti al login " facciale " 🙂

 

Benchmark bash dash ksh csh zsh

 

PoisonBit per lavori che sta facendo a voluto fare dei test per decidere quale shell usare, a questo proposito ha fatto un test per verificarne le performance. Io ho modificato questo script aggiungendo ulteriori shell. Lo script è il seguente:

 

#!/bin/bash

testdir=$HOME/test
mkdir -p "$testdir"
printf '#!/bin/dash --\n\n' > "$testdir/dash"
printf '#!/bin/bash --\n\n' > "$testdir/bash"
printf '#!/bin/ksh --\n\n'  > "$testdir/ksh"
printf '#!/bin/csh --\n\n'  > "$testdir/csh"
printf '#!/bin/zsh --\n\n'  > "$testdir/zsh"
chmod +x "$testdir"/*

for i in 1 10 100 1000 10000
do
    for shell in 'bash' 'dash' 'ksh' 'csh' 'zsh'
    do
        result=''
        printf "$shell\t$i\t"
        result="$(
            (time for ((x=0; x < $i; x++));
             do
                 "$testdir/$shell";
             done) 2>&1 | awk -F\  '/real/{print $2}'
        )"
        printf "$result\n"
    done
    printf -- '-------------------------\n'
done

 

salviamo come test-shell.sh

$ chmod a+x test-shell.sh

 

lo lanciamo con:

$ ./test-shell.sh

 

come si può vedere dai risultati il più performante è dash, ma questo era prevedibile, quello che è interessante sono proprio le differenze in termini numerici tra di loro.

 

edmond@debianbox:~$ ./testshell.sh
bash    1    0m0.002s
dash    1    0m0.001s
ksh    1    0m0.002s
csh    1    0m0.004s
zsh    1    0m0.003s
————————-
bash    10    0m0.021s
dash    10    0m0.009s
ksh    10    0m0.019s
csh    10    0m0.039s
zsh    10    0m0.032s
————————-
bash    100    0m0.202s
dash    100    0m0.088s
ksh    100    0m0.181s
csh    100    0m0.380s
zsh    100    0m0.294s
————————-
bash    1000    0m1.900s
dash    1000    0m0.867s
ksh    1000    0m1.793s
csh    1000    0m3.759s
zsh    1000    0m3.078s
————————-
bash    10000    0m19.689s
dash    10000    0m8.577s
ksh    10000    0m17.453s
csh    10000    0m36.365s
zsh    10000    0m29.948s

il vincitore è  Debian Almquist Shell (dash)

Linux Slot Machine in flash

 

 

 

 

 

                                                                         Premere spin

 

Poco tempo fa avevo parlato di Swftools, una serie di tools in grado di leggere e creare file.swf (flash), e come già detto in precedenza è un pò che lo conosco, ed in quel poco di tempo libero che mi rimane cerco  d'apprendere  qualche segreto in più. E proprio nella ricerca di ulteriori guide per la compilazione di un file.swf e le sue più svariate opzioni,, mi sono imbattuto in Distro Slot.e quindi l'ho scaricato per cercare di studiarlo. Ho fatto delle piccole modifiche e lo si può scaricare da qua. Quindi una volta installato Swftools:

$ tar xjvf Linux-slot-machine.tar.bz2

$ cd Linux-slot-machine

quindi compiliamo con:

$ swfc -o distro_slot.swf distro_slot.sc

e possiamo goderci la Linux Slot Machine in Flash 😉 per chi volesse solamente il file .swf può scaricarlo quà.

Il primo che riesce a fare un tris di Debian o altro è pregato di postare uno screenshot 🙂

Video installazione Debian Gnu/kFreeBsd

 

 

 

 

 

Ho voluto fare un video di installazione di Debian Gnu/kFreeBsd su virtualbox per far conoscere la semplicità del nuovo debian installer, ma soprattutto far vedere che funziona :). Diciamo che adesso a differenza della guida che ho fatto tempo fa alcuni bug sono stati risolti e a differenza di allora non dobbiamo mettere mano a xorg.conf aggiungendo delle  opzioni per farlo funzionare. Adesso rifacendo una nuova installazione su hard disk non ho avuto grossi problemi, la mini.iso che ho usata è questa  ed una volta finito l'installazione e riavviato, tutto è andato bene o quasi. Se al riavvio abbiamo lo schermo nero e vediamo soltanto il mouse, entriamo in ttyv1 o successive e comandiamo un:

# rm /tmp/.X0-lock

sinceramente non ho ancora provato a capire dove è il problema.

quindi:

$ startx

se all'avvio su dektop appare questo errore:

andare in /etc/fstab e commentare questa riga;

#fdesc           /dev/fd         fdescfs rw              0       0

ed aggiungiamo anche le nostre partizioni linux/dati inserendo qualcosa di simile, adattandolo alle vostre esigenze.

/dev/ad0s6     /mnt/dati       ext2fs   rw              0       1

Gnu/Linux……un sentimento reciproco 🙂 ….generazione morta 🙂

Converseen-convertire 100+ formati

 

 

Ho scoperto da poco Converseen, e devo dire che è un ottimo programma, anche se, come dice lo stesso autore italiano, c'è ancora qualche bug da sistemare. Comunque può risultare molto utile nell'ottimizzazione, conversione ( oltre 100 formati) e ridimensione di un gruppo di immagini. Io l'ho installato su Debian Squeeze/Sid con:

# apt-get install qt4-qmake imagemagick libmagick++3 libmagick++-dev

$ wget https://sourceforge.net/projects/converseen/files/Converseen/Converseen%200.3/converseen_0.3.tar.bz2/download

$ tar -xvf converseen_0.3.tar.bz2

$ cd converseen_0.3

$ qmake && make

# make install

Conoscere chi usa la memoria con lo script ps_mem.py

 

 

 

 

 

 

Questo script in pyton, ps_mem.py, può risultare molto utile ogni qual volta si ha bisogno di sapere quanta memoria ogni singolo programma occupa. Per chi volesse provarlo:

$ wget https://www.pixelbeat.org/scripts/ps_mem.py

# mv ps_mem.py /usr/local/sbin/

# chmod 755 /usr/local/sbin/ps_mem.py

lo lanciamo con:

# ps_mem.py

il risultato è una lista minuziosa.

root@debianbox:/home/edmond# ps_mem.py
 Private  +   Shared  =  RAM used    Program

112.0 KiB +  30.5 KiB = 142.5 KiB    portmap
128.0 KiB +  22.5 KiB = 150.5 KiB    gnome-pty-helper
140.0 KiB +  12.0 KiB = 152.0 KiB    sh
144.0 KiB +  22.0 KiB = 166.0 KiB    atd
144.0 KiB +  23.0 KiB = 167.0 KiB    acpid
164.0 KiB +  19.5 KiB = 183.5 KiB    init
160.0 KiB +  33.5 KiB = 193.5 KiB    hald-addon-rfkill-killswitch
164.0 KiB +  33.5 KiB = 197.5 KiB    hald-addon-leds
164.0 KiB +  34.5 KiB = 198.5 KiB    hald-addon-input
168.0 KiB +  35.5 KiB = 203.5 KiB    hald-addon-acpi
192.0 KiB +  53.5 KiB = 245.5 KiB    rpc.statd
256.0 KiB +  14.0 KiB = 270.0 KiB    ssh-agent
220.0 KiB +  50.5 KiB = 270.5 KiB    cron
240.0 KiB +  44.5 KiB = 284.5 KiB    hald-addon-usb-csr
268.0 KiB +  30.5 KiB = 298.5 KiB    hald-runner
272.0 KiB +  29.5 KiB = 301.5 KiB    dbus-launch
332.0 KiB +  14.0 KiB = 346.0 KiB    hddtemp
332.0 KiB +  48.5 KiB = 380.5 KiB    kerneloops
364.0 KiB +  48.0 KiB = 412.0 KiB    usbmuxd
336.0 KiB + 103.0 KiB = 439.0 KiB    gvfsd-burn
352.0 KiB + 119.5 KiB = 471.5 KiB    su
448.0 KiB +  43.0 KiB = 491.0 KiB    exim4
444.0 KiB +  65.5 KiB = 509.5 KiB    gvfsd-metadata
516.0 KiB +  17.0 KiB = 533.0 KiB    dhclient
460.0 KiB +  89.0 KiB = 549.0 KiB    gvfs-gphoto2-volume-monitor
468.0 KiB + 108.0 KiB = 576.0 KiB    getty (6)
480.0 KiB + 105.5 KiB = 585.5 KiB    gdm3
472.0 KiB + 126.5 KiB = 598.5 KiB    bluetoothd
464.0 KiB + 156.0 KiB = 620.0 KiB    gvfs-afc-volume-monitor
664.0 KiB +  71.5 KiB = 735.5 KiB    modem-manager
504.0 KiB + 252.0 KiB = 756.0 KiB    avahi-daemon (2)
592.0 KiB + 186.0 KiB = 778.0 KiB    gdm-session-worker
676.0 KiB + 236.0 KiB = 912.0 KiB    wpa_supplicant
792.0 KiB + 156.5 KiB = 948.5 KiB    bonobo-activation-server
820.0 KiB + 169.0 KiB = 989.0 KiB    gvfs-gdu-volume-monitor
968.0 KiB +  52.5 KiB =   1.0 MiB    rsyslogd
868.0 KiB + 206.0 KiB =   1.0 MiB    gdm-simple-slave
352.0 KiB + 741.0 KiB =   1.1 MiB    udevd (3)
904.0 KiB + 225.0 KiB =   1.1 MiB    hald-addon-storage (6)
  1.0 MiB +  94.0 KiB =   1.1 MiB    gvfsd
980.0 KiB + 176.5 KiB =   1.1 MiB    console-kit-daemon
728.0 KiB + 436.5 KiB =   1.1 MiB    upowerd
  1.1 MiB + 105.0 KiB =   1.2 MiB    gnome-keyring-daemon
  1.0 MiB + 203.0 KiB =   1.2 MiB    gvfsd-trash
  1.0 MiB + 162.5 KiB =   1.2 MiB    polkitd
944.0 KiB + 303.5 KiB =   1.2 MiB    udisks-daemon (2)
904.0 KiB + 439.5 KiB =   1.3 MiB    gvfsd-afc
  1.0 MiB + 322.0 KiB =   1.3 MiB    kerneloops-applet
  1.2 MiB + 281.5 KiB =   1.5 MiB    NetworkManager
  1.5 MiB + 210.0 KiB =   1.7 MiB    cupsd
  1.3 MiB + 457.5 KiB =   1.8 MiB    gdu-notification-daemon
  1.4 MiB + 368.0 KiB =   1.8 MiB    seahorse-agent
  1.5 MiB + 324.0 KiB =   1.8 MiB    dbus-daemon (2)
  1.5 MiB + 425.5 KiB =   1.9 MiB    gnome-screensaver
  1.8 MiB + 748.0 KiB =   2.6 MiB    multiload-applet-2
  1.9 MiB + 804.5 KiB =   2.7 MiB    trashapplet
  1.9 MiB + 796.5 KiB =   2.7 MiB    polkit-gnome-authentication-agent-1
  2.3 MiB + 721.0 KiB =   3.0 MiB    nm-applet
  2.2 MiB + 866.0 KiB =   3.0 MiB    update-notifier
  2.3 MiB + 803.5 KiB =   3.0 MiB    gtk-window-decorator
  2.3 MiB + 806.0 KiB =   3.1 MiB    x-session-manag
  3.1 MiB +  65.5 KiB =   3.2 MiB    hald
  3.3 MiB +  96.0 KiB =   3.4 MiB    gconfd-2
  3.0 MiB + 722.0 KiB =   3.7 MiB    bash (2)
  3.3 MiB + 805.0 KiB =   4.1 MiB    gnome-terminal
  3.5 MiB + 936.5 KiB =   4.4 MiB    gnome-settings-daemon
  4.4 MiB +   1.1 MiB =   5.5 MiB    mixer_applet2
 11.9 MiB + 847.0 KiB =  12.7 MiB    coherence
 17.3 MiB +   2.1 MiB =  19.4 MiB    rhythmbox
 17.4 MiB +   2.5 MiB =  19.9 MiB    gnome-panel
 34.2 MiB +   5.5 MiB =  39.7 MiB    nautilus
 47.1 MiB +   2.5 MiB =  49.6 MiB    compiz
 46.3 MiB +   4.8 MiB =  51.0 MiB    Xorg
244.8 MiB +   2.6 MiB = 247.4 MiB    firefox-bin

———————————
                        524.4 MiB
=================================

 Private  +   Shared  =  RAM used    Program

Swftools su Debian Squeeze/Sid

 

 

 

 

 

 

 

Swftools include una serie di strumenti che servono per leggere file.swf  (Adobe Flash), e riesce a creare,  tra l'altro partendo da delle  immagini, o da pdf ,  un file in flash. Comunque qua c'è la documentazione dei vari tools. Io è un pò che lo conosco e se non ricordo male prima si trovava nei repo, ma adesso non so come mai, ma non esiste più…va bè. Comunque ho voluto installarlo e dopo qualche problema di librerie mancanti ed errori vari, sono riuscito a compilarlo.

Requisiti:

apt-get install libgif-dev xpdf libfreetype6 libfreetype6-dev libjpeg62 libjpeg8 libjpeg8-dev

verificare se manca qualcos'altro.

Scaricare compilare installare

$ wget https://www.swftools.org/swftools-0.9.1.tar.gz

$ tar -zvxf swftools-0.9.1.tar.gz

$ cd swftools-0.9.1

$ ./configure --prefix=/usr/local

$ make

se c'è un errore come questo:

jpeg.c:463: error: conflicting types for ‘jpeg_load_from_mem’
jpeg.h:15: error: previous declaration of ‘jpeg_load_from_mem’

risolvere editando il file jpeg.c e modificarlo da così:

int jpeg_load_from_mem(unsigned char*_data, int size, unsigned char*dest, int width, int height)

a così:

int jpeg_load_from_mem(unsigned char*_data, int _size, unsigned char**dest, int*width, int*height)

un altro errore che potrebbe verificarsi è il seguente:

make[2]: *** No rule to make target `xpdf-*tar.gz', needed by `xpdf/Gfx.cc'.  Stop.

si risolve con:

$ cd lib/pdf

$ wget

$ perl inject-xpdf.pl xpdf-3.02.tar.gz

se alla fine non ci sono errori siamo pronti per l'installazione, in caso di altri errori postare:

# make install oppure make checkinstall

a questo punto siamo pronti ad ottenere un immagine in flash come sopra ,creando un file.sc ed inserendo all'interno:

.flash filename="file.swf" version=5 fps=25
   
    .jpeg s1 "file.jpeg" quality=80%

    .put s1 x=50 y=50 scalex=110 scaley=110
    .frame 50
    .change s1 x=0 y=0 scalex=210 scaley=210 red=-1+255 green=-1+255 blue=-1+255 #invert
    .frame 100
    .change s1 x=100 y=50 scalex=110 scaley=110 red=0 green=+0 blue=+0 #remove red
    .frame 150
    .change s1 x=0 y=0 scalex=210 scaley=210 red=+0 green=2 blue=-1+255 #amplify green, invert blue
    .frame 200
    .change s1 x=50 y=100 scalex=110 scaley=110 red=2-128 green=-2+255 blue=+0.7+40 #alien glow
    .frame 250
    .change s1 x=0 y=0 scalex=210 scaley=210 red=8-1024 green=8-1024 blue=8-1024 #palette reduce
    .frame 300
    .change s1 x=0 y=0 scalex=210 scaley=210 red=+0 green=+0 blue=+0 #back to normal
    .frame 350
    .change s1 x=105 y=105 scalex=0 scaley=0 luminance=0 #fadeout
.end

quindi diamo il comando: comando:

$ swfc file.sc

Invece se vogliamo convertire un file.pdf in file .swf utilizziamo l'utility pdf2sw:

$ pdf2swf file.pdf -o file.swf

 

Comunque sul sito si trovano vari esempi di utilizzo per i vari strumenti.

Installazione Debian GNU/Hurd Video

 

Questo video mostra passo passo l'installazione di Debian Gnu/Hurd su VirtualBox. Per esigenze inerenti youtube ho dovuto dividerlo in tre parti. Ho fatto qualche pausa quà e là, ma il video è venuto un pò lunghino, comunque fa vedere tutte le fasi salienti d'installazione e configurazione di Debian Gnu/Hurd. comunque per il primissimo passo  fare riferimento a questa guida. Non è privo di qualche errorino fatto per un calo di concentrazione visto la lunghezza e l'attesa inerente all'avvio lento, allo scaricamento dei pacchetti ed all'installazione di essi.

 

Debian Gnu/Hurd-parte1:

Ci sono le prime fasi base d'installazione e tutto risulta comprensibile, quindi nulla da segnalare.

 

 

Debian Gnu/Hurd-parte2:

Qua c'è qualcosa da segnalare, ovvero dopo l'upgrade, ho installato xorg fluxbox e openbox, cosa che è ininfluente dato che poi all'interno di X bisogna reinstallarli.

 

 

Debian Gnu/Hurd-parte3:

Qua siamo alle fasi finali, ovvero l'avvio di X ed i window manager, per il resto è solo un giro di perlustrazione.

 

 

 

Per quanto riguarda la funzionalità, l'usabilità, ed i test su alcuni programmi di base, sto testando, e magari prossimamento sarò in grado di dare informazioni più dettagliate.

 

enjoi 😉

Debian GNU/Hurd con X e window manager

 

Avevo parlato tempo fa di Debian GNU/Hurd facendo una guida su come installarla su VirtualBox per poterla provare e a  fine guida mi ero ripromesso che sarei tornato sull'argomento per aggiungere qualche dettaglio in più per quanto riguarda un semplice utilizzo. Bene, essendo in ferie mi sono impegnato e quello che ne è uscito fuori non è niente male. Un video d'installazione (in un post a parte, a breve) è un po di screenshot. La base di partenza è sempre questa guida, mentre in questa che non è niente altro che la continuazione, partendo dalla fine, quindi dall'avvenuta installazione di  Debian GNU/Hurd andiamo ad installare X ed un window manager come Fluxbox e Openbox.

Avviare X:

# su -

# nano start_hurd.sh

inserire:

console -d vga -d pc_mouse --repeat=mouse -d pc_kbd --repeat=kbd -d generic_speaker -c /dev/vcs

salvare e:

# chmod u+x start_hurd.sh

# ./start_hurd.sh

a questo punto ci troviamo all'interno della Mach console:

 

e dobbiamo effettuare il login utente e poi diventare root, per installare quello che ci serve:

# apt-get install xorg fluxbox openbox

alla fine la luce:

# startx

Openbox:

Fluxbox:

synaptic funziona egregiamente, ma niente Gnome O Kde, ci sono problemi di dipendenze:

Che dire di più, se non che spero che si possano fare passi avanti per avere una Debian GNU/Hurd competitiva, anche se una delle ultime interviste di Richard Stallman mi preoccupa:

13. Joeboy: Are you still at all optimistic about HURD, or would you agree that ship has sailed?
    
    RMS: I am not very optimistic about the GNU HURD. It makes some progress,
    but to be really superior it would require solving a lot of deep
    problems. However, mainly what I think about the HURD is that
    finishing it is not crucial.
    
    When we started the HURD, it was for a simple reason. The GNU system
    needed a kernel, and no usable free kernel existed. We set out to
    write one.
    
    That problem does not exist today. Linux works ok as a kernel.
    
    The main shortcoming of Linux is at the level of device support. The
    obstacle there isn't a lack of ability among Linux developers, but
    rather the use of devices whose specs are secret.
    
    Finishing the HURD would not advance us at all in supporting these
    devices. The work that is needed is at the driver and firmware level.
    That's why our high priority task list includes items relating to free
    drivers, but not the HURD.
    
    That's also why fsf.org has hardware resource pages. Your help in
    updating them would strengthen us in this important battle.
    
    Sure, it would be nice to see a GNU kernel succeed — but there are
    many successful GNU packages, so having one more is not crucial.

Virtualbox su Debian Squeeze

 

                                                                   

                                                                                    VirtualBox su Debian in 5 passi:

 

# apt-get install virtualbox-ose virtualbox-ose-source module-assistant

# m-a prepare

# m-a a-i virtualbox-ose-source

# modprobe vboxdrv

# sh -c 'echo "vboxdrv" >> /etc/modules'