17 febrero 2010

Problema con botones de Eclipse en Ubuntu 9.10 Karmic Koala

Aquí se trata el problema de los botones en Eclipse corriendo en Ubuntu 9.10 (Karmic Koala) y una forma de ejecutar Eclipse cómodamente incluyendo la solución del mismo.


Primero que nada un link a la guía de Ubuntu para Eclipse donde en la sección Problemas con botones en Ubuntu 9.10 Karmic Koala se encuentra mencionado el problema y su solución. Ahí también se encuentra un link al reporte oficial del bug que lo genera.

Básicamente lo que dice es que dicho bug se encuentra resuelto para la próxima versión de Eclipse (3.5.2 >=) pero no así para la 3.5.1, que es la última estable al momento de publicar este artículo.

Como se puede ver en la guía de Ubuntu, la solución pasa por definir una variable antes de ejecutar Eclipse, y para esto sugiere crear un script el cual deberemos ejecutar cada vez que deseemos abrirlo, lo cual ya deja de ser tan simple como correr el ejecutable de Eclipse.
Por esto último, a continuación listo los pasos para crear un ejecutable incluyendo la solución.


Paso 1. Crear el script
Este paso es hacer lo que sugiere la solución de la guía Ubuntu que es crear un script, el cual se encargará de setear la variable GDK_NATIVE_WINDOWS y de correr el Eclipse ubicado en el directorio que recibe por parámetro. Así entonces, y como base para que funcionen los demás pasos, hay que crear un archivo de nombre eclipserun.sh dentro de la carpeta de eclipse y escribir en este las siguientes líneas,

#!/bin/sh
export GDK_NATIVE_WINDOWS=1
$1eclipse


Paso 2. Crear el programaCreamos un archivo con nombre eclipserun.c y escribimos dentro de este el siguiente código (que esta en lenguaje C).
#include <stdio.h>
#include <unistd.h>
#include <string.h>
int main() {
int i;
int lpath;
char cmds[512];
char path[249];
cmds[0] = 0;

// obtengo el path absoluto donde esta ubicado el ejecutable
lpath = readlink("/proc/self/exe", path, sizeof(path));
for( i = lpath; '/' != path[i]; i-- );
path[++i] = 0;

// armo el comando para ejecutar el script ubicado donde el ejecutable
strcat(cmds, path);
strcat(cmds, "eclipserun.sh ");
strcat(cmds, path);

// ejecuto es script
return system(cmds);
}

Este define un programa que ejecutará el script del paso anterior. Primero obtiene el path donde corre el ejecutable para así ubicar el script y pasarle a este la ruta donde levantar el Eclipse. La necesidad de obtener el path es a causa de poder luego crear enlaces al ejecutable y poder ubicarlos en cualquier lado.
Por último realiza una llamada al sistema para correr el script. Por más información se puede consultar la especificación de la función system.


Paso 3. Crear el ejectuable
Para crear el ejecutable desde consola basta con, estando ubicado en el directorio donde se encuentra el archivo eclipserun.c, ejecutar el siguiente comando

gcc -O3 eclipserun.c -o eclipserun

Este creará un ejecutable con el nombre eclipserun. La flag O3 (letra O, número 3) es para optimizar el tiempo de ejecución del ejecutable, pero en caso de fallar la compilación se puede bajar la exigencia usando en lugar O2, O1 o O, o simplemente no usar flag algúna.


Paso 4. Ubicar el ejecutable
Lo que hace el segundo comando que ejecuta el script es correr el ejecutable de Eclipse. Este se define con ruta absoluta a donde se encuentra el nuevo ejecutable creado en el paso 2, por lo tanto este mismo debería ubicarse en el mismo directorio donde se encuentra el ejecutable de Eclipse.
Claro esta que puede definirse otra ruta en dicho comando, o escribir el programa para que reciba la ruta por parámetro o demás formas que haya, pero aquí se simplifico de modo que baste con ubicar el ejecutable nuevo en la carpeta de eclipse.


Paso 5. Levantar Eclipse
De ahora en más, para levantar el Eclipse sin problemas basta simplemente con correr el nuevo ejecutable cada vez.
Si se tienen links, lanzadores o demás, ahora lo único que se debe hacer es modificarlos para correr el nuevo ejecutable en lugar del ejecutable eclipse.



Terminada la explicación, dejo algunos links de interés.



15 febrero 2010

Configurar arranque de servidor PostgreSQL 8.4 en Ubuntu

Aquí se menciona brevemente cómo hacer para configurar el arranque (automático/manual/deshabilitado) del servidor PostgreSQL 8.4 en Ubuntu 9.10.

Claro esta que no quita que pueda aplicarse para otra combinación de servidor y sistema operativo, pero la siguiente configuración se ha probado en el caso de haber instalado en Ubuntu 9.10 (Karmic Koala) los siguientes paquetes con su configuración por defecto:

  • postgresql
  • postgresql-8.4
  • postgresql-client
  • postgresql-client-8.4
  • postgresql-common
  • postgresql-client-common

También recomiendo instalar los siguientes paquetes que incluyen documentación sobre la configuración y uso en formato html,

  • postgresql-doc
  • postgresql-doc-8.4

Para acceder a ésta basta con cargar en el navegador la url
file:///usr/share/doc/postgresql-doc-8.4/html/index.html, o bien se podría modificar la configurar del pgAdmin III para que acceda a la misma lo cuál explicará en un próximo artículo.
Cabe mencionar que la misma se puede encontrar en el sitio de PostgreSQL, donde habrá que prestar atención a la versión del servidor a que corresponde la documentación.

Por defecto, al instalar el servidor se crea un cluster, bajo el nombre main, en el directorio /etc/postgresql/8.4/main. Este último es el área de almacenamiento en disco a donde irán a parar las base de datos. Así pues un cluster de base de datos es una colección de bases de datos que son manejadas por una única instancia en ejecución del servidor de base de datos (ver por más información).
En el directorio mencionado es donde encontraremos los archivos de configuración a modificar.


Unos comentarios antes de modificar el arranque del servidor.
Por defecto el arranque esta configurado en modo 'automático' (auto).
Al levantar la maquina, el arranque del servidor PostgreSQL se produce al ejecutar el script /etc/init.d/postgresql-8.4, el cual a su vez ejecuta métodos (start, stop, restart, etc.) definidos en /usr/share/postgresql-common/init.d-functions. Es en éste último donde vemos cómo se procede para levantar el servidor, entre otras cosas.
Aquí podemos ver que para iniciar el servidor lee el archivo de configuración start.conf ubicado en el directorio que se mencionó más arriba.

Como escapa a la idea de este artículo, no se tratará los controles del servidor desde línea de comandos, pero cabe mencionar el servidor se puede detener/levantar/reiniciar utilizando el comando pg_ctlcluster de la siguiente manera;

  • Detener: sudo -u postgres pg_ctlcluster 8.4 main stop
  • Levantar: sudo -u postgres pg_ctlcluster 8.4 main start
  • Reiniciar: sudo -u postgres pg_ctlcluster 8.4 main restart

Otro comentario. Cuando el servidor esta levantado, el PID (id del proceso servidor) es guardado en el archivo /var/lib/postgresql/8.4/main/postmaster.pid; esto es a modo de prevenir que multiples instancias del servidor corran sobre los mismos datos, pero uno lo puede utilizar para detener/controlar el servidor.


A continuación, se muestra cómo abrir el archivo /etc/postgresql/8.4/main/start.conf para modificar el arranque del servidor PosgresSQL, teniendo presente que el usuario postgres es quien tiene permisos sobre éste.
Al abrirlo se puede ver una explicación breve de las tres variantes a optar.
A fin de que no inicie el servidor al levantar el equipo, se modificará el arranque por defecto (auto) por arranque manual (manual).

Editando el archivo como usuario postgres
tu_usuario@equipo:~$ sudo su - postgres
[sudo] password for tu_usuario:
postgres@equipo:~$ nano /etc/postgresql/8.4/main/start.conf
postgres@equipo:~$ logout
tu_usuario@equipo:~$

Editando el archivo como superusuario
tu_usuario@equipo:~$ sudo gedit /etc/postgresql/8.4/main/start.conf
[sudo] password for tu_usuario:
tu_usuario@equipo:~$

Finalmente el archivo modificado debería ser similar al siguiente.
# Automatic startup configuration
# auto: automatically start/stop the cluster in the init script
# manual: do not start/stop in init scripts, but allow manual startup with
# pg_ctlcluster
# disabled: do not allow manual startup with pg_ctlcluster (this can be easily
# circumvented and is only meant to be a small protection for
# accidents).

manual


Una vez hecho lo anterior habremos terminado.
De todas maneras, aquí debajo encontrarán links que puede ser de utilidad si se desea profundizar en el tema.



01 febrero 2010

Instalar/Agregar repositorios de OpenOffice 3 en Ubuntu

En este post se explica brevemente cómo agregar/instalar OpenOffice 3 en sistemas Ubuntu desde el repositorio para aquellos que no lo incluyan, como les debe suceder a quienes utilizan Ubuntu 8.10 Intrepid Ibex, por ejemplo, que incluye OpenOffice 2.4.

Primero que nada, el repositorio a agregar es el siguiente, al cual se puede acceder pegando la url en el navegador:
http://ppa.launchpad.net/openoffice-pkgs/ubuntu
En este encontrarán OpenOffice para las versiones Hardy 8.4, Intrepid 8.10 y Jaunty 9.4.

Ahora se explican dos formas de agregar dicho repositorio.

La primer forma es utilizando el gestor de paquetes Synaptic.
En este hay abrir desde el menú Configuración >> Repositorios. Una vez ahí se debe ir a la pestaña Otro Software y dar click en el botón Añadir. Al hacer esto se abrirá una ventana donde se debe agregar la siguientes líneas según la versión de Ubuntu.

  • Hardy: deb http://ppa.launchpad.net/openoffice-pkgs/ubuntu hardy main

  • Intrepid: deb http://ppa.launchpad.net/openoffice-pkgs/ubuntu intrepid main

  • Hardy: deb http://ppa.launchpad.net/openoffice-pkgs/ubuntu jaunty main


Luego damos click en Añadir origen, cerramos la ventana y, estando aún en Synaptic, recargamos/actualizando la información donde se incluirá el nuevo repositorio.
Una vez actualizada la información de los paquetes, se debe instalar los paquetes que uno encuentre conveniente de OpenOffice, como también puede instalarse simplemente el paquete openoffice que es la suite del programa. Aquí recomiendo instalar los siguientes paquetes: openoffice.org-writer, openoffice.org-calc, openoffice.org-draw, openoffice.org-base, openoffice.org-impress y openoffice.org-help-es. Para quienes utilicen GNOME como interfaz también es recomendable que instalen el paquete openoffice.org-gnome para mayor compatibilidad.



La otra forma es para gente más entendida pero no provee mayores ventajas que el realizar mediante Synaptic.
Esta consiste en agregar los repositorios manualmente editando el archivo de repositorios sources.list; desde terminal sería así:
sudo gedit /etc/apt/sources.list

Esto abrira el archivo para editar. Se debe agregar al final del archivo la línea deb http://ppa.launchpad.net/openoffice-pkgs/ubuntu intrepid main según la versión de ubuntu, como se explico en la forma anterior.
Luego de salvar los cambios, se ejecuta la siguiente línea ,
sudo apt-get update

Con esto se actualizarán los repositorios luego de lo cual aparecerá un mensaje indicando que hay actualizaciones (en estas está incluido OpenOffice 3). Bastará con instalarlas para contar OpenOffice pero cada quien sabrá incluir únicamente las que desee/necesite.

Nro de visita Cantidad de visitas recibidas