Ubuntu Edge, la era PC-in-phone a 32 millones de dolares de distancia

 

Ubuntu se ha lanzado a esto del crowdfunding para traer a un nuevo concepto de gadget a la vida: el “pcphone“.

Imagina llegar a tu puesto de trabajo con tu “pcphone”, conectarle teclado y pantalla y ponerte a trabajar con Ubuntu. Se trata pues de un smartphone hipervitaminado que es capaz de correr un sistema operativo de escritorio como Ubuntu si nada que envidiar a los PC convencionales.

Para convertir este sueño de Mark Shuttleworth en realidad, ha optado por hacer en crowdfunding en Indiegogo por valor de 32 m$ (casi nada).

De conseguirlo, además de “reinventar el teléfono“, habrán batido un récord de recaudación.

La realidad es que a día de hoy llevan unos 7 m$ y faltan unos 24 días… complicado lo tienen.

Esta experiencia servirá para saber si este concepto de Ubuntu tiene cabida en el mundo actual y a qué precio (parece que los $825 de su precio objetivo esta lejos de lo que el consumidor quiere/puede pagar).

Espero la mayor de las suertes para este proyecto pero francamente creo que lo tienen complicado: producto poco definido, necesidad de mucha financiación, dudas sobre si Ubuntu podrá hacerlo, …

En 24 días sabremos si habemus “Ubuntu Edge” o no.

Anuncios

artLauncher: Lanzador de aplicaciones en PyClutter

Hoy os traigo mi última creación. Se trata de un lanzandor de juegos para varios quioscos que componen la exposición interactiva “Estación futura” en Intermediae (en el Matadero de Madrid).

Dicha exposición recoge una selección de juegos indies/independientes seleccionados por Javier Canderia (@candeira) . “candyman” es, entre otras muchas cosas, el creador de barrapunto.

Ahora mismo se encuentran disponibles dos selecciones de juegos distintas: “Los sueños euclídeos de Kenta Cho” y “Espacio, tiempo y  emoción“.

Algunos juegos de esta muestra se encuentran en el repositorio de Ubuntu, como es el caso de Gunroar.

Sobre la aplicación, primero quiero decir que el diseño es obra del artista Jaime Narvaez y Eva María García. Francamente han hecho un gran trabajo visual con el lanzador.

El “programa” está escrito en Python (cada vez me gusta más) y utilizo el framework de Clutter (y el respectivo binding para Python). PyClutter es el binding de Clutter para Python. Clutter es un framework sobre OpenGL para el desarrollo de aplicaciones gráficas. Gracias a esta es abstracción podemos sacarle jugo a la tarjeta gŕafica de una forma más sencilla. Actualmente Clutter esta patrocinado por Intel y se utiliza en la plataforma móvil Moblin.

Para la reproducción de vídeo, utilizo gstreamer (también con sus respectivos bindings). Clutter también puede incorporar vídeo de gstreamer como si de una textura se tratase. Creo que es la característica de Clutter que más me gusta.

El lanzador se configura (agregar nuevos listado de juegos, modificar,etc) mediante interfaz web. Esto es posible utilizando CherryPy (como servidor web), Storm (como mapeador de objetos-bbdd relacional) y Cheetah (como sistema de plantillas). El gestor de base de datos es  SQLite3.

Os dejo un video-captura del lanzador, pero os animo a que lo veaís in situ 🙂

P.D: el video no se ve tan fluido como es en realidad, se debe a que es el mismo sistema quien renderiza el OpenGL y graba los frames per second.

Actualización: Un par de fotos del día del estreno (gracias Santi por pasarlas 🙂 )

Estación Futuro: soporte

Estación Futuro: soporte

Estación futuro: probando

Estación futuro: probando

Translate to:English
MenefanteMenéame TwitterTwitter

[Tip] Deshabilitar dispositivos USB

Hay muchas bondades en usar GNU/Linux como sistema operativo. Una de las características que más me gusta es poder controlar en tiempo de ejecución el comportamiento de los dispositivos escribiendo cadenas de texto sencillas en algún fichero que cuelga de /sys o /proc.

En el tip de hoy vamos a ver como habilitar o deshabilitar un dispositivo USB (un pendrive).

Lo primero que hay que hacer es identificar de donde cuelga nuestro pendrive. Hay multitud de opciones para hacer esto (por ejemplo, escuchando el bus system de D-Bus).

Voy a usar un método más “raw“. La información/control del bus USB se encuentra bajo el directorio /sys/bus/usb.

Empezemos buscando bajo que bus se encuentra nuestro pendrive.

lsusb -t
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/8p, 480M
        |__ Port 2: Dev 2, If 0, Class=hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 3, If 0, Class=HID, Driver=usbhid, 1.5M
        |__ Port 1: Dev 3, If 1, Class=HID, Driver=usbhid, 1.5M
        |__ Port 7: Dev 6, If 0, Class=stor., Driver=usb-storage, 480M

Vemos que nuestro dispositivo cuelga del bus 1 y está en el puerto 7. Para localizar la información de nuestro dispositivo, sólo tenemos que acceder a la ruta: /sys/bus/usb/usb1/1-7. Si hacemos un listado sobre ese directorio obtenemos:

1-7:1.0
authorized
bcdDevice
bConfigurationValue
bDeviceClass
bDeviceProtoco
bDeviceSubClass
bmAttributes
bMaxPacketSize0
bMaxPower
bNumConfigurations
bNumInterfaces
busnum
configuration
descriptors
dev
devnum
driver
ep_00
idProduct
idVendor
manufacturer
maxchild
power
product
quirks
serial
speed
subsystem
uevent
urbnum
version

De todos estos ficheros, el que nos interesa en este caso es authorized. Este fichero acepta los valores “0” y “1” (correspondientes a habilitar y deshabilitar respectivamente).
Por defecto este valor vale 1 (cat authorized). Luego si queremos deshabilitarlo sólo tenemos que ejecutar:

echo "0" > authorized

Os animo a que hagáis la prueba y veáis que ocurre.

Gracias a esta interfaz, es muy sencillo implementar un sistema de seguridad en el lenguaje de programación que queráis (sólo tiene que tener gestión de ficheros).

Translate to:English
MenefanteMenéame TwitterTwitter

[Tip] Recupera fotos borradas

Seguramente alguna vez te ha ocurrido que sin querer has borrado de tu cámara digital las fotos del último cumpleaños o de aquella fiesta de fin de curso.

Si alguna vez te ha pasado o te pasa lo primero que tienes que hacer es: ¡extraer la tarjeta de memoria!

En la mayoría de los casos, cuando se manda borrar un archivo, lo que realmente se hace es eliminar dicho nombre de fichero del directorio. Se borra el nombre, no el contenido. Esto es análogo en borrar de una cinta VHS (si alguién las usas hoy en día :))el título de la película y dejarla en el montón de cintas vírgenes (para se reegrabada).

Os voy a enseñar un procedimiento sencillo para recuperar las fotos (u otros archivos) perdidos.

Lo primero que tenemos que hacer es introducir nuestra tarjeta SD/MMC/Memory Stick o lo que sea en nuestro PC con Ubuntu (por ejemplo).

Abrimos una ventana de terminal y vemos donde ha montado el dispositivo:

mount
   .
/dev/sdb1 on /media/disk type vfat (rw,nosuid,nodev,uhelper=devkit,uid=503,gid=503,shortname=mixed,dmask=0077,utf8=1,flush
   ·

Si os fijáis en este caso es el dispositivo /dev/sdb1 el que se ha montado en el directorio /media/disk. Luego ahora vamos a obtener una volcado físico de la tarjeta entera a disco. De esta forma ya no nos importa que la tarjeta se sobreescriba. Como root (sudo bash) ejecutamos:

dd if=/dev/sdb of=/home/usuario/imagen.dump bs=4096

Ahora para recuperar nuestras fotos, vamos a hacer uso del programa foremost. Si usas Ubuntu, basta con “sudo apt-get install foremost“.

Foremost requiere sólo el fichero de dumpeo para empezar a trabajar:

foremost imagen.dump

Si todo ha ido bien, se habrá creado una carpeta output, donde hay otra subcarpeta para cada tipo de formato detectado. Los principales formatos son: JPEG, GIF, MPEG, PNG, EXE, RAR, etc. Puedes ver los formatos disponibles en su man.

En nuestro caso, el “trofeo” debe estar en la carpeta “jpeg”.  Si hemos tenido suerte, lo siguiente debe ser grabarlas en un CD o DVD para “inmortalizar” esos preciados recuerdos en forma de fotos.

Espero que este tip os sea de utilidad 🙂

Translate to:English
MenefanteMenéame TwitterTwitter

¿Microsoft se burla de Ubuntu?

Fijaros en la siguiente imagen. Es una captura de una nueva promoción de Microsoft.

¿Microsoft ataca Ubuntu?

¿Microsoft ataca Ubuntu?

¿Os suena algo familiar? En efecto, hay un logotipo que recuerda al de Ubuntu.

Contoso” es una compañía ficticia de un juego que ha desarrollado Microsoft (o mandado encargar) para una campaña publicitaria. Se supone que eres un técnico de IT que entras a trabajar en dicha compañia y tienes que resolver los problemas.

La cuestión es que sólo ver el logotipo de “Contoso” me ha recordado a Ubuntu. Ducho mucho de la casualidad. Esto está bien pensando. Lo que no sé es el objetivo.
Se me ocurren varios:

  • Desprestigiar a Ubuntu.
  • Hacer que se hable más de la campaña  (cosa a la que estoy contribuyendo y que tiene más papeletas).
  • Lavar la imagen de Microsoft usando a Ubuntu subliminalmente.

Sea el motivo que sea, estoy seguro que a más de uno le sorprende el parecido razonable.

Por cierto, la promoción se llama “Desafíate“.

¿qué opinas tú?
Actualización: gracias a #dreierfahrer he visto el logotipo anterior de la empresa fictica “Contoso” (parece que ya tiene tiempo el nombre). Aquí esta el logo anterior.

Contoso Logo

Contoso Logo

Translate to:English
MenefanteMenéame TwitterTwitter

[Tip] Cambiar contraseña en GNU/Linux de cualquier usuario

Tener acceso físico a un sistema GNU/Linux supone tener acceso a toda la información (salvo que esté encriptado el disco duro) de un usuario.

Se puede cambiar tanto la contraseña del administrador, root, como la de cualquier otro usuario.

Para cambiar la contraseña del root, basta indicarle a nuestro gestor de arranque (GRUB, LILO, etc) que queremos arrancar el sistema en modo single.

En este modo no se arranca casi ningún servicio (y mucho menos entorno gráfico) y al finalizar el arranque aparece directamente un prompt de sistema (sin pedir ni usuario ni contraseña). El acceso al modo single se consigue añadiendo una “s” a las opciones de arranque del kernel.

Usando grub (el gestor de arranque por defecto en Ubuntu), sería algo así:


kernel		/boot/vmlinuz-2.6.28-18-generic root=UUID=6f6aee6e-e301-4794-9676-8f1312b0ff75 ro quiet splash s

Una vez dentro, basta con ejecutar lo siguiente:


passwd

Introducimos la nueva contraseña y listo.

Si en vez de querer cambiar la contraseña de root, queremos cambiar la de otro usuario, sólo hay que añadir el usuario como argumento a passwd.


passwd <user>

Este tip puede ser útil en caso de olvido de contraseña.

Nota: Ubuntu suele instalar un modo “a prueba de fallos” en la lista de kernels a usar. Yo prefiero usar una shell, pero puede venir bien para usuarios inexpertos.

Translate to:English
MenefanteMenéame TwitterTwitter

[Tip] Eventos ACPI y scripts

Lo más seguro es que conozcais el sistema ACPI (Advanced Configuration and Power Interface). Entre otras muchas cosas, el ACPI se encarga de gestionar eventos relacionados con el control del sistema: inicio/apagado, temperatura, etc.

Para mi lo principal que aporta es conocimiento al sistema operativo de lo que pasa en su “cuerpo” (chasis/placa base/micro).

GNU/Linux tiene soporte de ACPI desde hace años y para determinados eventos tiene asociado un script a ejecutar. En Ubuntu, estos scripts se encuentran en el directorio /etc/acpi. El “mapeo” de eventos a scripts se realiza en el directorio /etc/acpi/events.

El caso más popular (o cuyo comportamiento másse modifica) es el evento asociado al botón de power.  En Ubuntu, el script que se ejecuta cuando el usuario presiona el botón físico de “power” se llama “powerbtn.sh”. Principalmente el cometido que tiene es invocar a shutdown para iniciar un apagado ordenado. Si por ejemplo queremos recibir una notificación en nuestro email de una máquina que se ha mandado apagar, podemos usar el envio de correo en Python incluyéndolo en el script antes mandar apagar la máquina. Otro uso puede ser simplemente ignorar el apagado (aunque si mantienes presionada la tecla,¿sabes qué pasa, no?)

En resumidas cuentas, está bien saber que el sistema operativo pueda realizar acciones ante un cambio gracias al sistema ACPI.

Translate to:English
MenefanteMenéame TwitterTwitter