viernes, 29 de junio de 2012

Mejorar la experiencia de los Juegos en Ubuntu

Un problema que tuve hace poco al reinstalar Ubuntu 12.04 en mi laptop, es que al querer jugar Spore y Call of Duty 4 en Steam, me aparecia una pantalla completamente negra o en lugar de texto solo aparecian unos cuadros negros.

Investigando un poco logré encontrar que el problema era la falta de una libreria, la  S3 Texture Compression (S3TC) library para ser mas preciso. Actualmente tengo una tarjeta ATI, la cual los drivers libres de Ubuntu soportan correctamente, pero la librería S3TC esta cubierta por una patente de software que impide que se distribuya junto con Ubuntu. Afortunadamente, existe un repositorio desde el cual se puede descargar: https://launchpad.net/~xorg-edgers/+archive/ppa/+packages

Cuando se entra a este link, se debe buscar el paquete libtxc-dxtn y descargar el correspondiente a la versión y arquitectura de tu instalación de Ubuntu. Una vez descargado es solo darle doble click al paquete e instalarlo usando el Centro de Software de Ubuntu. Para mi esta fue la solución a varios problemas gráficos que venia presentando, así que si usas drivers libres, es una buena idea instalar esta librería.

Siri vs Google Voice Search (Android 4.1 "Jelly Bean")


Cuando Google anunció Android 4.1 (Jelly Bean), mostraron las nuevas características de búsquedas por voz. Obviamente, todo el mundo estuvo intrigado sobre que tantas mejoras ofrecía frente a Siri, el asistente de iPhone. Bueno, la gente de ThecnoBuffalo se ha tomado la tarea de realizar una comparación entre ambas opciones y este es el resultado:
Aun cuando esta es solo una prueba rápida, se puede notar que la nueva versión de búsqueda por voz de Google es bastante impresionante y tiene un performance muy bueno frente a Siri. Esperemos entonces que nuevas mejoras aparecerán en los próximos días en ambos frentes, pero por ahora, parece que Google lleva la delantera.

martes, 15 de mayo de 2012

Instalar Steam en Ubuntu 12.04

Steam es una de las plataformas de distribución de juegos mas grande que existe actualmente, tiene dentro de su catalogo mas de 1100 juegos que pueden ser descargados desde cualquier PC. Fue creada por Valve, empresa que trajo al mundo clasicos como Half Life, Portal y Left 4 Death. Actualmente tiene soporte para Windows y Mac OS, y segun diversos rumores, se encuentra trabajando en una version para Linux. De todas formas aun cuando tengamos una versión nativa para Linux, gran parte del catalogo de juegos no estará disponible para esta plataforma, pero gracias a Wine tenemos una solucion para esto.

El proceso es muy sencillo, y solo necesitamos como pre-requisitos, la version mas reciente de Wine, puede ser la versión estable 1.4 o superior, o la version en desarrollo 1.5.x., estas ya vienen incluidas en  los repositorios de Ubuntu 12.04 y se pueden instalar muy facilmente desde el centro de Software de Ubuntu.

Una vez instalado Wine, utilizaremos Winetricks para que se encargue de descargar e instalar Steam, junto con sus pre-requisitos, para esto seguimos los siguientes pasos:

Primero borramos cualquier version antigua que podamos tener en la carpeta actual
rm -f winetricks
Luego descargamos Winetricks
wget http://winetricks.org/winetricks
Le damos permisos de ejecución
sudo chmod +x winetricks
Y estamos listos para instalar Steam, para esto, vamos a usar un Wineprefix personalizado, para así poder encapsular nuestra instalación de Steam y evitar que cualquier otra instalación utilizando Wine nos afecte la configuración de Steam. Para esto corremos el siguiente comando:
WINEPREFIX=~/ruta/personalizada ./winetricks steam
En este caso esto diciendo que en mi carpeta home, dentro de ruta/personalizada, instale una nueva "botella" de Wine e instale todo en esa ubicación. A continuación el script descargará varios archivos, y realizará algunas configuraciones adicionales dentro de la carpeta que escogimos para instalar Steam, y luego iniciará la instalación como tal. Una vez iniciada la instalación, solamente se deben seguir las instrucciones en pantalla al igual que se haría en Windows.


Adicional a esto, recomiendo instalar Flash, para así poder ver los videos que incluyen las diferentes paginas de la tienda Steam. Esto lo pueden hacer corriendo:
WINEPREFIX=~/ruta/personalizada ./winetricks flash
Hay que advertir que no todos los juegos son 100% compatibles con Wine, y que ademas se necesitará tener una buena tarjeta de video, en especial una nVidia con los drivers privativos actualizados. Pero aun así, son muchos los juegos de los que se pueden disfrutar.

Cualquier duda, o dificultad que deseen aclarar no duden en comentarla y estaré mas que dispuesto a actualizar el post con mas información.

viernes, 11 de junio de 2010

MSN Messenger + Webcam en Linux usando Wine

Hoy ha sido liberada la ultima versión de Wine, 1.2 rc3 [1], y entre muchos de los cambios que se han agregado en estas release candidate de la versión 1.2 de Wine se encuentran el soporte de Alpha Blending para mejorar las transparencias y uno muy interesante, el soporte de webcams.

Actualmente se puede conseguir una experiencia casi completa utilizando MSN Messenger 7.5. Ya hay soporte para avatares, guiños, ocultar los bordes de ventanas entre otros.

Para instalar MSN Messenger 7.5 sobre Wine solo debes seguir los pasos que expliqué en un articulo anterior con unas pequeñas modificaciones:

- Primero debes instalar la ultima versión de Wine (actualmente 1.2-rc3). Si estas en Ubuntu puedes agregar el repositorio de Wine ejecutando en la consola:
sudo add-apt-repository ppa:ubuntu-wine/ppa
Luego actualizas la lista de paquetes:
sudo apt-get update
e instalas Wine con:
sudo apt-get install wine1.2
- Ahora el siguiente paso es obtener el instalador de MSN Messenger, que puedes descargar en español de aquí.

- Ya con el instalador en nuestro poder, el siguiente paso es configurar el contenedor donde vamos a instalar MSN Messenger. Utilizando winetricks hacemos:
WINEPREFIX=~/ruta_deseada winetricks flash msxml3 riched20
- De aquí en adelante solo es seguir las instrucciones de instalación. Pero ahí no acaba todo, una vez termine la instalación se deben realizar algunos retoques adicionales: Utilizando winetricks nuevamente, configuramos nuestro contenedor para que trabaje en modo Windows 2000, esto es para evitar que MSN Messenger nos evite conectarnos al detectar que hay una actualización. Para esto solo hacemos:
WINEPREFIX=~/ruta_deseada winetricks win2k
Listo, con esto nuestro MSN Messenger estará listo para chatear y con soporte para Webcam. Cualquier inconveniente o pregunte no dudes en comentar.

Si deseas mas información no olvides revisar la base de datos de aplicaciones de Wine [2].

miércoles, 10 de febrero de 2010

El mejor firewall del mundo

  • Una célula humana contiene 75MB de información genética.
  • Un espermatozoide contine la mitad; eso significa 37.5MB
  • Un ml de semen contiene 100 millones de espermatozoides.
  • En promedio la eyaculación dura 5 segundos y contiene 2.24 ml de semen
  • Esto significa que la producción del miembro de un hombre equivale 37.5MB x 100,000,000 x 2.25)/5 = 1,687,500,000,000,000 bytes/segundo = 1,6875 Terabytes/seg
Esto quiere decir que el óvulo femenino soporta este ataque DDoS a 1,5 terabytes por segundo, y solo permite que pase un solo paquete de información lo que la hace el mejor hardware firewall del mundo. La mala noticia de esto, es que ese paquete de información que deja pasar, cuelga el sistema por aproximadamente nueve meses.

Tomado de: Ubuntu Life

viernes, 22 de enero de 2010

Entendiendo lo basico de la linea de comandos (1/3)

Linux, toma prestadas muchas cosas de Unix, y Unix empezó como un sistema operativo basado en texto. Linux guarda mucho de esta herencia, lo que significa que para entender cómo utilizar y, en especial, administrar Linux, debes entender por lo menos lo básico de su consola. Es por eso, que inicio este curso con una introducción al Shell de Linux (el programa encargado de recibir y procesar los comandos de texto.).

Este capítulo empieza entonces con información básica del Shell, incluyendo opciones y procedimientos para mejorar y optimizar su uso.

Antes de que hagas cualquier cosa con Linux, debes entender cómo utilizar el Shell. Existe una gran variedad de estos, pero casi todos tienen las mismas características en común. Entender estas características básicas te ayudara en tu día a día con Linux, así que empezaré por describir algunas de estas y uno que otro comando. También debes entender las variables de entorno del Shell, que son espacios para mantener información que puede ser útil para diferentes programas. Y finalmente explicare como obtener mas información sobre los comandos que deseas utilizar.

Explorando las opciones de tu Shell

Como en muchos componentes claves del sistema, Linux provee un gran rango de opciones para los shells. Un listado completo sería muy largo, pero las opciones más comunes incluyen:

bash (Burn Again SHell): Esta basado en el antiguo Bourne shell de Unix, pero lo mejora de muchas maneras. En Linux, bash es el shell por defecto de la mayoría de cuentas de usuario, y es el que utilizaremos en este curso dado que es el shell en el cual hace énfasis el LPI.

bsh (Bourne SHell): Sobre el cual se basa bash, es poco usado en Linux, y en algunas ocasiones el comando bsh es un link simbólico hacia bash.

tcsh: Este shell está basado en C Shell (csh). Es bastante común en algunos círculos de usuarios, pero no aparece por defecto en la mayoría de las distribuciones Linux. Aunque comparte muchas de las características de bash se diferencian en algunos aspectos, como por ejemplo la forma en que cada uno maneja las variables de entorno.

csh (C SHell): Es usado en la actualidad muy poco en Linux, pero si un usuario está familiarizado con este tcsh es un buen reemplazo.

ksh (Korn SHell): Fue diseñado para tomar lo mejor de Bourne Shell y C Shell y mejorarlo, actualmente tiene un grupo pequeño de fieles seguidores.

Además de estos, existen otra docena de obscuras alternativas. En Linux la mayoría de los usuarios utilizan bash al venir predeterminado en las distribuciones más comunes. Pero otros sistemas operativos utilizan tcsh o csh como predefinidos. Generalmente el archivo /bin/sh es un link simbólico al shell predeterminado del sistema, en Linux vendría a ser /bin/bash.

Usando el shell:

El shell de Linux es sencillo para cualquier usuario que tenga experiencia previa con un sistema operativo basado en texto, se escribe un comando, con sus posibles opciones, el computador ejecuta el comando. La mayoría de los comandos son externos (son programas diferentes al shell), pero existen algunos que son internos, por lo tanto, saber diferenciar entre ellos es importante. También deberías conocer los atajos que hacen el uso de la consola mucho más sencillo (autocompletado, buscar comandos utilizados recientemente, o editarlo).

Iniciando la consola: Si inicias una sesión en Linux utilizando el modo texto, lo más probable es que inicies en la consola directamente (De hecho es la consola la que pregunta por tus datos para loguearte.). Si inicias sesión utilizando la interfaz grafica, tendrás que iniciar la consola de forma manual. Algunas veces encontraras un menú que te de la opción de ejecutar un programa llamado terminal, xterm, Konsole, o algo similar. Estos programas te permiten acceder a un shell (casi siempre bash) y ejecutar programas en modo texto. Si no encuentras esa opción, busca la forma de ejecutar un comando de forma arbitraria (generalmente Alt + f2) y escribe xterm ó konsole.

Comandos internos y externos: Los comandos internos son, como te debes imaginar, integrados a la consola. La mayoría de los shell ofrecen un grupo de comandos internos, pero existen diferencias entre estos. Puedes consultar el manual de tu consola usando man para obtener más detalles si estas usando algún shell exótico. Los comandos internos que probablemente utilizaras te permiten realizar tareas como:

Cambiar el directorio en el que estás trabajando: Mientras trabajas en la consola, estás trabajando en un directorio específico. Cuando te refieres a un archivo sin proveer la ruta completa, la consola trabaja sobre el archivo ubicado en el directorio actual (Reglas similares aplican para muchos programas). El comando cd cambia el directorio actual de trabajo. Por ejemplo, escribiendo cd /home/jaime cambia el directorio actual a /home/jaime. El símbolo tilde (~) es un atajo muy útil, sirve para referirse a nuestro directorio home. Así que en mi caso por ejemplo cd ~ tendría el mismo efecto que cd /home/jaime dado que mi directorio home es /home/jaime.

Mostrar el directorio actual de trabajo: El comando pwd muestra (imprime en la pantalla) el directorio actual en el que estamos trabajando.

Mostrar una línea de texto: El comando echo muestra el texto que se le envié, por ejemplo, escribiendo echo Hola Mundo hace que se muestre por pantalla la cadena "Hola Mundo". Esto podría verse como poco útil, pero es muy útil cuando escribimos scripts, o cuando deseamos saber el contenido de las variables de entorno.

Ejecutar un programa: El comando exec inicia el programa externo que se especifique, por ejemplo exec miprograma ejecuta miprograma. En la mayoría de los casos, esto se puede hacer simplemente escribiendo el nombre del programa que desees iniciar, pero el comando exec tiene una característica especial, en lugar de iniciar un nuevo proceso que corra junto al shell, el nuevo proceso reemplaza el shell. Cuando el nuevo proceso termina sus tareas, es como si cerraras igualmente la terminal.

Medir el tiempo de una tarea: El comando time mide cuanto tiempo tarda un comando en ejecutarse. Por ejemplo, time pwd nos dice cuanto tiempo el sistema tardó en ejecutar el comando pwd. El tiempo es mostrado una vez el proceso termine todas sus tareas. Se muestran tres tiempos: tiempo total de ejecución (alias tiempo real), tiempo de CPU del usuario y tiempo de CPU del sistema. Los últimos dos valores hablan del tiempo de CPU que se consumió, y lo más probable es que sean mucho menores que tiempo total de ejecución.

Set: En la forma más básica, set muestra una gran variedad de opciones relacionadas con las operaciones de bash. Estas opciones tienen un formato parecido a las variables de entorno, pero no son lo mismo. Puedes pasar varias opciones a set para que estas tengan sus efectos sobre un gran número de operaciones del shell.

Cerrar el shell: Los comandos exit y logout, ambos cierran el shell. El comando exit cierra la terminal, pero el comando logout solo cierra los shell de sesión, esto quiere decir, aquellos iniciados en modo texto a diferencia de los que corren en ventanas de xterm o parecidos.

Esta lista de comando no está completa, mas adelante hablare de otros comandos internos, pero si deseas saber más puedes consultar la documentación de tu shell, en el caso de bash puede ser man bash.

Algunos de estos comandos internos tienen una copia externa que realizan las mismas tareas, pero estos comandos externos no siempre están disponibles en todos los sistemas. Incluso cuando están disponibles, los comandos internos tienen preferencia a menos que se provea la ruta desde la que se quiere ejecutar, por ejemplo escribiendo /bin/pwd en lugar de pwd.

Cuando se escribe un comando que no es reconocido por el shell como uno de sus comandos internos, el shell verifica sus "rutas" (path) para encontrar un programa con ese nombre para ejecutarlo. El path es una lista de directorios en los cuales los programas pueden ser encontrados. Está definido por la variable de entorno PATH como se explicara más adelante. Una cuenta de usuario normal, tiene alrededor de una docena de directorios en su PATH. Puedes ajustar las rutas modificando la variable PATH en un archivo de configuración del shell, como también se explicará más adelante.

Puedes ejecutar programas que no están dentro de las rutas si provees la ruta completa a estos en la consola. Por ejemplo, escribiendo ./miprograma ejecutará el programa miprograma en el directorio actual, y /home/jaime/foobar ejecuta el programa foobar ubicado en el directorio /home/jaime.

lunes, 4 de enero de 2010

Emesene 1.6 Liberado

Con montones de errores corregidos, mejoras en el GUI y para celebrar el año nuevo, se lanza esta nueva version del amado Emesene:
  • Mejorada la usabilidad y el GUI
  • Nueva ventana de preferencias (Gracias a arielj, ukblacknight, nicolaide, mehd36)
  • Implementado el roaming del nickname y mensaje personal (by pablo)
  • Corregidos toneladas de errores ( son muy perezosos para escribir cuales)
Aunque el changelog sea corto los cambios son muchos, así que no pierdan el tiempo para probar esta excelente alternativa al Windows Live Messenger. Y esperemos que Emesene2 no tarde!


Descargas aqui -> http://downloads.sourceforge.net/project/emesene/emesene-1.6/emesene-1.6.tar.gz