Solventando el desconcertante problema del clic izquierdo en Flash bajo Ubuntu 10.04

Introducción.

Este desconcertante problema me empezó a suceder desde que actualicé mis equipos a la versión 9.10 de GNU/Linux Ubuntu, debido a este bug las aplicaciones desarrolladas en Flash perciben correctamente los eventos del ratón con la excepción del clic izquierdo, haciendo imposible en la mayoría de los casos utilizar la aplicación.  Esto se puede apreciar muy bien en sitios como YouTube donde no es posible presionar el botón de Play para iniciar la reproducción del video.

Una “solución” parcial.

Hasta hace poco la única solución que le había encontrado a este problema tan molesto era el hacer un clic derecho sobre el botón o área que deseaba activar y con el menú contextual desplegado hacer un clic izquierdo sobre el mismo lugar.  Con esto y por alguna extraña razón Flash recibe exitosamente el evento del ratón.  Esta aproximación funciona bien pero después del tercer uso se hace terriblemente dispendiosa.

El problema.

Todo parece indicar que el problema surge debido a cambios importantes en el GDK (GIMP Drawing Kit) de la librería de gráficos GTK (The Gimp ToolKit) sobre la cual se ha desarrollado GNOME.  Con esta actualización, probablemente desde la versión 2.18, se ha implementado algo llamado client-side windows que hace que las ventanas GDK se comporten diferente en contravía de lo que se conocía anteriormente.  En ese órden de ideas, el plugin de Flash debería ser actualizado según los nuevos supuestos para permitirle funcionar con estas versiones nuevas de GTK.

El motivo del problema resultó ser el mismo que hace unos meses encontré utilizando Eclipse.

Las posibles soluciones.

Según el registro del bug 410407 en el LaunchPad de Ubuntu, existen tres posibles soluciones al problema, que no eliminan las causas por si mismos pero que las solventan y permiten utilizar normalmente las aplicaciones basadas en Flash.

  1. Deshabilitar Compiz.
  2. Remover los plugins instalados de Flash (como flashplugin-nonfree y flashplugin-installer)  e instalar los provistos directamente por Adobe.
  3. Manipular la variable GDK_NATIVE_WINDOWS para forzar a GDK crear ventanas X11.

En mi opinión, la solución mas práctica es la número 3.  Ya que con esta solución no se pierden los efectos del Compiz ni es necesario descargar e instalar nuevos paquetes.

Implementación de la solución #3.

Desde una terminal (shell) o la ventana de ejecución de programas (ALT+F2) invoque la siguiente instrucción (sin el símbolo $ por supuesto).

$ gksudo gedit /usr/lib/nspluginwrapper/i386/linux/npviewer

Agregue la siguiente línea justo antes de la última, es decir, está nueva línea deberá convertirse en la antepenúltima línea del script.

export GDK_NATIVE_WINDOWS=1

El contenido resultante de este archivo en mi máquina especificamente es el siguiente.

#!/bin/sh
TARGET_OS=linux
TARGET_ARCH=i386
export GDK_NATIVE_WINDOWS=1
. /usr/lib/nspluginwrapper/noarch/npviewer

Reinicie el equipo o al menos su entorno grafico para tener en cuenta este nuevo valor de configuración del GDK.

Enlaces.

Problemas para instalar plugins de Eclipse en Ubuntu 9.10

Introducción.

Anoche instalé la nueva versión de Aptana Studio, un IDE para el desarrollo web basado en Eclipse. Aparentemente incluyeron algunos cambios drásticos frente a la versión anterior de la serie 1.x.

Instalación de plugins en Aptana 2.0
Instalación de plugins en Aptana 2.0

Durante la instalación de los plugins empecé a tener problemas: los botones de ciertas partes del proceso de instalación dejaron de funcionar a pesar de que los presionara correctamente, evitando que pudiera efectivamente completar el proceso de instalación.

El problema.

Aparentemente el problema no es de Aptana sino de algún tipo de conflicto entre el GTK incluído por la distribución de Linux Ubuntu 9.10 y Eclipse.

La solución.

La solución deberá ser que resuelvan el supuesto conflicto, ya sea la gente de GTK o los de Eclipse, sin embargo hay dos formas conocidas de evitar temporalmente este problema.

Solución #1: Enter.

La solución mas sencilla pero menos elegante, a pesar de que si funciona, es hacer clic sobre el botón que se desee presionar para asignarle el foco y presionar la tecla Enter para generar el evento.

Solución #2: Utilizar las ventanas nativas del GDK.

Para hacer esto es necesario no ejecutar AptanaStudio directamente sino crear un script con el siguiente contenido.

export GDK_NATIVE_WINDOWS=true
~/Aptana/2.0/AptanaStudio &

Obviamente la ruta del ejecutable (segunda línea) deberá personalizarse para adecuarse a su ubicación exacta en el ambiente que se esté instalando.

Enlaces.

Conexión a MSSQL desde Aptana utilizando el controlador JDBC de jTDS

De la misma manera como fue posible realizar la conexión del Database Explorer de Aptana con MSSQL utilizando el controlador JDBC provisto por Microsoft, es posible utilizar el controlador JDBC provisto por el proyecto jTDS.  En algunos foros he encontrado que utilizando este controlador se pueden evitar algunos problemas que suceden en determinadas situaciones con el otro controlador.

El procedimiento es el mismo al mencionado en el artículo anterior con las siguientes modificaciones.

  • Descargar el controlador jTDS del sitio de SourceForge del proyecto.
  • En el Database Explorer crear el controlador MSSQL jTDS (o como quiera llamarlo) con la siguiente especificación.
    • Add File: <ruta>/jtds-1.2.2.jar.
    • Driver: net.sourceforge.jtds.jdbc.Driver.
    • Type: Type 4.
  • Connection String: jdbc:jtds:sqlserver://<HOST>:<PORT>/<DBNAME>.  El puerto por defecto es el 1433.
  • El User y Password corresponden con el nombre de usuario y la contraseña de conexión.
  • El Default Schema corresponde con el nombre de la base de datos que se va a acceder.

Enlaces.

Instalación de Aptana 1.2.1 en Linux Ubuntu 8.10

Introducción.

Los mismos problemas que tuve instalando Aptana en OpenSuse los tuve hoy con Ubuntu.  Ahora ya se como solucionarlos fácilmente.

En pocas palabras, Aptana requiere de XulRunner como dependencia, sin embargo no se la lleva bien con la versión 1.9 que es incluída por las distribuciones de Linux actuales y por ello es necesario instalar la versión 1.8.

Instalación de XulRunner 1.8.

Existen dos formas de instalar XulRunner, la automática utilizando la facilidad de apt-get o la manual.  Para instalar el paquete desde la linea de comando se debe ejecutar la siguiente instrucción.

$ sudo apt-get install xulrunner xulrunner-gnome-support

En caso de que haya problemas con ese método, siempre es posible descargar la última versión del archivo xulrunner_1.8.*+nobinonly-0ubuntu1_i386.deb de la siguiente ubicación.

http://packages.ubuntu.com/es/intrepid/xulrunner

Y ejecutar el siguiente comando para su instalación.

$ sudo dpkg -i xulrunner_1.8.*+nobinonly-0ubuntu1_i386.deb

Creación del script de inicio de Aptana.

Se crea el siguiente script para el inicio de Aptana. Por mi parte lo guardé como ~/Aptana/Aptana.sh.

#!/bin/sh
export MOZILLA_FIVE_HOME=/usr/lib/xulrunner
~/Aptana/AptanaStudio

Finalmente se le dan permisos de ejecución al script.

$ chmod +x ~/Aptana/Aptana.sh

Instalación de Java 1.6 en OpenSuse 11.1

Esta mañana encontré que Aptana ya no estaba funcionando.  En sus logs aparecían excepciones extrañas.

eclipse.buildId=unknown
java.version=1.7.0
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Framework arguments:  Studio
Command-line arguments:  -os linux -ws gtk -arch x86 Studio

!ENTRY org.eclipse.equinox.common 4 0 2009-02-17 08:25:28.330
!MESSAGE FrameworkEvent.ERROR
!STACK 0
org.osgi.framework.BundleException: The bundle could not be resolved. Reason: Missing Constraint: Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:294)

Sin embargo algo llamó mi atención.  Al parecer el día de ayer se había actualizado el sistema operativo y había modificado el Java 1.6 que tenía anteriormente, instalándole una versión preliminar de Java 1.7 con Icedtea.

$ java -version

java version “1.7.0”
IcedTea Runtime Environment (build 1.7.0-b24)
IcedTea Server VM (build 1.7.0-b24, mixed mode)

Aparentemente esto no le gustaba a Aptana.  Tuve que regresar a Java 1.6 Sun.  Para hacer esto seguí los pasos a continuación.

  1. Iniciar YaST: System > System > YaST.
  2. De la sección [Software] elegir Software Repositories.
  3. Presionar el botón Add (+).
  4. Agregar el repositorio Java con el siguiente URL.
    http://download.opensuse.org/repositories/Java:/packages/openSUSE_11.1/
  5. Presionar el botón Ok para aceptar los cambios.
  6. De vuelta en YaST, de la sección [Software] elegir la opción Software Management.
  7. Buscar la cadena Java-1_6 del software Available.
  8. Seleccionar para instalar a los siguientes paquetes de java-1_6sun, sun-alsa, sun-devel, sun-jdbc, sun-plugin.
  9. Presione el botón Apply para ejecutar la instalación.

Finalmente la versión que tengo instalada es la 1.6.0_12 y Aptana ha vuelto a la vida.

$ java -version

java version “1.6.0_12”
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) Server VM (build 11.2-b01, mixed mode)

Enlaces.

Instalación de Aptana 1.2.1 en OpenSuse 11.1

Hasta la fecha siempre había sido desjuiciado para la instalación de Aptana, simplemente descargaba el archivo .zip, lo descomprimía y funcionaba inmediatamente y sin problemas.  Ahora con OpenSuse 11.1 y Java 1.6.0_11-b03 no funcionó tan fácilmente, iniciaba pero después de mostrar la ventana principal se cerraba con un mensaje de error.

Lo primero que sucedió fue que descubrí que hay un procedimiento de instalación oficial 😛   el cual sugiere crear un script de shell para ejecutarlo en lugar de correr directamente a AptanaStudio.

Ubiqué a Aptana en /home/jimezam/Applications/aptana y creé el script /home/jimezam/Applications/aptana.sh con el siguiente contenido.

export MOZILLA_FIVE_HOME=/usr/lib/xulrunner-1.8.1.19
/home/jimezam/Applications/aptana/AptanaStudio

Gracias a este foro me dí cuenta que la versión 1.9.x del XulRunner no funciona correctamente y es mejor utilizar la última versión 1.8.x disponible.

Creé un nuevo perfil de Firefox para la depuración con Aptana ejecutando el siguiente comando.

$ firefox –ProfileManager

Para ejecutarlo debe cerrar todas las instancias de Firefox, incluyendo procesos no visibles (killall).  El perfil creado se llama “aptana“.

El siguiente paso es configurar a Aptana para que utilice el perfil recién creado como navegador para la depuración, para esto inicie Aptana desde el script recién creado.

Seleccione el menú Run > Debug.

Bajo la rama (lado izquierdo) Web Browser > Firefox – Internal Server modifique el valor de los siguientes campos.

  • Browser executable = /usr/bin/firefox
  • Arguments = -P aptana -no-remote

Presione el botón Close para aceptar los cambios.

Para instalar el módulo de PHP se realizan los siguientes pasos.

Seleccione el menú Help > Software Updates > Find and install.

Seleccione la casilla de verificación llamada Search for new features to install y presione el botón Next.

Seleccione la casilla de verificación llamada Aptana: PHP Development Enviroment y presione el botón Finish para iniciar la instalación.

Conexión a MSSQL desde Aptana

Aptana's Database Manager
Aptana’s Database Manager

Probando una nueva alternativa para tener un cliente a MSSQL desde Linux he decidido probar el cliente de bases de datos JDBC de Aptana Studio con buenos resultados.

Para su configuración se deben seguir estos pasos.

  1. Tener el driver JDBC de MSSQL en algún lugar del disco duro.
  2. Abrir la perspectiva de Database Explorer.  Para hacer esto seleccione los menúes Window > Open Perspective > Other … > Database Explorer.
  3. Haga click derecho sobre la rama Databases ubicada al lado izquierdo y seleccione la opción Add.
  4. Elija el nombre de la conexión y presione el botón Next.
  5. En los detalles de conexión presione el botón Add.
    1. Especifique un nombre para el controlador.
    2. Presione el botón Add File y seleccione el archivo del driver JDBC de MSSQL establecido anteriormente.
    3. En la información de conexión seleccione el driver encontrado.
    4. Presione el botón OK.
  6. Adecúe la cadena de conexión según sus necesidades: jdbc:sqlserver://<HOST>:1433;DatabaseName=<DBNAME>
  7. Especifique el nombre de usuario de conexión a la base de datos (User).
  8. Especifique la contraseña del usuario de conexión a la base de datos (Password).
  9. Presione el botón Test Connection para verificar la información de conexión.  Realice los ajustes necesarios en caso de presentarse problemas.
  10. Presione el botón Finish para terminar la configuración.