Publicado por ERMes en Junio 16th 2010
Desde hace ya tiempo, la mayoría de los videoclips que se pueden ver de forma gratuita en YouTube pertenecen a VEVO y no es posible descargarlos con los típico plugins que existen para Firefox y demás navegadores.
La razón es que estos vídeos no son un streaming en FLV (Típico de YouTube), sino que son un streaming en un sistema llamado RTMP que permite entre otras cosas encriptar el vídeo para que no pueda ser descargado.
Pero como todos sabemos, no existe una protección infalible. Existe un programa llamado rtmpdump que es perfectamente capaz de descargar este tipo de vídeos , incluso si están codificados, pero resulta muy tedioso calcular todos los datos necesarios para que este programa pueda descargar un vídeo de YouTube.
Para facilitar definitivamente esta tarea un grupo ha desarrollado un script que hace todo esto de forma totalmente automática llamado get-flash-videos.
Para instalar este script:
- Descarga el DEB desde aquí y guárdalo en to home.
- Abre una consola y teclea lo siguiente:
- su
- apt-get install rtmpdump libwww-mechanize-perl
- dpkg -i get-flash-videos_*.deb
Ahora que ya está instalado su uso es muy sencillo:
Abre una consola y teclea:
- get_flash_videos URLVIDEO
*En vez de URLVIDEO pegas la dirección del vídeo de YouTube.
También se que existen webs que hacen esto pero nunca está mal poder hacerlo sin depender de ninguna web.
Tags: Debian, Descargar, Guia, Ubuntu, VEVO, YouTube
Publicado en General, Linux | Sin Comentarios »
Publicado por ERMes en Marzo 31st 2010
Desde hace un tiempo he dejado de poder ejecutar applets Java en mi navegador web. Resulta que cada vez que intento abrir una web con aplets fallan diciéndome que no se puede acceder a la red y que no se puede leer el archivo. Si le damos a mostrar detalles aparece algo parecido a esto:
cargar: clase FamousCurves.class no encontrada.
[...]
Caused by: java.net.ConnectException: Network is unreachable
[...]
Ver completo.
cargar: clase FamousCurves.class no encontrada.
java.lang.ClassNotFoundException: FamousCurves.class
at sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:152)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Plugin2ClassLoader.java:445)
at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:2880)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1397)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.net.ConnectException: Network is unreachable
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at sun.net.NetworkClient.doConnect(NetworkClient.java:161)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
at sun.net.www.http.HttpClient.(HttpClient.java:233)
at sun.net.www.http.HttpClient.New(HttpClient.java:306)
at sun.net.www.http.HttpClient.New(HttpClient.java:323)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:860)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:801)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:726)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1049)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Applet2ClassLoader.java:458)
at sun.plugin2.applet.Applet2ClassLoader.access$000(Applet2ClassLoader.java:46)
at sun.plugin2.applet.Applet2ClassLoader$1.run(Applet2ClassLoader.java:126)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:123)
… 6 more
Excepción: java.lang.ClassNotFoundException: FamousCurves.class
Ocultar.
Además no solo me han dejado de funcionar los applets en mi navegador web, sino que programas como el JDowloader se comportan de forma similar, dando error de conexión continuamente.
La solución consiste en desactivar el IPv6 para que el motor de Java pueda acceder a internet. Para hacerlo tan solo hay que editar el fichero /etc/sysctl.d/bindv6only.conf y cambiar la línea que dice net.ipv6.bindv6only=1 por net.ipv6.bindv6only=0 . Para editar el fichero se puede hacer poniendo el siguiente comando en consola como súper usuario:
- nano /etc/sysctl.d/bindv6only.conf
Una vez editada la línea se pulsa Ctrl+O y ENTER para guardar y Ctrl+X para salir.
Los efectos de este cambio no serán efectivos hasta que se reinicie el sysctl o el PC, si no quieres reiniciar todo el PC puedes poner el siguiente comando en consola como súper usuario y ya debería funcionar todo:
- invoke-rc.d procps restart
Tags: Debian, Error de conexión, Java, JDownloader, Ubuntu
Publicado en General, Linux | Sin Comentarios »
Publicado por ERMes en Noviembre 24th 2009
En la mayoría de distribuciones GNU/Linux, cada X inicios del sistema (montajes del disco) se realiza un scandisk para asegurar que el sistema de archivos del disco se encuentra intacto. En el caso de Ubuntu, si el sistema ha empezado a realizar dicho proceso, se puede cancelar pulsando ESC. Debían no tiene eso configurado y no permite cancelarlo de ninguna manera. Para añadir dicha funcionalidad a nuestro Debian u otra distribución que no disponga de la misma tan solo hay que añadir un par de líneas al archivo “/etc/e2fsck.conf”. Una forma de hacerlo es escribiendo lo siguiente en consola:
- $ su
- # nano /etc/e2fsck.conf
- Escribe lo siguiente:
-
[options]
allow_cancellation = true
- Pulsa Crtl + O para guardar el archivo y después Ctrl + X para salir del editor.
A partir de ahora, podremos cancelar el scandisk pulsando Crtl + C.
Nota: Si te salta el scandisk y tienes tiempo para esperar a que termine, no te recomiendo que lo canceles, pues es una garantía de que tus datos están a salvo, pero si tienes prisa, con esta configuración podrás cancelarlo sin correr ningún tipo de riesgos.
Technorati claim: JJS2U8HUUQNB
Tags: Debian, fsck
Publicado en General | Sin Comentarios »
Publicado por ERMes en Noviembre 8th 2009

Hace bastante que salió esta versión de Skype, sinembargo, cuando me descargué el paquete para Ubuntu 64 bits y lo instalé en mi Debian 64 bits me encuentro con que al iniciar cesión se cierra el solito y suelta un error muy particular en consola: Inconsistency detected by ld.so: dl-open.c: 623: _dl_open: Assertion `_dl_debug_initialize (0, args.nsid)->r_state == RT_CONSISTENT’ failed!
Hoy me puse manos a la obra y descubrí que el problema está en que faltan las librerías libwrap0 y libgdbm3 para 32 bits tal como explican en bugs.debian.org.
Para que estas librerías estén disponibles y nuestro Skype funcione:
Si sigues esos simples pasos, ya podrás ejecutar y usar correctamente Skype en Debian 64 bits. Recuerda que para poder copiar esos archivos a las rutas especificadas debes tener derechos de root.
Si tienes alguna duda sobre como hacer algo, deja tu comentario preguntándola y responderé con la máxima brevedad posible.
Tags: Debian, Guia, Skype
Publicado en General, Linux | 1 Comentario »
Publicado por ERMes en Septiembre 23rd 2009
No hace mucho que expliqué como compilar programas para GNU/Linux. Pues ahora voy a comentar la existencia de una herramienta que nos puede mejorar nuestra “calidad de vida” en Debian y derivados (Ubuntu, para los que no lo sepáis es derivado de Debian).
La idea es muy simple, cuando instalamos una aplicación por medio del comando “make install” (explicado en mi guía), dicha aplicación solo puede ser desinstalada con “make uninstall” desde el código fuente de la misma y nuestro gestor de paquetes no tiene ni idea de que dicha aplicación exista. Esto último no es muy bueno y por eso siempre recomiendo instalar desde los repositorios oficiales. Pero si nos hemos compilado un programa que no está en el repositorio y queremos instalarlo como un paquete mas para poder gestionarlo desde el gestor de paquetes, Checkinstall es una solución.
Justo después de haber terminado la operación “make”, en vez introducir “make install”, ponemos “checkinstall”. Este nos hará un par de preguntas que podemos responder pulsando Enter simplemente y nos creará un paquete que podremos instalar y luego desinstalar desde nuestro gestor de paquetes.
Un ejemplo de su uso partiendo del tar.gz con el código fuente:
$ tar xfz nombre-del-paquete.tar.gz
$ cd nombre-del-paquete
$ ./configure
$ make
$ su
# checkinstall
Este método es rápido y facil, pero no el mejor, mas adelante explicaré como hacerlo al puro estilo Debian, que tiene muchísima mas miga.
Tags: Debian
Publicado en General, Linux | Sin Comentarios »
Publicado por ERMes en Septiembre 7th 2009
MPlayer es un reproductor de vídeo fantástico, yo diría que el mejor reproductor de vídeo que existe y además es open source, por lo que se puede hacer de todo con este reproductor. El problema es que MPlayer se ejecuta desde consola y se maneja con atajos de teclado, para muchos puede ser la mejor forma de manejar un programa pero para muchos, puede ser una forma muy engorrosa de manejar un programa. SMPlayer aporta un interfaz completo para MPlayer. Por lo que podremos disfrutar de las ventajas del entrono gráfico y las excelentes prestaciones del MPlayer.

En la web del programa hay muchísima mas información sobre el mismo y varios enlaces para descargarlo para Windows, Ubuntu e, incluso, el código fuente. Como yo uso Debian squeeze amd64, me tuve que compilar mi propia versión. Puedes bajarte mi paquete DEB desde aquí.
Tags: Mplayer, Multimedia, Reproductor
Publicado en General, Linux, Windows | Sin Comentarios »
Publicado por ERMes en Agosto 31st 2009
Hacer un contador de visitas con PHP es una tarea muy sencilla, pero si realmente deseamos contar las visitas es importante distinguir entre una visita y una vista, si nuestro contador solo se limita sumar una visita cada vez que se cargue la página (vista), tendremos un contador que marcará una visita cuando alguien entre en nuestra web y sumará una mas por cada vez que el visitante cambie de página en la web, por lo que un solo visitante puede marcar 6 o 7 visitas, por ejemplo. Para evitar esta confusión y no engañarnos a nosotros mismos, lo mejor es usar algún método que nos permita distinguir si el visitante es nuevo o ya ha estado en nuestro sitio. Para ello, lo mejor es dejar una cookie en el navegador de nuestro visitante que caducará después de un tiempo, de modo que si entra un visitante en nuestra web y ya tiene una de nuestras cookies, no contaremos su visita y, además, actualizaremos la fecha de caducidad de dicha cookie.
Si no entiendes de programación en PHP pero estás interesado en añadir este contador a tu página web, vete al final del artículo y sigue las instrucciones para instalarlo en tu servidor.
Primero hay que buscar una forma de controlar que nuestro contador de visitas no cuente una visita cada vez que se refresca la página y para ello, lo mejor es usar cookies. Con las cookies podemos dejar una marca en el navegador de nuestro visitante para no volver a contar su visita hasta después de transcurrido un tiempo determinado por nosotros. Para establecer ese tiempo, se usa la fecha de caducidad de la cookie. Con php, esto se hace con el siguiente código:
if ($_COOKIE["Visitante"] == "Admin") {
//Si la cookie tiene la palabra clave "Admin" se establece la caducidad a un año
$expire=time()+60*60*24*365;
setcookie("Visitante", "Admin", $expire);
$counted=true;
$admin=true;
}
else {
//Si el visitante no tiene la cookie con la palabra clave "Admin" se establece la fecha
//de caducidad a 20 minutos.
$admin=false;
$expire=time()+60*20;
global $counted;
if (isset($_COOKIE["Visitante"])) {
//Si el visitante ya tiene la cookie se actualiza la fecha de caducidad y se marca para
//no ser contada.
setcookie("Visitante", "Viejo", $expire);
$counted=true;
}
else {
//Si el usuario no tiene nuestra cookie se crea y se marca la visita para ser contada.
setcookie("Visitante", "Nuevo", $expire);
$counted=false;
}
}
En este momento, ya tenemos controlada la visita y nos disponemos a añadirla a un archivo de texto donde se lleva la cuenta de visitas hoy y totales. Para hacer esto se puede usar el siguiente código:
$fichero_contador = "visitas.txt"; // Fichero donde se guardan los valores
$fichero = fopen($fichero_contador, "r"); // Abrimos el fichero para lectura
$leido = fread($fichero, 128); // Leemos la cadena
$visitas = explode("@", $leido); // Separamos en un array de tres elementos los datos
if (date("d") != $visitas[2]) { // Si la fecha que hay en el fichero no es la de hoy
$visitas[2] = date("d"); // Actualizamos la fecha (ponemos la de hoy)
$visitas[1] = 0; // Y ponemos las visitas de hoy a 0
}
//Suma la visita si se ha marcado para ser contada
if ($visitas[0] != "") {
if ($counted == false) {
$visitas[0]++;
$visitas[1]++;
}
} else {
$visitas[0] = 1;
$visitas[1] = 1;
}
//Cierra el fichero
@fclose($fichero);
//Reabre el fichero y actualiza los datos
$fichero = fopen($fichero_contador, "w");
$junto = implode("@", $visitas);
@fputs($fichero,$junto);
//Cierra el fichero
@fclose($fichero);
Si no quisiéramos que el visitante sepa la cuenta de visitas ya habríamos terminado pero vamos a escribir el código encargado de crear una imagen que podamos poner en nuestro sitio y muestre, al mismo tiempo que cuenta, las visitas.
//Comienza la renderización de la imagen
$dest = imagecreatetruecolor(135,50);
$blanco = imagecolorallocate($dest,255,255,255);
$negro = imagecolorallocate($dest,0,0,0);
$gris = imagecolorallocate($dest,228,232,234);
imagefill($dest,0,0,$gris);
$src[0] = imagecreatefromgif('0.gif');
$src[1] = imagecreatefromgif('1.gif');
$src[2] = imagecreatefromgif('2.gif');
$src[3] = imagecreatefromgif('3.gif');
$src[4] = imagecreatefromgif('4.gif');
$src[5] = imagecreatefromgif('5.gif');
$src[6] = imagecreatefromgif('6.gif');
$src[7] = imagecreatefromgif('7.gif');
$src[8] = imagecreatefromgif('8.gif');
$src[9] = imagecreatefromgif('9.gif');
//Escribe el texto
imagestring($dest, 5, 0, 0, 'Hoy', $negro);
for($i=0;$i
Gracias a este último código añadir el contador de visitas a cualquier parte de nuestra web o nuestro blog será la tarea mas simple del mundo, es tan simple como poner un código como este:
<img title="Contador de visitas ERMes" src="http://tu_web/cont/visitas.php" alt="" />
Si te interesa usar este contador de vistas tan solo tienes que descargarte este archivo y descomprimirlo en tu servidor.
Tags: Contador de visitas, PHP
Publicado en Desarrollo web, General | Sin Comentarios »
Publicado por ERMes en Agosto 24th 2009
Instalar los driver propietarios de NVIDIA a sido siempre la opción elegida por mi debido a que siempre puedo tener la última versión y así logro mejorar el rendimiento mi NVIDIA 9600M GT que, bajo mi punto de vista, en Linux no es capaz de dar ni la mitad de lo que puede dar.
El problema es que cada distribución hace lo que le da la gana y pone los archivos en rutas diferentes. En el caso de debian, si intentamos instalar el driver de NVIDIA usando el instalador oficial de NVIDIA es muy posible que funcione bien, pero en el caso de estar usando debian 64 bits yo me he quedado sin compatibilidad para 32 bits y debido a ello, me quedé sin poder jugar al videojuego con wine.
En mi caso al instalar los drivers, el instalador me decía cosas como: “WARNING: The runtime configuration check failed for library ‘libGL.so.xxx.xx.xx’ (expected: ‘/emul/ia32-linux/usr/lib/libGL.so.1′, found: (not found)) …”
Todo esto parece tener una solución muy sencilla que consiste en engañar al instalador de NVIDIA para que encuentre las librerias de 32 bits donde el las quiere. Con los siguientes pasos nos podemos asegurar de todo está en su sitio.
- Si tienes instalado el driver de NVIDIA libre o el de repositorio asegurate de desinstalarlo antes de empezar. ¡Es muy importante!
- Abre una consola como super usuario (root).
- Instala las cabeceras del kernel con:
apt-get install linux-headers-`uname -r`
- Entra en la web de NVIDIA y descargate la última versión del driver en tu home.
- Pulsa Ctrl+Alt+F1
- Pon root como nombre de usuario y ponle tu contraseña de super usuario cuando la pida
- Pon:
cd /home/tu_nombre_de_usuario/ para entrar en tu home.
- Es necesario parar las X y para ello pon:
/etc/init.d/kdm stop (Si usas KDE)
/etc/init.d/gdm stop (Si usas Gnome)
- Si no sabes cual de las dos poner pones una y si te da error, pones la otra
- Ahora nos aseguramos de no tener otra versión anterior del driver instalada por este método poniendo:
bash NVIDIA-Linux-x86_64-xxx.xx.xx-pkg2.run --uninstall
- El archivo que te hallas bajado tu tendrá una numeración en el lugar que yo he puesto las ‘x’
- Pon
cd /emul/ia32-linux/
- Si te dice que la ruta no existe pon
mkdir -p /emul/ia32-linux/ y vueleve a intentarlo.
- Para mantener una copia de seguridad de los posibles archivos que halla en este directorio pon:
mv usr usr0
- Si se produce un error al poner este comando lo puedes ignorar
- Ahora vamos a recrear una estructura de directorios compatible poniendo:
mkdir usr && ln -s /lib32 lib && ln -s /usr/lib32 usr/lib
- Vamos a instalar el driver de NVIDIA ahora y para ello es necesario que vuelvas a tu home poniendo:
cd /home/tu_nombre_de_usuario
- Ahora ejecuta el instalador de NVIDIA
bash NVIDIA-Linux-x86_64-xxx.xx.xx-pkg2.run
- Sigue las instrucciones del instalador (no debería dar ningún error)
- Si te dice que algún rollo de que las versiones del compilador no coinciden dile que no quieres abortar la instalación.
- Si te pregunta por instalar librerías para compatibilidad con 32 bits dile que si.
- Si te pregunta por auto configurar las X dile que si.
- Una vez halla terminado la instalación podrás reiniciar las X y empezar a disfrutar de aceleración 3D
- Para iniciar las X pon:
/etc/init.d/kdm start (Si usas KDE)
/etc/init.d/gdm start (Si usas Gnome)
- Si no sabes cual de las dos poner pones una y si te da error, pones la otra
Si mas adelante quieres actualizar a una versión mas nueva del driver solo tienes que seguir los pasos del 4 al 9 y del 14 al 16.
Suerte, y como siempre, espero haber sido de utilidad.
Tags: Driver NVIDIA, Guia, Instalar
Publicado en General, Linux | Sin Comentarios »
Publicado por ERMes en Agosto 17th 2009
A veces es necesario partir un archivo en varios trozos para poderlo enviar por email o guardarlo en varios discos. Hacer esto en GNU/Linux es tremendamente fácil. Voy a explicar dos métodos diferentes para hacerlo:
Método 1:
Si las consolas te producen nauseas o ganas de suicidarte puedes optar por instalar un programa llamado HOZ (Hacha Open Zource) que presume de ser una alternativa open source del conocido HACHA para windows (que se puede ejecutar perfectamente en Linux si se tiene el wine instalado, es otra opción). Para instalar HOZ tan solo tienes que poner en consola como súper usuario (root):
Si tampoco quieres usar la consola para instalarlo puedes usar tu gestor de paquetes habitual como por ejemplo el Synaptic (en el caso de Debian y Ubuntu).
Usar el programa es tan fácil que no creo necesario hacer una guía para su uso, pero si tienes alguna duda puedes comentarla, estaré en cantado de ayudarte.
Método 2:
Si no te importa usar la consola, te recomiendo este método, pues usa las herramientas GNU que casi todas o todas las distribuciones traen instaladas por defecto.
Para partir un archivo se puede usar el comando split como a continuación:
- split -b4300m MiPelicula.avi MiPeliculaPartida
El “4300″ indica que cada trozo debe ser de 4300 megas, “MiPelicula.avi” es el nombre del archivo que se quiere partir y “MiPeliculaPartida” es el nombre que tendrá cada uno de los trozos.
El resultado de este comando serán varios archivos de 4300 megas con nombres como “MiPeliculaPartida.aa”, “MiPeliculaPartida.ab”, “MiPeliculaPartida.ac” …
Para unirlos se usa el comando cat, y es aún mas fácil de usar que el split.
- cat MiPeliculaPartida.* > MiPelicula.avi
Creo que sobran los comentarios sobre como usar este comando
Y esto es todo, espero haberle sido de utilidad a alguien con esta guia.
Tags: Guia, Partir archivos
Publicado en General, Linux | Sin Comentarios »
Publicado por ERMes en Agosto 11th 2009
Es raro que un programa no esté en el repositorio de la distribución que usemos pero, aveces, hay programas que solo suministran el código fuente y es necesario compilarlos.
Ahora voy a explicar unas pautas básicas y muy genéricas para los que no lo hallan hecho nunca y quieran hacerlo:
-
Descomprime el archivo con código fuente
-
Asegúrate de tener “g++” y “make” instalados. En Debian o Ubuntu puedes instalar un paquete que se llama “build-essential” para asegurarte de que estás listo para poder compilar programas.
-
Antes de continuar te recomiendo leer la documentación que acompaña al programa, que normalmente está contenida en un archivo llamado README. Por otro lado, tambíen suele existir un archivo llamado INSTALL que explica la forma de instalar el programa. Ambos archivos suelen estar escritos en inglés e informan de las dependencias especiales que necesita el programa para poder ser compilado y la forma de instalarlo. Si encuentras estos archivos y puedes comprenderlos, es mejor que sigas sus instrucciones pues cabe la posibilidad de que el programa se instale de otra forma distinta a la genérica (descrita en esta guia).
-
Abre una consola en la carpeta donde está el código fuente.
-
Pon “./configure”.
-
Es posible que de error, en ese caso es porque falta por instalar alguna librería.
-
Busca en google el error, averigua cual es e instalala desde tu gestor de paquetes.
-
Normalmente el propio error te dice el nombre de la librería.
-
Cuando la hallas instalado vuelve a ejecutar “./configure” y repite esta operación hasta que no de errores.
-
Pon en consola “make” y después de un rato tendrás tu programa compilado
- Si has logrado llegar aquí, ya puedes relajarte. Ahora solo queda instalar el programa. Para ello pon en consola “su” e introduce la contraseña de super usuario (root).
- Ahora puedes ejecutar “make install” para instalarlo en tu sistema y empezar a usarlo.
Espero que a alguien le sirva de algo esta guía.
Tags: Compilar, Guia, Instalar
Publicado en General, Linux | Sin Comentarios »