Archivos de la categoría ‘Recetas’

iPod Touch/iPhone en Linux

Diciembre 15, 2007

No os alegréis tanto por el post que todavía no sé como subirle contenidos desde linux…iphoneTux

Vamos a empezar por el principio… a finales de la semana pasada me decidí a comprarme el iPod Touch, aparato que la mayoría de la gente critica por ser un “iphone descafeinado”. Puntualicemos eso: ¿que diferencias hay entre uno y otros? Ésta, claramente, el tema del hardware: el touch no tiene lector de tarjetas SIM y, supongo, que la batería será algo más limitada (digo que lo supongo porque es la explicación que le doy a la diferencia de tamaño, tanto en grosor como en longitud). ¿A nivel de software? Un par de cosas según vienen ambos cacharros de fábrica y ninguna en absoluto a los 5 minutos de tenerlos en las manos.

Os voy a contar como va la cosa: el iphone permite instalar aplicaciones para aumentar (exponencialmente) su funcionalidad, el touch por defecto no (ni de Apple ni de nadie). Pasando por un jailbreak (no voy a describir aquí el proceso, está bien explicado en millones de sitios web para cada versión) el touch queda dotado de la capacidad de instalar aplicaciones (tanto de Apple como de terceros :D). Además las aplicaciones de instalan de una forma que me ha gustado muchísimo: usando repositorios. Si, es una gozada, puedes instalar una aplicación teniendo sólamente acceso a internet, sin necesitar ningún ordenador ni nada más que el touch/iphone. Tiene una especie de Synaptic que se llama Instaler.App que hace todo el trabajo por ti, tú sólo dile lo que quieres que te instale/desinstale/actualice. Una gozada vamos.

Ahora bien, para los usuarios (y para los linuxeros en particular) Apple ha cometido un par de cagadas bastante gordas:

  • No permitir el desarrollo/carga de aplicaciones de terceros directamente de fábrica: A ver si los señores de Apple lo entienden de una vez: tienen los mejores diseños, tienen usuarios que son unos fieles defensores/seguidores de sus productos, tienen…. todo para triunfar, la verdad. Pero NO SÓLO ES ESO, ¿por qué no dejar que quien se compre uno de sus productos pueda hacerse sus propios programitas para él? ¿por qué no dejar que un usuarios no-técnico se pueda instalar la aplicación que hizo menganito y que le vendría como anillo al dedo? ¿por qué no entregar con el cacharro un SDK libre y un manual? Está claro, por $pasta$… en fin… el día que se les acabe la ventaja del diseño Apple se va a ir a la mierda.
  • Provocar INTENCIONADAMENTE que no se pueda cargar la batería ni modificar los contenidos desde una máquina con linux: Si enchufas el touch/iphone a una máquina que no tenga instalado iTunes (y para linux no hay…) el dispositivo lo comprueba y se pone automáticamente en modo suspendido (aunque esté deshabilitado en el cacharro) y no se carga la batería (ésto lo solucionamos leyendo más abajo o aquí…). Además, han incluido un hash para comprobar que lo que accede a los contenidos del cacharro es un iTunes con lo que las demás aplicaciones que permitían hacer ésto no funcionan. Lo que más me jode, es que no tiene ninguna otra explicación que la de joder y forzar intentar forzar a usar iTunes.
  • Meternos iTunes hasta en la sopa: No quiero acordarme el cabreo que me pillé… ¿sabéis que el touch viene con la batería cargada casi entera de fabrica? ¿qué wapo no? Así ya puedo ir trasteando mientras voy para casa… pues no. Porque para empezar a usarlo tienes que sincronizarlo por cojones con un iTunes, y ya puestos, te obligan a hacerte una cuenta en el iTunes Store, lo que supone dar un número de tarjeta válido por cojones y encima tiene que ser de crédito (al menos las de débito de cajamadrid no las pilla). Vergonzoso. ¿para qué? ¿por si un día me equivoco y sin querer le doy a comprar una canción? que triste…

Despues de desquitarme con Apple, voy a explicar a grandes rasgos como cargar la batería del touch/iphone en linux. Básicamente es un resumen con menos detalle y más directo de la fuente donde lo saqué yo:

  • Supongo que tenemos un kernel 2.6.22 o superior (Ubuntu 7.10 lo tiene)
  • Nos bajamos el iPhone Module y lo descomprimimos.
  • Buscamos la variable #define IPHONE y hacemos lo siguiente:
    • Si tienes un iPhone no tienes que tocar nada.
    • Si tienes un iPod Touch tienes que cambiar el valor 0×1290 por 0×1291.
  • En el fichero iphone.c y en la función iphone_probe, justo debajo de select_configuration(udev); añadimos ésta línea:

udev -> autosuspend_disabled = 1;

  • Guardas los cambios, sales y en el terminal ejecutas ésto:

make -C /lib/modules/2.6.22-14-generic/build M=`pwd` modules

Y listo, ahora cuando enchufemos el chisme al ordenador por el cable usb la batería se cargará perfectamente.

Lo único que tengo pendiente (y es bastante importante) es conseguir modificar los contenidos (subir música/video/… desde linux sin tener que pedir prestado un iTunes), por lo que he leido se puede hacer, lo único es que ando bastante jodido de tiempo material como para ponerme a buscarlo, así que espero encontrar a alguien por #ubuntu en el hispano que tenga un chisme de éstos y lo tenga todo funcionando para coserle a preguntas xD

Por supuesto, si tenéis alguna idea de como hacerlo ni os lo penséis… comentadlo pero ya!

Hacha en Linux

Noviembre 10, 2007

Seguro que todos conocéis la archi-famosa aplicación para trocear ficheros en windows: hacha. Es una aplicación que te permite cortar un fichero grande (por ejemplo un capi de una serie xD) de forma que lo tengas en varios ficheros de menos tamaño (unos 100mb por ejemplo, que se pueden subir, por ejemplo también, a megaupload, rapidshare, etc… xD).

Las primeras versiones de hacha simplemente troceaban el fichero con lo que no hacía falta nada más que juntar los trozos secuencialmente para tener el fichero original, con lo que no había ningún problema para unirlos en linux.

El problema vino con las nuevas versiones que añadían metadatos a los ficheros troceados: el nombre original del fichero, el tamaño, checks de CRC, etc…

Hoy he necesitado bajarme un fichero que venía troceado con el hacha y he tenido que buscar la alternativa libre para poder unirlos sin tener que pedir un windows :P

La solución ha sido rápida y efectiva: hoz y, para hacerlo más cómodo hoz-gui. Éstos dos paquetes son, respectivamente, una aplicación compatible con hacha y un interfaz gráfico para hacer más cómodo todo el proceso.

Ambos paquetes podéis encontrarlos en los repositorios de nuestra querida ubuntu y podéis instalarlos así:

sudo aptitude install hoz hoz-gui

Una vez instalados basta con ejecutar ghoz para arrancar el interfaz gráfico (lamentablemente la instalación no crea ningún icono por ningún lado, o eso creo).

Veréis que el interfaz gráfico es bastante tosco y, quizás, desoriente un poco de primeras pero, para unir ficheros, que es lo que yo necesitaba, basta con pinchar en el botón Pegar y seleccionar el primero de los ficheros (no sé si valdrá con pinchar en cualquiera de ellos, no lo he probado) y automáticamente se generará el fichero original en el directorio que indique la ruta que aparece en el campo de texto Dir. Destino.Para el caso contrario, cortar un fichero en trozos, escribís en el campo de texto Tam. Parcial el tamaño que queréis para cada uno de los trozos y darle al botón Cortar para seleccionar el fichero que queréis trocear.

Realmente sencillo, ¿verdad? Una cosa más que podemos disfrutar en nuestro Linux sin tener que depender del software cerrado ;)

ACTUALIZADO: Os dejo el link a otra apicación, que no está en los repositorios, y que, según los comentarios que he leido, es bastante más completa que hoz (a parte de tener un interfaz algo más “amigable”): Dalle. Yo no la he probado ya que lo comentado en el post cumple perfectamente con lo que necesito.

Restaura los paquetes que tenías instalados

Noviembre 7, 2007

Hace tiempo que me había planteado ésto. Cuando sale una versión de Ubuntu son pocas las veces que actualizo desde la versión anterior, normalmente tengo tanta mierda que lo que hago es formatear e instalar la nueva versión de cero, después de guardar el directorio home para no perder las configuraciones.

El caso es que una vez que has guarado el home y ya tienes instalada la nueva versión en limpio tienes que ir instalando los programas que tenías antes, normalmente de primeras instalas unos cuantos de los que te acuerdas y los demás los vas instalando cuando te hacen falta. Claro, que siempre está la putada de olvidarte de instalar los codecs y necesitarlos en un momento en el que no tienes conexión a internet o no acordarte de cómo se llama ese paquete que te hacía falta para algo.

Ahora vamos a ver la forma de obtener una lista de los paquetes instalados antes de instalar la nueva versión y cómo reinstalarlos todos nada más instalar la nueva versión.

Para obtener la lista de paquetes instaslados utilizamos el siguiente comando:

dpg -get-selections | grep -v deinstall > paquetes_instalados

Con ésto obtenemos un fichero paquetes_instalados que utilizaremos después para reinstalar los paquetes sin tener que ir seleccionándolos uno a uno.

Una vez hayamos completado la instalación de la nueva versión de ubuntu, haremos lo siguiente:

sudo aptitude update
sudo aptitude dist-upgrade

Con ésto tendremos el sistema al día antes de instalar los nuevos paquetes. Ahora vamos a meter los paquetes:

sudo dpkg -set-selections < paquetes_instalados
sudo dselect install

Y listo, el sistema instalará todos los paquetes que teníamos instalados antes del formateo.

¿Útil verdad? :D

Fuente:
Linux para Seres Humanos

Melodías para el móvil desde YouTube

Noviembre 7, 2007

Hoy ha venido mi novia y me ha pedido que le consiguiera la canción del anuncio del ikea para el móvil. Esa de “en el salón no se juega”, sorprendetemente había un montón de videos en youtube sobre el tema y pude encontrar uno donde le sonido se oía bastante bien. Vale que no sé porqué la gente se emperra en tener en el móvil canciones con una calidad de la ostia, total, casi siempre que suena estás rodeado de ruido xD

En fin, me puse manos a la obra porque es algo que nunca había hecho y decidí probar. Es MUY fácil. Os dejo los pasos:

  • Instalamos youtube-dl desde los repositorios (lo usaremos para bajar el vídeo)
    sudo aptitude install youtube-dl
  • Instalamos mplayer también desde los repositorios (lo usaremos para extraer el audio)
    sudo aptitude install mplayer
  • Bajamos el video de la siguiente forma:
    youtube-dl -o nombre.flv URL_completa_del_video
  • Extraemos el audio del video:
    mplayer -dumpaudio nombre.flv
  • Cambiamos el nombre y la extensión del fichero:
    mv stream.dump nombre.mp3

y listo. Ya tenemos el fichero mp3 con el sonido del video que queremos para nuestro móvil :D

PD: Si lo que queréis es un videotono no dejéis de pasaros por ConvertTube, es MUY sencillo y rápido. Aunque no sé si ha sido sólo el vídeo que yo he probado, pero al convertirlos a 3gp los vídeos se quedan sin sonido, no sé si es que ese formato no lleva sonido o qué es lo que falla :P

Fuente:
ICeman

Screenlets en Ubuntu Feisty

Agosto 28, 2007

Seguro que la palabra os suena… a desklets ¿no? ;)

Todos los que hemos usado gnome tarde o temprano hemos probado los gdesklets, una aplicación que nos sirve de plataforma para tener una serie de “desklets” o “elementos funcionales” en el escritorio que nos permiten monitorizar el sistema, tener a mano cosas que usamos a menudo o, simplemente, hacer que nuestro escritorio luzca más.

El problema que tenían los gdesklets era que daban muchos dolores de cabeza, desde la instalación hasta los desklets que se iban añadiendo, pasando por todas las configuraciones que hacían falta.

Ahora tenemos un nuevo proyecto que, según parece, tiene una instalación/configuración mucho más sencilla y que supone un lavado de cara para los desklets de escritorio.

Escritos en python podemos hacernos una idea de cómo son aquí:

Para disfrutar de un escritorio con éstos elementos en nuestra Ubuntu Feisty es necesario añadir un repositorio externo al sources.list:

deb http://hendrik.kaju.pri.ee/ubuntu feisty screenlets

Nos hará falta autentificar el escritorio mediante su firma gpg,que podemos añadir así:

wget http://hendrik.kaju.pri.ee/ubuntu/F854AFD7.gpg -O- | sudo apt-key add - && sudo apt-get update

Y ya por último, sólo nos haría falta instalar el paquete:

sudo aptitude install screenlets

La instalación del paquete incluye unos pocos “desklets” para el escritorio, podemos encontrar más en la web del proyecto.

Fuente: Blux 2.0

getdeb en tus repositorios

Agosto 27, 2007

Para el que no lo conozca getdeb es uno de los sitios donde más paquetes actualizados podemos descargar para las distros basadas en debian (ubuntu, linux mint, etc…)

Ya de por si me parecía interesante seguir su feed RSS para poder seguir las aplicaciones que iban sacando y las versiones con sus cambios, pero ahora ésto me parece todavía más interesante: he leido en Blux 2.0 cómo añadir getdeb a los repositorios de nuestra ubuntu.

Sólo hay que editar el archivo de repositorios (/etc/apt/sources.list) y añadir el siguiente repositorio:

deb http://ubuntu.org.ua/ getdeb/

Y listo, sólo necesitamos actualizar la lista de paquetes y ya los tendremos listos para buscar e instalar.

Gráficas en Ruby

Agosto 12, 2007

Hace tiempo que no toco nada de Ruby, básicamente desde que dejé de trabajar en la empresa en la que estaba antes, pero sigo recopilando recetas que me parecen sencillas y útiles para tenerlas a mano cuando me hagan falta.

La que he encontrado hoy en mundogeek es una de ellas, un par de líneas de código permiten generar una imagen con gráficas estadísticas muy vistosas. Imprescindible.

El código fuente de ejemplo es éste:

#!/usr/bin/ruby

require ‘rubygems’
require ‘gruff’

g = Gruff::Line.new
g.title = “Mi gráfica de prueba”

g.data(”Java”, [24, 25, 18])
g.data(”C”, [17.5, 17, 16.5])
g.data(”PHP”, [4, 3.5, 9.5])
g.data(”Python”, [1, 6.5, 2.5])

g.labels = {0 => ‘2003′, 1 => ‘2004′, 2 => ‘2005′}

g.write(’prueba.png’)

Si os habéis fijado habréis visto que necesita una “gema” que, para los no iniciados en ruby, viene a ser lo mismo que una libreria. La que necesitamos se llama gruff y gracias al comodísimo sistema de gemas de ruby (funciona de la misma manera que el aptitude de ubuntu o el apt-get de debian) podemos instalarla así:

sudo gem install gruff

Una vez hecho eso podemos ejecutar el ejemplo así:

ruby ejemplo.rb

lo que nos generará una imagen png como ésta que os dejará asombrados :D

SSH sin contraseña pero más seguro

Agosto 12, 2007

Un poco contradictorio el título ¿no? Pues puede verse así. Hablando de temas de seguridad muchas veces (como en todo el mundo de la informática) las cosas cambian mucho según el punto de vista de cada uno.

Lo que voy a explicar de manera breve es algo que vi en 120%Linux, concretamente en éste post, y que me pareció bastante interesante, en gran parte porque me ahorra meter una contraseña bastante veces al día xD

El objetivo es el siguiente: poder logearnos en nuestros servidor a través de ssh sin tener que introducir ninguna contraseña pero manteniendo cierto nivel de seguridad en el servidor. Lo que haremos será eliminar el hecho de introducir la contraseña y añadir la necesidad de indentificarse (de forma automática) mediante una firma RSA que tendremos almacenada. Aquí os va el resumen de lo que tenéis que hacer:

- Generar el par de claves RSA (pública y privada):

ssh-keygen -t rsa

nos preguntará la passphrase que queremos usar para éste par de claves y en qué fichero queremos guardar la clave, de forma que guardara con ese nombre la clave privada y con el mismo nombre seguido de .pub la clave pública (por defecto ~/.ssh/id_rsa y ~/.ssh/id_rsa.pub). OJO! si lo que queremos es no tener que meter clave al conectar por ssh debedos dejar el passphrase en blanco.

- Ahora mandaremos la clave pública al servidor:

ssh-copy-id -i ~/.ssh/id_rsa.pub usuario@servidor

- Ya sólo nos queda configurar el servidor. Lo hacemos editando el fichero /etc/ssh/sshd_config y cambiando los siguientes valores:

PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes

más o menos se entiende, pero quiero aclarar que si dejamos “PasswordAuthentication no” ya no se podrá entrar en el servidor si no disponemos de la clave privada en la máquina desde la que estamos trabajando. Yo lo he dejado como yes porque alguna vez conecto desde casa de algún amigo y otro colegas míos tienen cuentas ssh en el servidor de mi casa. Tenedlo en cuenta porque afecta a todos los usuarios del sistema.

En el tutorial original añaden éste otro paso más, pero no estoy muy seguro de que haga falta, probad antes de hacerlo y si no os funciona ya sabéis ;) (de paso dejad un comentario para aclararlo :D):

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

- Por último, pero no menos importante, reiniciar el servicio ssh en el servidor así:

sudo /etc/init.d/ssh restart

Y listo. Ahora deberíamos poder logearnos sin problemas como siempre:

ssh usuario@servidor

Podéis hacerlo así para ver todos los mensajes y aseguraros de que está usando el par de claves rsa:

ssh -v usuario@servidor

Si queréis hacer cambios tened en cuenta que no se puede cambiar la passphrase, vamos, si que se puede pero el concepto es distinto: tenéis que generar otro par de claves distintas con otra passphrase y añadirlas. Pero sabed que sino elimináis la clave pública vieja del fichero ~/.ssh/authorized_keys seguirá siendo válida. Podéis hacerlo borrando directamente ese fichero antes de pasarle la clave pública nueva o editándolo se ve bien donde termina una clave y empieza otra.

Que no os engañe el hecho de que no haya que meter contraseña, si controláis bien el acceso a vuestro clave privada es mucho más seguro que la contraseña que usábais hasta ahora.

Sofa, nuevo media center para gnome

Agosto 7, 2007

Hoy me he decidido a probar sofa, lo había visto en varios sitios hace ya varios días, pero me daba pereza ponerme a instalarlo, hay que añadir repositorios externos, instalar paquetes necesarios para la compilación y compilarlo. Ahora mismo estoy en ese punto compilando, espero que para cuando termine el post haya terminado ya. Por ahora os voy a ir contando los pasos que debéis seguir para instalarlo correctamente:

- Añadir los repositorios externos. Podéis hacerlo editando el fichero /etc/apt/sources.list con vuestro editor favorito o podéis hacerlo con éste simple comando:

sudo echo "deb http://debian.o-hand.com feisty/" > /etc/apt/sources.list

(podéis cambiar “feisty” por “dapper” o “edgy” según la ubuntu que estéis usando.

- Actualizar la lista de paquetes, algo trivial pero que a veces se nos olvida:

sudo aptitude update

- Instalar las dependencias de clutter:

sudo aptitude install libclutter-0.2.0 libclutter-0.2-dev libclutter-cairo-0.1.0 libclutter-cairo-0.1-dev libclutter-gst-0.1.0

- Instalar los paquetes y las dependencias necesarias para compilar sofa, posiblemente tendréis alguno ya instalado (el build-essential si ya habéis compilado algo antes) pero no está de más ponerlos todos por si acaso:

sudo aptitude install build-essential libgconf2-dev libdbus-glib-1-dev libsigc++-2.0-dev libtool intltool libgstreamer-plugings-base0.10-dev

- Descargamos el fichero sofa-0.2.4.tar.gz y lo descomprimimos:

wget http://downloads.sourceforge.net/sofa/sofa-0.2.4.tar.gz?modtime=1186113885&big_mirror=0
tar zxvf sofa-0.2.4.tar.gz

- Ahora vamos con los 3 pasos básicos para compilar una aplicación:

./configure
make
sudo make install

Ya está compilado e instalado, el mío ya ha acabado de compilar, lo he probado y la verdad es que es sencillo pero bastante útil, ahora sólo me falta por mirar como usar el móvil como mando a distancia por bluetooth, cosa que tengo pendiente desde hace bastante tiempo, a ver si un día me pongo, os dejo un screenshot del reproductor de música, que utiliza rythmbox de gnome para reproducirlo y debe, supongo que lo arreglarán, estar arrancado de antemano o al arrancarlo cascará sofa y tendremos que reiniciarlo.

Pantallazo Sofa

Antes de ejecutarlo, os aconsejo ejecutar “sofa-config” y activar los módules que vienen como desactivados y después ya ejecutar “sofa” para lanzarlo. Los controles son muy sencillos e intuitivos.

En resumen, van por buen camino :D

Fuente: Sofa Media Center - Ubuntu Instalation Guide

Acelerar los menús de gnome

Agosto 5, 2007

Acabo de leer en Linuxeando una receta para acelerar los menús de gnome y me ha parecido tan sencilla y rápida que un mini-post no le vendría mal. Se hace de la siguiente manera:

Creamos/editamos el fichero gtkrc-2.0 en nuestro directorio home (/home/nuestroususario/gtkrc-2.0) y le añadimos la siguiente línea:

gtk-menu-popup-delay = 0

Reiniciamos gnome y los menús deberían desplegarse más rápido. Si en vez de 0 utilizamos otro número estaríamos indicándole que espere ese retardo antes de desplegar los menús, cosa un poco… ¿inútil? A no ser que sea por estética. Cada uno que lo ponga a su gusto que es la gran ventaja de utilizar un sistema linux, la capacidad de personalización de la que disfrutamos :D