Tag Archive: Linux

Dec
24

Migrando páginas web ASP.NET de Windows a Linux

¿Recuerdan una entrada titulada “Migrando una página web ASP.NET de Windows a Linux“? Esta entrada es como una continuación de aquella así que si esta interesado en el tema tal vez prefiera leer esa primero a modo de antecedentes comenzare por relatar que tuve que migrar varias páginas web hechas en ASP.NET en Windows con NetFramework y servidas mediante IIS hacia servidores Linux con Mono y servirlas mediante Apache + Mod mono.

En el principio del proyecto original hace años se intento pero Apache pero en ese entonces no podía servir páginas ASP.NET por si mismo (aun no puede) y no existía algún complemento como Mod mono y aunque Mono tenia su propio servidor llamado XSP este no era lo suficientemente estable para soportar la carga de trabajo de una empresa como esta, de hecho aun no lo es todavia, y por eso ahora usamos Mod Mono.

Usando SharpDevelop en lugar de Visual Studio para probar las aplicaciones con Mono y XSP previamente a probar en los servidores Linux se pudo afinar las instrucciones y entonces si pasar a ambientes más reales donde solo que hubo que ajustar algunas características de seguridad que resultaron más altas que en Windows y entonces vino el problema. Parecía no haber poder humano que hiciera que los caracteres especiales, ñ y letras acentuadas se vieran correctamente.

La base de datos. Muchos trabajamos con bases de datos PostGreSQL y estas suelen ser creadas por default (desconozco si en algunas versiones pone alguna codificación por default más avanzada) con codificación (encoding) SQL_ASCII, que según la documentación de PostGreSQL con SQL_ASCII el servidor interpretara los valores 0 al 127 del estándar ASCII, así que más que una declaración de que juego de caracteres usar es una orden de ignorar la codificación lo que puede causar problemas cuando se usen caracteres no ASCII como letras acentuadas, la ñ o símbolos. Debido a esto de ser posible hay que tener cuidado de definir desde el principio la base de datos con un juego de caracteres, de preferencia UTF8, que es UNICODE porque es apto para todos los idiomas, y esto es importante independientemente del tipo de tecnología de su base de datos que ustedes utilicen.

Seguramente su manejador de base de datos tendrá alguna opción para consultar el juego de caracteres de su base de datos pero si no lo encuentran, en PostGreSQL pueden ver la codificación de su base de datos con la siguiente instrucción:

SELECT encoding FROM pg_database where datname='[nombre de la base de datos]';

Esto arrojara un número que puede traducirse así, por poner ejemplos de encodings comunes, aunque esta tabla es solo una muestra muy limitada.

0 SQL_ASCII
6 UTF8 (UNICODE)
8 LATIN1
16 LATIN9 (ISO 8859-15)

La codificación de la base de datos también puede hacerse a base de datos ya creadas actualizando (Update) el campo “encoding” de “pg_database” que consultamos con la instrucción anterior pero esto no afecta de inmediato y “automagicamente” a toda la información previamente guardada en las tablas de la base de datos, eso lo tendremos que ajustar por nuestros propios medios. Además de que las conexiones abiertas antes del cambio no se verán afectadas, para que tome efecto deberán ser cerradas y volver a establecer la conexión para que se conecten usando el nuevo juego de caracteres, y dependiendo del tipo de cambio de encoding en las consultas podría haber problemas al tratar de leer caracteres que no existen en un juegos de caracteres pero si en el otro o que en ambos encodings un mismo código represente caracteres diferentes y eso altere nuestra información; son cosas a tomar en cuenta.

Lo mejor, de ser posible es empezar la base de datos con el encoding adecuado y grabarle los datos desde un respaldo, si se pasa de SQL_ASCII a un encoding mayor como UTF8, Latin1 o Latin9 no debería haber problemas… en teoría, en la practica ya sabemos como son las cosas.

La codificación de la base de datos

La codificación de la base de datos

ODBC y la conexión a la base de datos. Aunque los datos estén correctamente guardados en la base de datos estos no vienen solos a nuestras aplicaciones si no que necesitamos conectarnos y la mayoría de las veces lo hacemos usando un ODBC. No creo que halla necesidad de explicar eso pero si de recordar o advertir que hay ODBC ANSI y los hay UNICODE y tengo experiencias de que si consultas una base de datos con caracteres UNICODE usando una conexión ANSI los caracteres especiales no llegan bien sino que llegan símbolos de interrogación (?) y como ya vienen así para nuestras aplicaciones será imposible distinguir que símbolo era originalmente y eso será un gran problema. Los ODBC ANSI funcionan de maravilla con bases de datos SQL_ASCII pero si van a usar una con UNICODE asegúrense de que el ODBC valla a la par.

Además recuerden o sepan que en la cadena de conexión podemos dar indicaciones sobre la codificación de caracteres a utilizar al conectarnos a la base de datos. Así podemos indicarle si queremos que se conecte usando SQL_ASCII, Latin1, UTF8 o lo que sea que nuestra base de datos soporte.

DRIVER={[ODBC]};Server=[IP];Encoding=[Encoding];DATABASE=[DB];UID=[Usuario];PWD=[contraseña];

* Nota extra para desarrolladores en .NET: Ver tutorial para conectarse a bases de datos PostGreSQL sin utilizar ODBC.

Consultando la base de datos. Si no podemos controlar la codificación de caracteres en la base de datos o solo vamos a hacer unos pocos querys ocasionales que no ameriten tanto esfuerzo pero aun así necesitemos el texto consultado a la base de datos en un encoding especifico podemos recurrir a indicarlo dentro de la instrucción de consulta, por ejemplo con la función convert de SQL de la siguiente manera:

SELECT convert( 'texto', 'SQL_ASCII', 'UTF8')

El código anterior convierte el primer parámetro, ‘texto’ de su codificación original a UTF8.

La codificación de caracteres de las páginas web. Los navegadores web traducen el código de la página en algo visible al usuario y el texto también debe ser interpretado y para eso también manejan los estándares de codificación de caracteres que ya mencionamos antes como podemos ver en la imagen a continuación.

La mayoría de los navegadores te dejan elegir un juego de caracteres por default o ellos mismos lo ponen pero también tienen la capacidad de detectar el juego de caracteres usado por la página para mostrar correctamente el contenido ¿Y cómo es que las páginas le dicen al navegador cual es el estándar que deben usar? Usando una cabecera especial en su código fuente.

<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>

Aquí estamos indicando que el texto en la página es UTF8 y el browser así lo interpretará así que tómenlo en cuenta.

* Nota extra para desarrolladores en .NET: En el archivo Web.config de nuestras aplicaciones web podemos indicar explicitamente más detalles sobre el idioma de nuestra página agregando las siguientes configuraciones que ajustan el contenido de la página al formato regional del idioma y país además de en los caracteres especiales también en cosas como las fechas, los signos y formatos de moneda y cosas así.

<globalization
requestEncoding=”utf-8″
responseEncoding=”utf-8″
fileEncoding=”utf-8″
uiCulture=”es-MX”
culture=”es-MX”
/>

Con lo anterior debería de bastar pero si además desean indicarle al compilador cual es el encoding que debe reconocer cuando genere su dll o ejecutable pueden hacerlo así, aunque en lo personal a mi me parece ya exagerar un poquito pero no esta demás eliminar los posibles cabos sueltos ¿verdad?

<compilation defaultLanguage=”c#” debug=”true”>
<compilers>
<compiler language=”cs;csharp”
extension=”.cs”
type=”Microsoft.CSharp.CSharpCodeProvider,System”
compilerOptions=”/codepage:utf8″ />
</compilers>
</compilation>

Y hablando de no dejar cabos sueltos, queda un ultimo punto que comentar que si bien no es exactamente el mismo tema de conservar información compatible entre sistemas y plataformas si puede ser un complemento para la parte visual de nuestras aplicaciones web.

HTML. El HTML no es un lenguaje de programación si no uno más limitado para la estructuración y formato de las páginas web donde indicamos donde va cada elemento en pantalla y como se debe de ver, y tiene sus limitaciones. Para HTML la ñ o la á no existen pero si en el código de tu página…

Para ver esto en pantalla… debes poner
á &aacute;
é &eacute;
í &iacute;
ó &oacute;
ú &uacute;
Á &Aacute;
É &Eacute;
Í &Iacute;
Ó &Oacute;
Ú &Uacute;
ñ &ntilde;
Ñ &Ntilde;
ü &uuml;
Ü &Uuml;

Claro, los caracteres arriba mencionados solo son unos pocos, y cambiarlos todos manualmente es tedioso pero podríamos hacer funciones para automatizar el cambio o mejor aún, aprovechar funciones ya incluidas en los lenguajes de programación, por ejemplo en C# tenemos la función HtmlEncode que reemplaza en una cadena de caracteres los caracteres que tienen algún equivalente en código HTML de modo que la cadena resultante donde se han reemplazado sea aceptada y bien interpretada por los navegadores, hasta cambia los saltos de linea por su código HTML.

Server.HtmlEncode(string);

En caso de usar PHP también tenemos un par de funciones que pueden hacer un trabajo similar. htmlspecialchars(string) y htmlentities(string) son algo “parecido pero diferente”, pues estas funciones convierten ciertos caracteres que tienen un significado especial en HTML y deben ser representados por entidades HTML si se desea preservar su significado para que se muestren así en pantalla en lugar de ser tomados por código fuente, descuadren la página y no se vean. Estas funciones devuelven una cadena de caracteres con algunas de estas conversiones realizadas. htmlspecialchars solo afecta a los caracteres más útiles para la programación web.

Las traducciones realizadas son:

  • ‘&’ (ampersand) se convierte en ‘&amp;’
  • ‘”‘ (comillas dobles) se convierten en ‘&quot;’
  • “‘” (comilla simple) se convierte en ”’
  • ‘<’ (menor que) se convierte en ‘&lt;’
  • ‘>’ (mayor que) se convierte en ‘&gt;’

En cambio se usa htmlentities si se requieren traducir todas las entidades de caracteres HTML. Ambas funciones son útiles para prevenir que texto suministrado por el usuario, un archivo o desde la base de datos contenga código HTML.

¿Algo más? Por ultimo recordarles que si su página además usa JavaScript para mostrar algo en pantalla consideren que también maneja códigos para representar los caracteres especiales y que no son iguales que los de HTML.

Para ver esto en pantalla… debes poner
á á
é é
í í
ó ó
ú ú
ñ ñ

Para que lo tomen en cuenta si de repente en algún control dinámico les aparece un carácter extraño.

Y bueno, con eso finalizamos de revisar esta serie de puntos a considerar al desarrollar una página web lo más universal posible.

Dec
24

Npgsql. Conectarse a BD PostGreSQL sin usar ODBC

Como sabrán .NET es un Framework de programación que en teoría pretende ser independiente de la plataforma y facilitar el desarrollo aunque en la practica esa portabilidad es un tanto cuanto artificial y depende del proyecto Mono para funcionar en más plataformas además de Windows, pero al menos esta estandarizado y permite crear aplicaciones multiplataforma aunque con algunas restricciones.

Npgsql es un .Net Data Provider (Proveedor de Datos) independiente de NET o Mono que permite a estos establecer conexiones a bases de datos PostGreSQL que son tan comunes. Así Npgsql es una alternativa a los ODBC para cuando no tenemos el control de estos o no nos dan los resultados esperados, y Npgsql para el desarrollador resulta muy similar en uso a ODBC.

¿Cómo utilizarlo?

Podemos descargar la ultima versión desde la página oficial y agregarlas a nuestro proyecto con facilidad copiando la libreria Npgsql.dll en el directorio de la aplicación (o en otro directorio si ha configurado Path to Private Components).

En aplicaciones web ASP.NET y Web Services se debe alojar Npgsql.dll y Mono.Security.dll en la carpeta bin de la aplicación.

Luego agregamos a nuestro sistema como referencia las .dll antes mencionadas y ya podremos usarlas en nuestro código.

Donde las usemos hay que agregar los espacios de nombres Data y Npgsql. Aquí dejo un mínimo ejemplo de la sintaxis.

using System.Data;
using Npgsql;

// Establecer la conexión a base de datos
NpgsqlConnection conn = new NpgsqlConnection("[cadena de conexion]");
// Abrir la conexion
conn.Open();
// Indicar una instrucción a la base de datos
NpgsqlCommand Command = new NpgsqlCommand("[instruccion SQL]", conn);
// Ejecutar la instrucción SQL
Command.ExecuteNonQuery();
// Cerrar la conexión
conn.Close();

Cómo pueden ver es idéntico al uso de conexiones por ODBC, pero ya no dependemos del ODBC instalado en la PC donde nuestra aplicación sea ejecutada. Prácticamente es cambiar todo donde diga ODBC por Npgsql, por ejemplo un OBDCDataReader se reemplaza por NpgsqlDataReader.

La cadena de conexión que usaremos para Npgsql es estandar. Yo la utilizo así:

Server=[IP];Port=[Puerto];Database=[DB];User Id=[Usuario];Password=[Contraseña];

En las versiones más recientes de Npgsql la codificación es siempre UNICODE por lo que el atributo encoding ha quedado obsoleto, pero en caso necesario, las versiones más antiguas si manejan encoding SQL_ASCII o UNICODE según se indique en la cadena de conexión.

Y así es como logramos conectarnos a una base de datos PostGreSQL desde Mono sin depender de ODBC.

Jul
23

Recuperar Grub2 luego de instalar Windows

Hola, volvemos a publicar aquí una de esas entradas técnicas que en el futuro seguramente me serán de útil recordatorio y probablemente a algún navegante de la web también.

Tener 2 o más sistemas operativos en una PC es común, pero al instalar Windows este OS tiene la fea costumbre de dañar el arranque de los sistemas que hallan estado previamente en el equipo, en mi caso, Ubuntu. Los sistemas operativos siguen ahí solo que al encender la PC te quedas sin opción para seleccionarlos.

En el caso de Ubuntu y distribuciones (hijas de Debian) que también usen GRUB2 y si tienes el disco o USB booteable de la distribución y no le tienes miedo a usar comandos desde la consola, un procedimiento para recuperar nuestro arranque podría hacerse de la siguiente manera desde una sesión Live.

1: Con el disco de Ubuntu iniciar una sesión live, probar Ubuntu sin instalar nada.

2: Abrir la terminal y ver el listado de particiones en nuestra computadora con el siguiente comando.

sudo fdisk –l

Aparecerá un listado más o menos como este.

Hay que buscar cual es la partición que tiene nuestro linux, en mi caso es sda5. Guíate por el nombre de las particiones.

3: Montar la partición escogida en el paso anterior.

sudo mount /dev/sda4 /mnt
sudo mount --bind /dev /mnt/dev

4: Acceder como super usuario a la partición en cuestión.

sudo chroot /mnt

5: Instalar Grub o Grub2 en la partición.

grub-install --recheck /dev/sda

6:Reiniciar la computadora ya sin el disco booteable y si salio bien la cosa aparecerá el menú de Grub y podremos escoger con que OS iniciar.

En caso de que Windows no halla aparecido en la lista de Grub hay un paso extra.

7: Iniciar sesión en el Gnu/Linux que recuperamos y actualizar el Grub para recuperar los OS que nos falten en la lista.

sudo update-grub2

May
02

Ubuntu 11.04 Natty Narwall

Desde la semana pasada esta disponible la nueva versión de Ubuntu, la 11.04 y esta vez no me tarde tanto a actualizar y probar porque según vi esta vez hay novedades más notorias. La versión ha sido bautizada “Natty Narwall” y al llamarse narval en los foros especializados la gente suele poner el siguiente vídeo por hacer la gracia.

La canción de los narval

Ya en serio. Esta versión incluye varios cambios en la distribución y los más polémicos son cambiar el escritorio por default para usar Unity en todas sus versiones -en una entrada anterior ya les había comentado mi opinión sobre Unity- desde Notebook Remix hasta Desktop, pero para mi sorpresa la versión de Unity incluida esta vez no es tan rígida como la que había probado en 10.10 e incluye mejoras en la usabilidad que me han permitido usar Unity como mi escritorio default esta vez en lugar de huir de él nuevamente y volver a poner Notebook Remix.

Y el otro giro ha sido pasar de incluir Open Office a usar Libre Office. El cambio en la paquetería de Office es el menos traumático de los dos por aquello de la estandarización de las aplicaciones, en cambio adoptar Unity si ha levantado mucha inconformidad debido a que es un escritorio sencillo, amigable con los usuarios y de fácil asimilación para usuarios poco experimentados… por lo cual se queda corto para usuarios experimentados que gustan de personalizar su entorno y que ya traemos muchas costumbres encima, o sea, a quien no interesa empezar de nuevo con algo más simple. Se le ha llegado a comparar a Unity con que es como tener una interfaz de smartphone para que se hagan una idea.

El escritorio de GnoblisUbuntu 11.04 con Unity

De momento Unity aunque es la interfaz por default no es obligatorio y puedes escoger con cual escritorio iniciar sesión, pero se rumora que en futuras versiones no lo será así que acostumbrense o vallan buscando otra distribución que más se les acomode.

En las mejoras y correcciones respecto a detalles que critique de la versión pasada y que ahora encuentro en Unity y que le van de maravilla a las pequeñas pantallas de las notebooks esta que la barra lateral izquierda ahora se auto-oculta para ahorrar espacio. También que ahora si se pueden minimizar las ventanas y me encanta el detalle de que los menús de las aplicaciones no ocupen una linea horizontal en las ventanas si no que están ocultos hasta que pases el mouse por la barra de titulo y entonces ahí mismo aparecen. Hay muchos pequeños detalles para ahorrar espacio, por ejemplo las barras de desplazamiento en las ventanas también se ocultan y aparecen al pasar el mouse y son muy compactas.

Debido a lo anterior recomiendo Unity más para pantallas pequeñas que para escritorio. Hablando de pantallas pequeñas, aunque no es una novedad incluida ahora sino que ya viene de versiones anteriores, también me parece practico tener los botones de cerrar y minimizar a la izquierda porque en ventanas grandes que no caben en mi pantalla no tengo problemas para buscar estos botones ni recorrer ventanas a base de click y arrastre. Un detallito que he aprendido a apreciar con la practica.

UnityEl menú para buscar aplicaciones y archivos

También mejoraron que el escritorio ahora si es un escritorio donde puedo dejar mis archivos, poner accesos directos (lanzadores) y hasta funciona el click derecho… cosas que no se podían hacer en el Unity de 10.10 y en su momento critique. Además el escritorio sirve de base para un menú extra que aparece al dar click en la esquina superior izquierda y sirve para la búsqueda de archivos y aplicaciones que complementa a la barra lateral izquierda. En la barra tenemos las aplicaciones de uso más común y para acceder a las categorías que agrupan los programas y los directorios.

La función de búsqueda de archivos que se ve en Unity también me ha funcionado rápido y bien.

Otra cosa en la que he notado diferencia no es en la distribución en si misma sino en el navegador porque incluye FireFox 4 y yo no lo había probado. Lo siento bien, ligeramente más veloz pero intercambio de posición las funciones de “abrir en una nueva pestaña” y “abrir en una nueva ventana” supongo que por copiarle a Chrome y todavía no me acostumbro del todo y frecuentemente hago lo contrario a lo que quiero hacer.

En el resto de generalidades, para el uso que doy yo al SO, las aplicaciones que necesito y el grado personalización que estoy dispuesto a hacer me agrada. El rendimiento me parece bien, se mantiene el que tenia con 10.10 donde ya me había agradado la mejora del rendimiento de los videos .mp4 y .mkv ¿Algún otro usuario que quiera opinar?

Mar
06

De Ubuntu 10.04 a 10.10: Errores y Unity

Hola, si, ya se que desde Octubre 2010 ya paso mucho tiempo y que ya casi mejor hablar de la versión 11.04 y tal, pero así pasaron las cosas.

Un buen día para comunicarme por Skype con los chavos del podcast Reset el micrófono me dio algunos problemas, Skype no lo reconocía aunque en otras aplicaciones como Audacity (lo uso para grabar los audios Desde la Madriguera) así que problema de Hardware no es, si no algo con el Skype.

Decidí hacer algo para resolverlo y comenzar por actualizar la distribución, cosa que no era muy necesaria pues 10.04 es una distribución LTS, así que seguirá recibiendo actualizaciones mucho tiempo, pero aun así intente actualizar a la nueva versión.

Primero limpie mi sistema usando el asistente antes de actualizar pero ya una vez entrando a lo bueno me encontré con un problema, pero dado que hace meses que paso el boom del upgrade ya encontré la respuesta fácilmente.

update-manager marca error al intentar actualizar a 10.04

update-managerResulta que al intentar pasar de versión luego de trabarse en este error, no seguía con la actualización. Lo que encontre googleando fue que el error es conocido como el Bug #606652 y se resuelve así:

1. Desinstalar: xserver-xorg-video-all y xserver-xorg-video-nouveau
(Ir a Sistema > Administración > Gestor de Paquetes Synaptic)

2. Ejecutar la actualización del update-manager -d. Después que hizo la actualización lo reinice y todo.

3. Reinstalar con el Gestor de Paquetes xserver-xorg-video-all y xserver-xorg-video-nouveau

Bueno, el paso 3 yo no lo hice y no noto ningún problema, pero la sugerencia oficial decía eso.

Luego de actualizar versión automagicamente ya funciono el micro y además noto una mejoría en el rendimiento de la reproducción de vídeo MP4 y MKV en mi humilde notebook… bien. La otra cosa muy notable es el cambio del escritorio por default, que ahora usa Unity.

¿Qué es Unity?

Un nuevo tipo de escritorio que ya viene en la versión para notebooks de Ubuntu 10.10 y que será el escritorio por defecto de todas sus versiones a partir de 11.04 en lugar de Gnome, pues al parecer a Canonical no le gusto el rumbo que esta tomando Gnome 3 (Gnome shell) y como a muchos se les hace que Unity se ve bonito como los MacOs pues para allá van, pero la verdad Unity es un escritorio orientado a portátiles pues maximiza todas las ventanas por default si o si, el acomodo de sus barras e indicadores da prioridad a dejar todo el espacio vertical posible y el escritorio se porta más como un espacio vacío que algo para que el usuario llene a su gusto.

Mi escritorio

De momento la versión de Unity que incluye es muy poco personalizable y hay cosas que extraño, ni siquiera responden los clicks en el escritorio ni pude poner nada en el, solo se maneja todo con la barra lateral y para manejar varias aplicaciones abiertas a la vez como se maximiza todo lo que mejor me acomodo fue manejar cada una en escritorios distintos, si, volvió a manejar 4 escritorios por defecto.

En resumen, me parece bien este escritorio para usos muy básicos como navegar en internet, paquetería, redes sociales o cualquier trabajo que requiera poca multitarea porque como quieras ponerte a trabajar con muchas ventanas a la vez la cosa se complica. Si eres un usuario que gusta de personalizar a detalle su entorno tampoco es este Unity para ti.

En portatiles no me parece mal, pues favorece el uso rápido y simple pero para escritorio no lo veo tan claro, así como para usuarios más avanzados tampoco, creo que Gnome shell nos convencerá más. Al menos al iniciar sesión me da la posibilidad de escoger que escritorio usar, si Desktop, Notebook o Unity.

Oct
28

Mañana sale Ubuntu 9.10

Recordandoles que mañana sale la versión 9.10 de Ubuntu, una distribución de GNU/Linux muy popular y de las más recomendadas para usuarios novatos pero con potencial para usuarios avanzados debido a todas las caracteristicas que hereda de Debian.

Ya pueden pedir sus discos originales de este SO en https://shipit.ubuntu.com/ pues los envian sin costo a cualquier parte del mundo. En mi caso tengo instalaciones recientes en mis computadoras de escritorio y netbook así que con la simple actualización funcionaran bien, pero ya he pedido discos antes y han llegado.

Entre las novedades interesantes en esta versión yo destaco “El Centro de software de Ubuntu” que viene a centralizar en una sola aplicación todas las opciones para instalar y actualizar aplicaciones y los paquetes del sistema que estaban repartidos por el Gestor de actualizaciones, la herramienta Orígenes de software, el Instalador GDebi para paquetes individuales y el Gestor de paquetes Synaptic. Este centro aparece en lugar del Instalador de aplicaciones, pero por si acaso o por costumbre, también se mantiene como opcional al Gestor de paquetes Synaptic en el menú de administración, y hermanado a esto también se facilito la manera de agregar PPAs a las listas de origenes de software de donde tomaras las instalaciones pues tiene una herramienta grafica u opcionalmente el comando add-apt-repository y ambas formas aceptan direcciones recortadas y buscan automaticamente las claves publicas.

También renovaron el Gestor de conexiones de red, lo cual le va a venir muy bien a mi Netbook con eso de lo portatil y andarla conectando aquí y alla a donde voy, aunque ya me he acostumbrado al actual, espero que ademas de la usabilidad también mejore el control del hardware y prenda la luz del indicador de red sin tener que instalar nada aparte como fue necesario en mi Acer One con 9.04

Al parecer el soporte para audio y video ha mejorado pues cambiaron al cliente de mensajeria instantanea (el MSN pues, por llamarle de modo que cualquier simple mortal entienda aunque se lea más feo) que traia por default, Pidgin, por el Empathy. Este cliente tiene un buen soporte para audio y video estilo Skype, o eso dicen, yo no lo he probado y uso aMSN para eso. Como sea, dado lo común que se me ha vuelto ultimamente el uso de webcams y microfonos esto me da buenas expectativas.

Karmic Koala

Y hablando de microfonos, en asuntos de sonido, por fin viene la nueva versión de Control de volumen integrado con PulseAudio que no incluyeron en 9.04 aunque ya era la oficial de Gnome en ese momento.
El nuevo control de volumen permite controlar las entradas y salidas de diferentes fuentes de sonido como el micro de la Webcam o la tarjeta de sonido y permite ajustar el volumen de cada aplicación que este corriendo por separado.

En cuestiones de usabilidad, ya se puede formatear unidades desde el menú contextual del botón derecho del mouse (aquí donde los windowseros se rien XD) y llamar la herramienta de gestión de unidades de ahí mismo. Otros detallitos como la instalación de fuentes se ha facilitado, recuerdo aquel lio cuando no sabia como hacerlo y queria fuentes para editar avatares y firmas.

El sistema de archivos ahora es ext4 por defecto. Yo en mis dos PCs tengo los discos formateados en ext4 funcionando con Ubuntu 9.04 pero no era el default, tuve que modificar las particiones manualmente en la instalación o se seguia de largo con ext3. El nuevo sistema de archivos ofrece mejoras de rendimiento y se nota mucho en las comprobaciones de disco periodicas al arrancar el SO cada X veces.

Espero que el Koala Karmico trabaje bien pero me esperare un poco a actualizar a ver como fluyen las novedades en la practica y no toparme con sorpresitas como la repentina falta de drivers de mi tarjeta de video ¬¬.

Saludos.

Aug
27

Ahora si la hicieron buena ATI y Canonical

Ubuntu y ATI

Buenas noches, como sabrán mis estimados dos lectores, Gnoblis usa Ubuntu en su PC desde la versión 6.10 (Octubre 2006) y se la ha pasado haciendo actualizaciones encima y una que medio completa pero conservando el home y eso. Desde entonces muchas cosas han cambiado en el escenario del software y ahora, Gnoblis dio un formato total a la PC, rehizo particiones, y solo regreso a los discos duros las cosas que de verdad usa y re-ambiento de nuevo. Ahora tengo particiones ext4 y NTFS nada más por ejemplo, y volví a tener dual boot Ubuntu/WinXP por usar la guitarra de GH World Tour en Frets on Fire (aun no se como en linux) y otro asunto con iTunes y los podcast que no viene al caso explicar y creo que solo tendra un uso muy puntual, y bueno, allí esta ya.

Cuando a configurar a gusto los sistemas operativos nuevamente todo fluyo bien, je je, el Windows me quedo parecido al linux con GIMP, VLC, Open Office, Audacity, FireFox y cosas así, mientras el Ubuntu, lo que ya sabia, poner los codecs, descargar las mismas aplicaciones que me gustan y configurar también pero… llegado el momento de la tarjeta grafica ahí vamos otra vez. Al menos yo me sentia confiado porque con 7.10 y 8.10 ya había tenido mis experiencias instalando los drivers propietarios y sacandole provecho a la tarjeta de vídeo pero esta vez paso algo curioso…

Ubuntu me recibio con una resolución de 1600×1200 a 75Hz que mi humilde monitor CRT no soporta, entonces edito el xorg.conf para poner las configuraciones que ya se que sirven y ya puedo entrar. Todo iba normal, fui a la página de AMD (dueña de ATI) a buscar los drivers más recientes, encontré la versión 9.3 para Linux y todo muy bien, voy a instalarla y ahí empezaron los problemas. Resulta que Ubuntu me dice que no puede instalarla por que no es la versión adecuada, me documento un poco y me encuentro con esto.

ATI va en la versión 9.8 del Driver pero descontinuo el soporte a mi tarjeta de vídeo, una ATI RADEON 9550, así que solo del 9.3 hacia atrás me sirve el driver, y por otro lado, Canonical hizo cambios al sistema que maneja las X en Ubuntu 9.04 incluyendo la versión 1.6 de este sistema, el cual solo tiene soporte de los drivers ATI para el 9.4 en adelante… me quiero volver chango.

Hasta ahora mi sistema esta funcionando muy bien excepto por eso, que tengo un driver libre no oficial que me da una burla de aceleración gráfica, solo entre 100 y 200 FPS cuando con el driver de ATI pasaba de 1700 FPS sin problema, aunque lo he dejado así porque en la practica no me ha dado problema alguno, pues lo más demandante de gráficos que suelo hacer es ver vídeos en MP4 a 720p y lo ha hecho bien ya con los codecs, estare atento a ver que pasa en el futuro próximo y con la venidera Karmic Koala.

Saludos.

Aug
20

Acer One, configurando…

Acer One

Buenos días mis estimados dos lectores. Recordaran ustedes cuando les hablaba de haberle puesto GNU/Linux a mi netbook y habia tenido un problema con el reproductor flash por defecto pero en ese momento no hice nada. Ahora he tenido tiempo pues estoy de vacaciones y esta mañana me dije a mi mismo, “mi mismo, vamos a terminar de configurar la netbook”, sale pues, me contesto.

El curioso caso del touchpad muerto fue una falsa alarma.

Lo primero que noto, y que no habia notado es que el touchpad no funciona. No se si esta así desde que instale o como, porque tengo un mouse USB y funciona perfectamente, pero el ratón por medio del touchpad integrado en la computadora no da señales de vida, que raro. Me puse a “googlear” y veo que, al parecer, es un fallo generalizado de la Acer One con GNU/Linux, incluso con el Limpus que puede traer de fabrica les ha pasado a algunos, al parecer por cosa de los drivers proporcionados por Acer.

Al leer estas cosas me empieza a dar miedo pues encuentro muchas menciones del problema pero sobre la solución nada o procedimientos algo esotericos y raros de desintalación/instalación de drivers… nah, no puede ser tan grave eso, hay controles de calidad ¿los hay verdad? je je, en fin. Me dejo de cosas y voy al foro de usuarios de acer al que más confianza le tengo y ya me orientan bien… Fn + F7 ¿Qué? Si, presionar las teclas Fn + F7 desactiva/reactiva el touchpad y ya.

Al parecer el problema que mencione al principio existia, pero Acer ya actualizo su software por eso, pero en fin, me sorprende un poco como es que la gente se lanza de cabeza a dar instrucciones de Synaptic omitiendo las soluciones simples primero… y otra cosa rara es que al parecer puedes hacerle de todo, hasta formatear y cambiar de sistema operativo y el touchpad no se activa hasta que le des Fn+F7… me toco leer casos de gente que hasta la devolvio en la tienda, mando garantia, formateo, etc pero jamas intento activarlo con las teclas de función.

Retomando el asunto del Flash

Desinstale todos los plugins de flash desde Synaptic, de Añadir y quitar aplicaciones y también por linea de comando con sudo aptitude remove flashplugin-nonfree gnash gnash-common ubufox

Ya seguro de estar limpio de flash, descargue el archivo install_flash_player_10_linux.tar.gz desde la página oficial de Adobe Flash Player. También tienen un .deb para Ubuntu +8.04 pero no me dio confianza. Bien, descargue el archivo y lo descomprimi desde la misma linea de comando tar xvzf install_flash_player_10_linux.tar.gz

Quedo un archivo libflashplayer.so, ahora cierro el navegador y luego copie el archivo a la carpeta de plugins de Mozilla sudo cp libflashplayer.so /usr/lib/mozilla/plugins/ y listo, abre FireFox y voy a Youtube, me busco un video muy movido para hacer la prueba y funciona bien hasta en pantalla completa. Esto ya quedo.

Flash ataca de nuevo

Uno de los usos que le doy a esta netbook es para transmitir/grabar programas de InGame así que asegurarme de poder hacerlo es basico. Bueno, Ubuntu 9.04 Netbook Remix reconoce mi webcam sin problema, y también la probe -el microfono- con Audacity, pero en Ustream no la puedo usar. Voy documentandome de porque y al parecer es cosa del flash. Así es, resulta que el flash debe poder reconocer las webcam y en linux se pone algo anticuado y latoso. ¿No hay solución? Como pasa muchas veces con los formatos propietarios hay una solución pero no es la mejor, solo la posible. The Flashcam Project. Lo que esta aplicación hace es traducir las intrucciones de la camara para que Adobe Flash la reconozca como V4L y ya funciona, más o menos según que casos.

The Flashcam Project es una utilidad para que las webcams con el driver V4L2 sean reconocidas por Adobe Flash en linux, donde solo reconocen el driver V4L1 quien sabe porque. Manos a la obra. Comienzo por descargar el instalador de flashcam desde su página oficial, clic aquí para descargar Flashcam v1.3.

Entro por consola al directorio donde descargue el archivo flashcam-1.3.tgz y lo descomprimo y entro a la carpeta donde han quedado los archivos.

Descomprimir: tar xvf flashcam-1.3.tgz
Entrar a la carpeta: cd flashcam-1.3
Compilar: make
Instalar: sudo make install

Lo que sigue es probarlo, con flashcam -L obtendremos un listado de las camaras compatibles, en mi caso:

Found V4L2 Capture device: /dev/video0 (uvcvideo/USB 2.0 Camera)
Found V4L Video loopback input: /dev/video2

En mi caso tengo una camara integrada y una por puerto USB.

Con sudo chmod o+rw /dev/video* le doy derechos de uso a ambas camaras. Para activar Flashcam y usar las camaras en internet simplemente ejecutamos:

flashcam

Hay que mantenerlo activo mientras queramos usar la camara en flash. Ahora entro a ustream y ya me reconoce la camara como queria, bien pero… bueno, ni tanto.

¿Ustream y Firefox no se llevan?

Incluso en el windows, los usuarios asiduos de ustream no me dejaran mentir, a veces el servicio se pone loco y da fallos raros que se van tan inesperadamente como vinieron, por ejemplo no dejarte transmitir con firefox pero si con internet explorer, ah, pero estoy en Ubuntu, no tengo internet explorer así que ahorita que el ustream no me deja usar el firefox bien necesito otro plan. En este caso nunca me aparece el popup donde deberia preguntarme por la autorización del uso de la camara, pero no, no sale jamas así que no puedo transmitir.

Bueno, me pongo a buscar un navegador web alternativo a ver que pasa. A lo mejor sea cosa del motor Gecko, así que buscare de preferencia un browser basado en otro motor. Probe con Opera pero el flash se puso emo y no quiso funcionar, segui probando alternativas y por fin funciono con Seamonkey, un browser que encontre en el repositorio de Ubuntu. Funciono muy bien, pero… siempre peros, solo funciono para la camara integrada, la camara externa por USB no la pudo usar, se congelaba la imagen al ponerla. Lastima, por cierto esa camara es marca Microsoft ¿Casualidad?

Codecs

Lo tipico, poner los codecs, bueno ya es de rutina en las instalaciones nuevas y no tiene nada interesante. Bueno, a probar. Pongo unos videos en el disco duro portatil y a ver que pasa, lo común; flv, mp3, mp4 y avi. Hubo que habilitar algunos recursos restringidos pero nada dificil. Bien, funciona ya el VLC, Audacius y SMPlayer, ya con eso esta bien.

Bien, con eso termino por hoy con la netbook, saludos.

Aug
02

Ubuntu Netbook Remix

Para los que no lo sabian, tengo una Netbook, una Acer One. Cuando la compre venia con Windows XP. En teoría este modelo también se vende con Linux y hasta deberia ser más barato así, pero por alguna extraña razón en las tiendas solo la tienen con Windows. Bueno, pues como estuve usando esa netbook en las grabaciones de InGame, habia funcionado bien y tenia pereza de moverle algo y preocupación de que si algo no quedaba bien pronto eso nos diera problemas con InGame.

Pero oh, el horror. Como a todo windows, la infecto un virus y desde entonces mi netbook ya no es la misma.

Pude quitarle los virus, pero no salio ilesa, muchos archivos ejecutables se fueron al carajo, cosas tan basicas como el notepad se dañaron para siempre. Ademas el antivirus que quedo, como todos consume recursos y una pequeña netbook el rendimiento se resiente un poco en cuanto quiero tener varias cosas abiertas a la vez y cosas como usar el MSN oficial es un infierno.

Acer One con Ubuntu

Ubuntu Netbook Remix en mi Acer One

Hoy domingo estoy con ganas de no hacer nada, no voy a salir más por comida así voy a solucionar esto de una vez por todas, GNU/Linux a la netbook. Estuve viendo en el foro oficial del fabricante y lei buenas recomendaciones de una distribución de Ubuntu ajustada a Netbooks, y en Ubuntu califican a la Acer One como una de las netbook que mejor funcionan con su sistema operativo. Bien, será el elegido.

Iniciando desde USB

Descargo la imagen para instalar Ubuntu 9.04 Netbook Remix, que es la versión de esta distribución de GNU/Linux para estas pequeñas portatiles. En la misma página tienen un instructivo de instalación en ingles y enlaces a las aplicaciones que pudieses necesitar, por ejemplo… la netbook no tiene unidad de DVD/CD así que tendre que instalar por USB. Para esto necesito poder grabar la imagen del instalador en una memoria flash y hacerlo “booteable“, y como estoy en GNU/Linux en la PC de escritorio opto por utilizar usb-imagewriter u algún otro equivalente, yo digo este porque es el que en la página de Ubuntu recomiendan y esta a la mano. Quien este en windows puede hacerlo también por ejemplo con Win32DiskImager que hace lo mismo.

Me encantan las instalaciones de los hijos de Debian… sudo aptitude install usb-imagewriter y ya esta

Utilice una memoria micro SD de 4GB que tengo para grabar la imagen alli, aunque con una de 1GB hubiese sido suficiente como requerimiento minimo. El proceso fue rapido. Para que la Acer One inicie desde el puerto USB lo que hay que hacer es presionar F12 cuando enciendo la computadora y escoger desde donde “bootear“.

Instalando

Antes de instalar inicio una sesión live para asegurarme por mi mismo de que el hardware esta reconocido por el sistema operativo. Todo parece funcionar: WiFi, camara, microfono, resolución de pantalla, configuración de teclado. Ok. Instalo.

La instalación es grafica e identica a las ultimas versiones de Ubuntu y te lleva de la mano preguntandote cosas. Me parece interesante que me permita instalar el sistema operativo en una tarjeta SD de 8GB que tengo en uno de los slots de la netbook como si fuera un disco duro. Este sistema necesita 2.5 GB de espacio para ser instalado, pero no. Voy a quitar el windows, si alguna vez en la vida lo vuelvo a poner tengo el disco de instalación que venia con la computadora nueva así que escojo utilizar todo el disco y adios windows. Comienza el particionado y formateado del disco duro.

Ambientar a mi gusto

Muy bien, ya esta instalado el nuevo sistema operativo, ahora toca dejarla como a mi me gusta. La primera descarga de actualizaciones de un sistema operativo recien instalado siempre es la más pesada, mientras hace ese update voy a hacer una lista de las cosas que voy a querer que tenga la netbook; el editor de audio Audacity, un reproductor multimedia y codecs, creo que VLC hará el trabajo. Me gusta el reproductor de audio Audacius. Pidgin ya viene instalado por default, no hay problema con eso, flash para el web browser… cosas así.

Conclusión

Me gustaron varias cosas, pero una no. El reproductor flash va mal, probe en varios navegadores ademas del por default FireFox y en todos hace un efecto como de frameskip que hace que de repente se salte algunos cuadros del video y no valla suave. No ver youtube en estos días ya es mala onda. En cambio, todo lo demas funciono bien, me reconocio todo el hardware, hasta una webcam marca microsoft que hasta la versión 8.10 de Ubuntu se ponia roñosa en Linux, estuve probando los usos más comunes y hasta vi por ustream a los de anime oshimai y todo muy bien excepto por eso que les comento de los videos flash.

Jun
20

Ponerle subtitulos a un video y prepararlo para PSP

Hoy aprendi una cosa nueva respecto a mi PSP pues la semana que entra lo voy a prestar, a una amiga que sale de la ciudad a cierto tramite y entre viaje y fila tendra tiempos muertos así que quiere ver los capitulos de una serie que le faltan, me ha pasado los capitulos en AVI y con los subtitulos por separado.

Hasta ahora no habia manejado en PSP los subtitulos por separado aunque tiene una opción pero dado que esta chica al parecer no tiene mucha experiencia con PSP para que no batalle voy a convertirle los archivos en MP4 con los subtitulos ya integrados al formato y resolución aceptado por default por PSP, que si, con homebrews puede leer AVI pero no es el caso ponerme a explicar más de la cuenta y fastidiarnos a los dos.

Para empezar, estoy en GNU/Linux y uso el programa Avidemux por costumbre para varias cosas como convertir videos al formato MP4 para el PSP o extraer el audio de archivos FLV. Pero esta aplicación utiliza GTK+ para la interfaz grafica así que es multiplataforma y puedes usarla en casi cualquier sistema operativo común, como un GNU/Linux, Windows, MacOS, BSD… cualquiera que soporte GTK+ y compilados en C++ ademas de que la 1ra parte de esto sirve para convertir video a más formatos ademas del PSP o por lo menos da pistas de como hacerlo así que creo que le será útil a más de un internauta enviado para aca por don Google.

Lo primero es abrir el video, puede que nos pida hacer un mapa VBR, le decimos que si.

Mapa VBR
El mapa del tiempo ayuda a mantener la sincronia de audio y video

Acto seguido vamos a poner los subtitulos, los cuales son considerados un filtro sobre el video. Para hacer esto vamos al menú video y escogemos la opción Filtros como se muestra en la siguiente imagen.

Avidemux
Abrir la ventana de filtros para el video.

Avidemux
En esta ventana escogeremos el tipo de subtitulos

Se abrira esta ventana donde nos iremos a la parte de subtitulos y le daremos doble click al tipo de subtitulos que tengamos para usar, en este caso yo tengo unos archivos SRT así que elijo la primera opción. Entonces se abrira una ventana como esta:

Seleccionar archivo de subtitulos

En esta ventana indicamos donde esta el archivo de subtitulos y se da formato al tipo, tamaño, color y posición de la letra y cosas así. Prueba la configuración que creas conveniente para el tipo de pantalla y resolución que uses, yo para PSP suelo usar un tamaño de fuente un poco más grande de la sugerida por dafault que es para monitores o televisión.

Una vez hecho esto recomiendo que uses la opción de previsualizar para que confirmes que se ve bien, aun estas a tiempo de corregir porque codificar el archivo de video y ver después que no quedo como esperabas te hará perder mucho tiempo, revisa antes.

Ahora a convertir, en mi caso como yo quiero un archivo MP4 con resolución de 720*480 para PSP lo que hago es tomar la opción PSP del menú auto donde Avidemux nos ofrece valores predeterminados de conversiones comunes. Aquí puede variar lo que hagas dependiendo tus necesidades de conversión, a mi el default me basta para este caso.

Avidemux
Indicando que el archivo será para PSP

Listo, ahora a guardar el archivo con el nombre y extención deseada… y esperar mientras avidemux codifica y genera el video convertido. Ya tengo los videos y me pasaron una serie.

Older posts «