Skip navigation

Category Archives: How To

come su windows anche su wine certe librerie non vengono installate con l‘installer.

L’editor senza il file MSCOMCTL.OCX funziona lo stesso, ma su windows compare un errore quando si lancia il “simulatore” (SXSim), su wine invece non succede niente.

Il problema si risolve velocemente lanciando e installando questo eseguibile libraryfiles.exe (sia su windows che su wine)

Un metodo migliore però è copiare il file MSCOMCTL.OCX recuperabile facilmente su internet. Io l’ho trovato qua: http://www.ocxdump.com/download-ocx-files_new.php/ocxfiles/M/MSCOMCTL.OCX/6.01.9782/download.html

Copiarlo nella cartella windows/system32 .

(leggendo in giro consigliano eseguire dal prompt dei comanti regsvr32 MSCOMCTL.OCX per registrare il file,  penso comunque che sia inutile per il funzionamento del programma )

Questa è una guida per quelle poche persone che hanno ancora a che fare con quei vecchi computer che fanno il boot solo da floppy disk, e che quindi non supportano il boot da chiavetta usb.

Alle volte è abbastanza aggiornare il bios per risolvere il problema (almeno così mi dicono). Questa operazione  è spesso più semplice da OS Windows, purtroppo (finché verranno sviluppati tool appositi solo per win32).

Se invece si ha a disposizione ancora un lettore floppy e un introvabile floppy disk ancora funzionante, le possibilità di fare il boot da usb sono diverse.

Si potrebbe pensare anche di installare manualmente una versione di Grub sul floppy e configurarlo per bootare la partizione sulla chiavetta usb.

Ma non andiamo a complicarci la vita ( ci ho provato ma ho fallito miseramente ).

Ho quindi optato per un boot manager più semplice e mirato proprio a fare quello che voglio (oltre a decine di altre altre cose): Plop Boot Manager

i passaggi sono molto semplici,

per prima cosa ho formattato il floppy-disk: (controllate che sia veramente /dev/fd0)


fdformat /dev/fd0

Dalla pagina http://www.plop.at/en/bootmanager.html#runflp ho scaricato l’immagine per i fd:


wget http://download.plop.at/files/bootmngr/plpbt-5.0.11-2.zip

unzip plpbt-*.zip

copiato l’immagine plpbt.img su floppy con il brutale dd:


cd plpbt-*

dd if=plpbt.img of=/dev/fd0

cosi si è creato un floppy che al boot farà scegliere da dove avviare il sistema operativo

per automatizzare il tutto scaricare da http://www.plop.at/en/bootmanager.html#plpcfgbt  i sorgenti del editor delle impostazioni di plop bt:


wget http://download.plop.at/files/bootmngr/plpcfgbt-0.9.zip

unzip plpcfgbt-0.9.zip  cd plpcfgbt-*/src

Compilarlo:

make

montare il floppy e quindi dare:


./plpcfgbt  hiddenusb  /`mount_point_floppy`/plpbt.bin

ed ecco che ogni volta che sarà fatto il boot da quel floppy verrà avviato l’OS sulla chiavetta usb inserita.

consiglio: Le possibilità di Plop Boot Manager sono davvero tante, lo si può avviare anche da cd, da grub, grub2,Windows boot menu, Syslinux, LILO, network.

È anche possibile installarlo nella EPROM della macchina 0.0.

[via Plop Boot Manager]

Per montare una cartella di un server ssh ho trovato utile il programma sshfs.

Installazione da sorgenti:

dipendenze: FUSE 2.2 , glib2.0 devel package.

quindi otteniamo i sorgenti da: http://sourceforge.net/projects/fuse/files/sshfs-fuse/

quindi:


tar xvf ssh-fuse*.tar.gz

cd sshfs-fuse*/

./configure

make

make install #da utente root

Utilizzo:

per prima cosa creiamo la cartella dove monteremo la condivisione:


mkdir /media/ssh/

facciamo in modo che abbia come proprietario l’utente che utilizzerà questa cartella:


chown <user> /media/shh/

consentiamo a fuse il mount da utenti diversi da root e fuse:


echo user_allow_other >> /etc/fuse.conf

quindi ora dall’utente proprietario del punto di mount:


sshfs <uetnte_remoto>:hostname: /media/ssh/ -o allow_other

per smontare la condivisione:

fusermount -u /media/ssh/

AGGIORNATO per la versione 10.0 di xbmc il 17 Feb 2011

L’elenco delle dipendenze di XBMC per linux è elencata nel file README.linux nella cartella dei sorgenti:

debhelper (>= 7.0.50), quilt, python-support, cmake,
 autotools-dev, autoconf, automake, unzip, libboost-dev,
 libgl1-mesa-dev | libgl-dev, libglu-dev, libglew-dev, libmad0-dev, libjpeg-dev,
 libsamplerate-dev, libogg-dev, libvorbis-dev, libvorbisenc2, libfreetype6-dev,
 libfontconfig-dev, libbz2-dev, libfribidi-dev, libsqlite3-dev,
 libmysqlclient-dev, libasound-dev, libpng-dev, libpcre3-dev, liblzo2-dev,
 libcdio-dev, libsdl-dev, libsdl-image1.2-dev, libsdl-mixer1.2-dev, libenca-dev,
 libjasper-dev, libxt-dev, libxtst-dev, libxmu-dev, libxinerama-dev, libcurl3,
 libcurl4-gnutls-dev | libcurl-dev, libdbus-1-dev, libhal-storage-dev,
 libhal-dev, libpulse-dev, libavahi-common-dev, libavahi-client-dev,
 libxrandr-dev, libavcodec-dev, libavformat-dev, libavutil-dev, libpostproc-dev,
 libswscale-dev, liba52-dev, libdts-dev, libfaad-dev, libmp4ff-dev,
 libmpeg2-4-dev, libass-dev, libflac-dev, libwavpack-dev,
 python-dev, gawk, gperf, nasm [!amd64], libcwiid1-dev, libbluetooth-dev,
 zlib1g-dev, libmms-dev, libsmbclient-dev, libtiff4-dev, libiso9660-dev, libssl-dev,
 libmicrohttpd-dev, libmodplug-dev, libssh-dev, gettext, cvs, libtool

(i nomi dei pacchetti cambiano da distro a distro)
per esempio leggendo il README.ubuntu le dipendenze per tutte le versioni di Ubuntu superiori alla 7.04 sono le seguenti:

subversion make g++ gcc gawk pmount libtool nasm automake cmake gperf unzip bison libsdl-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libfribidi-dev liblzo2-dev libfreetype6-dev libsqlite3-dev libogg-dev libasound-dev python-sqlite libglew-dev libcurl3 libcurl4-gnutls-dev x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmad0-dev libogg-dev libvorbisenc2 libsmbclient-dev libmysqlclient-dev libpcre3-dev libdbus-1-dev libhal-dev libhal-storage-dev libjasper-dev libfontconfig-dev libbz2-dev libboost-dev libfaac-dev libenca-dev libxt-dev libxtst-dev libxmu-dev libpng-dev libjpeg-dev libpulse-dev mesa-utils libcdio-dev libsamplerate-dev libmms-dev libmpeg3-dev libfaad-dev libflac-dev libiso9660-dev libass-dev libssl-dev fp-compiler gdc libwavpack-dev libmpeg2-4-dev libmicrohttpd-dev libmodplug-dev libssh-dev gettext cvs

e si possono installare con due semplici comandi:

sudo add-apt-repository ppa:team-xbmc-svn/ppa
##se le librerie della vostra distro sono troppo vecchie aggiungete anche questo repo
#sudo add-apt-repository ppa:team-xbmc/ppa
sudo apt-get update
sudo apt-get build-dep xbmc-dmo

( documentazione dei primo repository e del secondo repository )

Per le distro Debian è necessario il repository Debian Multimedia .
quindi aggiungere le seguenti righe al file /etc/apt/sources.list (se non già presenti)

deb http://www.debian-multimedia.org squeeze main non-free
deb-src http://www.debian-multimedia.org squeeze main non-free

quindi dare:

wget http://www.debian-multimedia.org/pool/main/d/debian-multimedia-keyring/debian-multimedia-keyring_2010.12.26_all.deb
#se il link sopra non funziona recuperare il link corretto alla pagina di debian multimedia

dpkg -i debian-multimedia-keyring_2010.12.26_all.deb

apt-get update

e controllare che non ci siano errori.

Sulla mia Squeeze ho eseguito i seguenti comanti

wget http://mirrors.xbmc.org/releases/source/xbmc-10.0.tar.gz
tar xfvj xbmc-10.0.tar.gz
##in alternativa con subversion:
#svn co https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk/ xbmc
apt-get build-dep xbmc-dmo
apt-get install autoconf build-essential libtool
cd xbmc*
./bootstrap
./configure
make -j 2
make -C lib/addons/script.module.pil
make -C lib/addons/script.module.pysqlite
make install

se la compilazione fallisce riportando un errore riferito alla libdvdread eseguire questo comando nel terminale dalla posizione della cartella contenente i sorgenti.

cat xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread/misc/dvdread-config.sh >> xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread/obj/dvdread-config
chmod 0755 xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread/obj/dvdread-config

Dipendenze per i driver grafici e per i codec H.264:

apt-get install mesa-utils mplayer-nogui

LE DIPENDENZE PER DEBIAN SQUEEZE DELLA NUOVA VERSIONE DI XBMC (10.0) SONO:

autoconf autopoint binutils build-essential ccache cmake cmake-data comerr-dev debhelper diffstat dpkg-dev emacsen-common fakeroot g++ g++-4.4 gawk gcc gcc-4.4 gettext git  gperf html2text intltool-debian krb5-multidev liba52-0.7.4-dev libaa1-dev libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libartsc0  libartsc0-dev libasound2-dev libass-dev libaudio-dev libaudio2 libaudiofile-dev libavahi-client-dev libavahi-common-dev libavcodec-dev libavcore-dev libavformat-dev  libavutil-dev libbluetooth-dev libboost-dev libboost1.42-dev libbz2-dev libc-dev-bin libc6-dev libcaca-dev libcdio-dev libcrystalhd-dev libcrystalhd2 libcurl3  libcurl4-gnutls-dev libcwiid-dev libcwiid1 libdbus-1-dev libdc1394-22-dev libdca-dev libdirac-decoder0 libdirac-dev libdirectfb-dev libdirectfb-extra libdpkg-perl  libdts-dev libenca-dev liberror-perl libesd0-dev libexpat1-dev libfaac-dev libfaad-dev libflac-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libftgl-dev  libftgl2 libgcrypt11-dev libgl1-mesa-dev libglew1.5 libglew1.5-dev libglib2.0-dev libglu1-mesa-dev libgnutls-dev libgpg-error-dev libgsm1-dev libhal-dev  libhal-storage-dev libice-dev libidn11-dev libiso9660-7 libiso9660-dev libjasper-dev libjpeg62-dev libkrb5-dev libldap2-dev liblzo2-2 liblzo2-dev libmad0-dev  libmail-sendmail-perl libmicrohttpd-dev libmicrohttpd5 libmikmod2 libmikmod2-dev libmms-dev libmodplug-dev libmp3lame-dev libmpcdec-dev libmpeg2-4-dev  libmysqlclient-dev libmysqlclient16 libncurses5-dev libogg-dev libopencore-amrnb-dev libopencore-amrwb-dev liborc-0.4-dev libpcre3-dev libpcrecpp0 libpng12-dev  libpostproc-dev libpthread-stubs0 libpthread-stubs0-dev libpulse-browse0 libpulse-dev libraw1394-dev librtmp-dev libsamplerate0 libsamplerate0-dev  libschroedinger-dev libsdl-image1.2 libsdl-image1.2-dev libsdl-mixer1.2 libsdl-mixer1.2-dev libsdl1.2-dev libslang2-dev libsm-dev libsmbclient-dev libsmpeg-dev  libsmpeg0 libsqlite3-dev libssh2-1 libssl-dev libstdc++6-4.4-dev libsvga1-dev libswscale-dev libsys-hostname-long-perl libsysfs-dev libtasn1-3-dev libtheora-dev  libtiff4-dev libtiffxx0c2 libunistring0 libva-dev libva-glx1 libva-tpi1 libvdpau-dev libvdpau1 libvorbis-dev libwavpack-dev libx11-dev libx264-dev libxau-dev  libxcb1-dev libxdmcp-dev libxext-dev libxi-dev libxinerama-dev libxmlrpc-c3 libxmu-dev libxmu-headers libxrandr-dev libxrender-dev libxt-dev libxtst-dev  libxvidcore4-dev linux-libc-dev make manpages-dev mesa-common-dev mysql-common nasm pkg-config po-debconf python2.6-dev quilt rsync sharutils x11proto-core-dev  x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-record-dev x11proto-render-dev x11proto-xext-dev x11proto-xinerama-dev xtrans-dev zip zlib1g-dev

Dipendenze che, su Squeeze, si installano con un semplice:

apt-get build-dep xbmc

dipendenze su lenny per la versione precendente di XBMC 9.x :

apt-get -y install subversion make g++ gcc curl gawk pmount libtool nasm yasm automake cmake gperf zip unzip bison libsdl-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libfribidi-dev liblzo2-dev libfreetype6-dev libsqlite3-dev libogg-dev libasound-dev python-sqlite libglew-dev libcurl3 libcurl4-gnutls-dev libxrandr-dev libxrender-dev libmad0-dev libogg-dev libvorbisenc2 libsmbclient-dev libmysqlclient-dev libpcre3-dev libdbus-1-dev libhal-dev libhal-storage-dev libjasper-dev libfontconfig-dev libbz2-dev libboost-dev libfaac-dev libenca-dev libxt-dev libxtst-dev libxmu-dev libpng-dev libjpeg-dev libpulse-dev mesa-utils libcdio-dev libsamplerate-dev libmms-dev libmpeg3-dev libfaad-dev libflac-dev libiso9660-dev libass-dev libssl-dev fp-compiler gdc libwavpack-dev libmpeg2-4-dev libmicrohttpd-dev libmodplug-dev libssh-dev gettext cvs libdvd-dev libdvdnav-dev
apt-get -y install build-essential debhelper dpkg-dev fakeroot html2text intltool-debian liba52-0.7.4-dev libavcodec-dev libavcodec52 libavformat-dev libavformat52 libavutil-dev libavutil49 libbluetooth-dev libcwiid-dev libcwiid1 libcwiid1-dev libdca-dev libdca0 libdts-dev libgsm1 libmail-sendmail-perl libmpcdec-dev libmpcdec3 liboil0.3 libpostproc-dev libpostproc51 libschroedinger-1.0-0 libspeex1 libswscale-dev libswscale0 libsys-hostname-long-perl libtheora0 libvdpau-dev libvdpau1 libxinerama-dev patch po-debconf python-dev python2.6-dev x11proto-xinerama-dev xz-utils

Collegamenti utili:

conoscere numero di file in un archivio

$cat archive.tar.bz2 | tar xjv | wc -l
revealed 100 files in the tar archive

Numero di file in una cartella:

$ find ./ -name \* -print | wc -l
This also reveled 100 files

il comando è un po astruso ma è l’unico che ho trovato che funziona.
il comando ls raggruppa i file dando risultati non validi

android
Di articoli sullo sviluppo di applicazioni Android si è fatta indigestione. Tutti parlano di dover studiare Java, Ant, SQlite e GnuPG.
Ma se uno non avesse voglia di diventare un programmatore?
C’è un modo, molto sofisticato di sviluppare applicazioni complesse senza scrivere una riga di codice. Il progetto arriva direttamente da Montain View e si chiama Google App Inventor.
Lo sviluppo della grafica dell’applicazione è gestita in modo visuale e le funzionaità si creano con schemi a blocchi.
I blocchi disponibili sono davvero tanti, tanto che si potrebbe pensare che non ne abbiano dimenticata neanche una (ci sono blocchi addirittura per interfacciuarsi con i social network).
Il progetto è ancora in fase beta, la registrazione è consentita solo ai possessori di un account Google (è richiesto un indirizzo Gmail) e bisogna aspettare l’approvazione da parte di Google.
Per testare le applicazioni viene fornita una applicazione java che provvederà ad interfacciare l’applicazione web con il vostro smartphone .

su server Debian based:


aptitude install apache2 mysql-server mysql-client libapache2-mod-auth-mysql

successivamente abilitare i moduli installati


a2enmod dav_fs
a2enmod dav
a2enmod auth_mysql

WebDAV può utilizzare mysql per l’autenticazione, creando una tabella contenente:

  • username
  • passwd
  • groups

(ovviamente per ragioni di sicurezza è consigliato creare un utente MySQL (web_dav) con password (password_di_web_dav) e con privilegi limitati

mysqladmin -u root -p create webdav
mysql -u root -p
GRANT SELECT, INSERT, UPDATE, DELETE ON webdav.* TO 'web_dav'@'localhost' IDENTIFIED BY 'password_di_web_dav';
GRANT SELECT, INSERT, UPDATE, DELETE ON webdav.* TO 'web_dav'@'localhost.localdomain' IDENTIFIED BY 'password_di_web_dav';
FLUSH PRIVILEGES;

USE webdav;
create table mysql_auth (
username char(25) not null,
passwd char(32),
groups char(25),
primary key (username)
);

ora popoliamo il database con gli utenti.
in questo esempio:
username: user_webdav
passwd: user_webdav_pswd
groups: webdav_group

INSERT INTO `mysql_auth` (`username`, `passwd`, `groups`) VALUES('user_webdav', MD5('user_webdav_pswd'), 'webdav_group');

se preferite usare phpmyadmin vi ricordo che per “giocare” a criptare in md5 basta dare:

echo -n "password" | md5sum

in una shell linux

ora manca solo di creare il VirtualHost in Apache che utilizzi WebDAV, quindi modificare con gli opportuni cambiamenti il file di configurazione riportato:

NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/share
<Directory /var/www/share>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

Alias /webdav /var/www/share
<Location /webdav>
DAV On
AuthBasicAuthoritative Off
AuthUserFile /dev/null
AuthMySQL On
AuthName “webdav”
AuthType Basic
Auth_MySQL_Host localhost
Auth_MySQL_User web_dav
Auth_MySQL_Password password_di_web_dav
AuthMySQL_DB webdav
AuthMySQL_Password_Table mysql_auth
Auth_MySQL_Username_Field username
Auth_MySQL_Password_Field passwd
Auth_MySQL_Empty_Passwords Off
Auth_MySQL_Encryption_Types PHP_MD5
Auth_MySQL_Authoritative On
require valid-user
</Location>
</VirtualHost>

la directory /var/www/share deve esistere quindi

mkdir -p /var/www/share

Lato client si può usare cadaver (molto simile a un client ftp), il filesystem davfs2, Konqueror o anche gnome Nautilus 😉

presto un aggiornamento della guida per consentire l’accesso anche da client Windows.

Una comodità, a volte irrinunciabile, se si devono digitare spesso gli stessi comandi è crearsi degli script bash, o con altro interprete, in modo anche da non doverci per forza ricordare, anche semplici, serie di comandi (io lo faccio per lo più per pigrizia).

Un esempio della mia pigrizia è stato la creazione di questo script:

#!/bin/bash
sudo aptitude update
sudo aptitude -y dist-upgrade
sudo aptitude -y install

(davvero da fare schifo)

Uno script più utile invece mi permette di sapere il mio ip senza dover aprire il browser e farlo puntare a http://checkip.dyndns.org/

ma semplicemente così:

xXx@terminale:~$ myip
212.227.101.236
xXx@terminale:~$

myip è un file in /usr/bin/
eccone il contenuto:

xXx@terminale:~$cat /usr/bin/myip
#!/bin/bash
wget http://checkip.dyndns.org/ -q -O - |
grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>'

xXx@terminale:~$

ho semplicemente copiato quelle 3 righe trovate su un forum (credo di ubuntu in una discussione su conky) nel file /usr/bin/myip senza dimenticarmi di dargli i permessi di esecuzione:

sudo chmod +x /usr/bin/myip

Un’altro script utile che spesso incontro nelle guide per aggiungere repository e questo:

sudo apt-get update 2> /tmp/keymissing; for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //"); do echo -e "nProcessing key: $key"; gpg --keyserver subkeys.pgp.net --recv $key && gpg --export --armor $key | sudo apt-key add -; done

che permette di aggiungere tutte chiavi pubbliche (le PGP di apt) senza dover digitare il codice della chiave (sfrutta l’output di apt)

ATTENZIONE: questo articolo è datato. 
È disponibile una versione più recente della 1.1.0 nel repository universe di Ubuntu.

è finalmente disponibile la versione finale di Vlc 1.1.0, e per Ubuntu sono già disponibili i pacchetti compilati (da terze parti).

Ma se siete sadici come me vlc lo volete compilato da voi

Quindi recuperiamo i sorgenti!

le vie sono due:

o si va sul sito di VLC e si scarica il pacchetto e quindi lo si estrae quindi:

wget http://downloads.sourceforge.net/project/vlc/1.1.0/vlc-1.1.0.tar.bz2
tar xjvf vlc-1.1.0.tar.bz2

o si utilizza il repo GIT: in questo caso prima lanciamo :


sudo aptitude insall git-core

#e quindi successivamente:

git clone git://git.videolan.org/vlc.git

Installiamo le dipendenze:

Sono davvero tante. Per esempio io avrei dovuto dare:

sudo aptitude install libdbus-1-dev libmadlib-dev libmad0-dev  libavcodec-dev libavformat-dev libswscale-dev libswscale-dev libpostproc-dev liba52-dev
sudo aptitude install dh-buildinfo diffstat libaa1-dev libasound2-dev libass-dev libaudio-dev
sudo aptitude install libaudiofile-dev libavahi-client-dev libavahi-common-dev libavc1394-dev
sudo aptitude install libcaca-dev libcddb2-dev libcdio-dev libdbus-glib-1-dev libdca-dev
sudo aptitude install libdrm-dev libdvbpsi5-dev libdvdnav-dev libdvdread-dev libebml-dev
sudo aptitude install libenca-dev libesd0-dev libfaad-dev libflac-dev libfribidi-dev
sudo aptitude install libggi-target-x libggi2 libggi2-dev libggimisc2 libggimisc2-dev libgii1
sudo aptitude install libgii1-dev libgii1-target-x libgl1-mesa-dev libglu1-mesa-dev libhal-dev
sudo aptitude install libid3tag0-dev libiso9660-dev libiw-dev libjack-dev libkms1
sudo aptitude install liblircclient-dev liblivemedia-dev liblua5.1-0-dev libmatroska-dev
sudo aptitude install libmodplug-dev libmpcdec-dev libmpeg2-4-dev libncurses5-dev libncursesw5-dev
sudo aptitude install libnotify-dev libnspr4-dev libnss3-dev libogg-dev liborc-0.4-dev
sudo aptitude install libpulse-dev libqt4-assistant libqt4-dev libqt4-help libqt4-multimedia
sudo aptitude install libqt4-opengl libqt4-opengl-dev libqt4-qt3support libqt4-scripttools
sudo aptitude install libqt4-sql libqt4-sql-mysql libqt4-svg libqt4-test libraw1394-dev
sudo aptitude install libreadline-dev libreadline6-dev librsvg2-dev libschroedinger-dev
sudo aptitude install libsdl-image1.2-dev libsdl1.2-dev libshout3-dev libslang2-dev libspeex-dev
sudo aptitude install libsvga1 libsvga1-dev libtag1-dev libtar-dev libtheora-dev libtiff4-dev
sudo aptitude install libtiffxx0c2 libtwolame-dev libudev-dev libupnp3-dev libv4l-dev
sudo aptitude install libvcdinfo-dev libvorbis-dev libx264-dev libxcb-keysyms1-dev libxml2-dev
sudo aptitude install libxpm-dev libxt-dev libxv-dev libxxf86dga-dev libxxf86vm-dev
sudo aptitude install mesa-common-dev nasm qt4-qmake quilt x11proto-video-dev x11proto-xf86dga-dev
sudo aptitude install x11proto-xf86vidmode-dev xulrunner-1.9.2-dev xulrunner-dev
sudo aptitude install lua5.1 libxcb-shm0-dev libxcb-xv0-dev libx11-xcb-dev
sudo apt-get install libtool build-essential automake1.11 #per la compilazione

il comando che invece fa al caso nostro è

sudo apt-get build-dep vlc

Altre dipendenze sono:

#pacchetti che non vengono installati con il comando sopra
sudo aptitude install lua5.1 libxcb-shm0-dev libxcb-xv0-dev libx11-xcb-dev
#questi sono invece pacchetti necessari per la compilazione
sudo apt-get install libtool build-essential automake1.11

la “configurazione” e la compilazione

cd vlc #ci posizioniamo nella cartella dei sorgenti di vlc
#se abbiamo scompattato il tarball la cartella sarà vlc-1.1.0 e non vlc
./bootstrap #esegue il bootstrap con l'apposito script
mkdir build  #creo una cartella che conterrà i sorgenti configurati e poi compilati
cd build && ../configure --disable-nls –enable-qt4 #esegui la configurazione
make     #e quindi la compilazione (vlc mette a disposizione uno script anche per questo:
#sarebbe quindi possibile eseguire al posto di make :
#./compile 

Installazione:

adesso possiamo ancora scegliere:

o compilare un pacchetto deb e quindi:

sudo aptitude install iceape-dev libdc1394-22-dev libdvbpsi4-dev libimlib2-dev qt4-dev-tools libdvbpsi4-dev

svn co svn://svn.debian.org/pkg-multimedia/videolan/vlc/debian debian

dpkg-buildpackage -rfakeroot -us -uc

oppure installare direttamente il tutto (in questo caso è importante mantenere la cartella build in modo da porer eseguire

sudo make uninstall

nel caso volessimo disinstallare vlc compilato da sorgenti.
Per installare invece ci basta lanciare un semplice

sudo make install

vlc è ora installato, ed eseguibile con il comando

vlc

potrebbero però presentarsi errori di librerie non trovate al caricamento del programma,
Ci basterà linkarle con:

sudo ln -s /usr/local/lib/libvlccore.so.5 /usr/lib/libvlccore.so.5
sudo ln -s /usr/local/lib/libvlc.so.5 /usr/lib/libvlc.so.5
sudo ln -s /usr/local/lib/libvlccore.so.4 /usr/lib/libvlccore.so.4

se volessi racchiudere tutta la procedura in uno script sarebbe quindi:

#!/bin/bash
sudo aptitude update && sudo aptitude install git-core
git clone git://git.videolan.org/vlc.git
apt-get build-dep vlc
aptitude install lua5.1 libxcb-shm0-dev libxcb-xv0-dev libx11-xcb-dev
apt-get install libtool build-essential automake1.11
cd vlc ./bootstrap
mkdir build
cd build && ../configure --disable-nls --enable-qt4
make
make install
ln -s /usr/local/lib/libvlccore.so.5 /usr/lib/libvlccore.so.5
ln -s /usr/local/lib/libvlc.so.5 /usr/lib/libvlc.so.5
ln -s /usr/local/lib/libvlccore.so.4 /usr/lib/libvlccore.so.4
vlc

Una piccola aggiunta all’articolo Bypassare restrizioni proxy o firewall con SSH:

Qual’ora si utilizzi un proxy SOCKS per la navigazione in internet (come nel caso dell’articolo precedente) può sorgere un piccolo (se volgiamo definirlo tale..) problema: non tutte le comunicazioni di un applicazione configurata per utilizzare il SOCKS passano realmente attraverso lo stesso. Per esempio  le richieste di tipo DNS; le quali potrebbero essere intercettate con la conseguenza di un possibile blocco o “furto” (non passando per la connessione SSH passano per la rete locale).

Una di questi casi avviene proprio con Firefox: oltre alla configurazione già spiegata bisognerà quindi:

far puntare la barra degli indirizzi a questo indirizzo:

about:config

confermare il messaggio che ci avvisa della pericolosità di modificare le configurazioni presenti nella pagina, e cambiare controllare che il parametro booleano di

network.proxy.socks_remote_dns

abbia come valore true.