09 mayo 2010

Incluir Thunderbird en el Indicator-Applet en lugar de Evolution

En este post se explica una forma de modificar el applet Indicator-Applet, que viene por defecto con Ubuntu, para incluir en este el cliente de correo Mozilla Thunderbird en lugar de Evolution.


Por defecto en Ubuntu para las versiones 9.10 y 10.04 ya viene integrado al panel este applet, el cual pretende mostrar información de aplicaciones de forma centralizada y prolija.
A su vez trae por defecto opción para configurar el cliente de correo, el Broadcast y el cliente de mensajería instantánea (chat), pero sucede aquí que no da opción a modificar los programa que actuarán como cliente para cada una de estas, que son entonces Evolution, Gwibber y Empathy respectivamente.
Así pues la idea de este post es mostrar cómo definir a Thunderbird en lugar de Evolution y quitar completamente a éste último, lo cual no quita que pueda aplicarse un procedimiento similar para modificar las demás opciones y/o agregar nuevas.


Primero que nada, desde el gestor de paquetes Synaptic o de alguna otra manera, debemos desinstalar a Evolution. También debemos instalamos normalmente el Thunderbird.

Luego debemos modificar el archivo /usr/share/applications/thunderbird.desktop de forma de agregar lo que a continuación se resalta en negrita

[Desktop Entry]
Encoding=UTF-8
Name=Mozilla Thunderbird Mail/News
Comment=Read/Write Mail/News with Mozilla Thunderbird
GenericName=Groupware Suite
Exec=thunderbird %u
Terminal=false
X-MultipleArgs=false
Type=Application
# Icon=thunderbird
Icon=evolution
Categories=GNOME;GTK;Application;Network;Email:Calendar;ContactManagement;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;
StartupWMClass=Thunderbird-bin
StartupNotify=true
...

X-Ayatana-Desktop-Shortcuts=Compose;Contacts

[Compose Shortcut Group]
Name=Compose New Message
Exec=thunderbird mailto:
OnlyShowIn=Messaging Menu


[Contacts Shortcut Group]
Name=Contacts
Exec=thunderbird -addressbook
OnlyShowIn=Messaging Menu

Respecto a la variable Icon, se define igual que para Evolution de forma que el Thunderbird en lugar de aparecer con su conocido icono aparezca con el que trae Evolution que suele ir más acorde al theme del applet, pero esto es a gusto y solo para mostrar la forma de hacer el cambio.

Siguiendo con la explicación, para que figure los accesos a Thunderbird en nuestro Indicator-Applet debemos crear un archivo, llamémoslo thunderbird, escribiendo en este la siguiente línea,

/usr/share/applications/thunderbird.desktop

Notar que esta es la ubicación del archivo que previamente editamos

Luego se debe ubicar el nuevo archivo en el directorio /usr/share/indicators/messages/applications.

Por último y para que el applet tome los cambios simplemente debemos reiniciar la session.


Como se pudo notar en la explicación, las rutas y los archivos editados son indistintos a los distintos usuarios, por lo cual dichos cambios aplicarán a todos los usuarios.
También podemos percatarnos de que en el directorio /usr/share/indicators/messages/applications figuran otros archivos los cuales tienen el mismo fin que el recién agregado. Quien use por ejemplo el Pidgin como cliente de mensajería instantánea verá un archivo de nombre pidgin con una línea similar a la que definimos, y así también otros que hacen referencia a las varias aplicaciones que se incluyen el Indicator-Applet, de forma que es un buen punto para empezar a probar y configurar el applet a gusto de cada uno.


08 mayo 2010

Arrastrar ventanas entre escritorios en Ubuntu con GNOME

Breve apunte para aquellas personas que les gusta arrastrar ventanas desde y hacia los varios escritorios que permite tener GNOME.


Accedan al gconf-editor y marquen el checkbox de la variable edgeflip_move para habilitar y así poder arrastrar las ventanas entre escritorios, y viceversa en caso de querer deshabilitar dicha funcionalidad.
En Ubuntu, dicha deberían encontrarla, explorando las propiedades con gconf-editor, en el directorio
/apps/compiz/plugins/wall/screen0/options


Seguramente hay formas más sencillas de realizar esta configuración, pero puede que a alguno le suceda igual que a mi de no poder encontrar otra manera con las herramientas que se incluyen por defecto en la versión Ubuntu 10.04 LTS (Lucid Lynx).

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.



Nro de visita Cantidad de visitas recibidas