No, no, no... no tiene nada que ver con el tabaco, ni con algún complot de la industria del tabaco para que fumemos más (
agregados de amoniaco), no es nada de eso. Se trata de un cliente para
SoulSeek (si, ese, el pajarito azul) escrito en
Python (PyGTK) (ese caótico lenguaje, dicen parecido al lenguaje del ser humano). Está basado en
Nicotine, pero en ésta nueva versión han añadido un montón de
mejoras (la principal es que conecta :) ) sobre la versión 1.0.8 que me instalé en su día desde los repositorios de
Ubuntu y que funcionaba realmente mal. Lo había dejado abandonado y el otro día me dio por mirar a ver si habían hecho algo nuevo, me encontré con
una nueva página y una versión muy avanzada,
1.2.5.1 disponible para descargar. Pues nada, como soy un valiente....
Desinstalé la versión que me instalé desde el repositorio,
yo@hell:~$ sudo apt-get remove nicotine
y una vez descargado el fichero con la nueva versión me dispuse a instalar todo
yo@hell:~$ cd Desktop/nicotine/
yo@hell:~/Desktop/nicotine$ tar xvf nicotine+-1.2.5.1.tar.bz2
nicotine+-1.2.5.1/
nicotine+-1.2.5.1/pynicotine/
nicotine+-1.2.5.1/pynicotine/__init__.py
nicotine+-1.2.5.1/pynicotine/mp3.py
nicotine+-1.2.5.1/pynicotine/slskproto.py
nicotine+-1.2.5.1/pynicotine/utils.py
nicotine+-1.2.5.1/pynicotine/pynicotine.py
nicotine+-1.2.5.1/pynicotine/ConfigParser.py
nicotine+-1.2.5.1/pynicotine/gtkgui/
....
Todo esto lo hacemos con nuestro usuario, de momento no nos hacen falta
permisos de supervaca. Después de haber descomprimido tendríamos todo listo para ejecutar nicotine de la forma
yo@hell:~/Desktop/nicotine$ cd nicotine+-1.2.5.1
yo@hell:~/Desktop/nicotine/nicotine+-1.2.5.1$ ./nicotine
peeero, es una cochinada, y además, nos falta una cosilla, el trayicon :), os pongo la forma de la que yo lo hice
yo@hell:~/Desktop/nicotine/nicotine+-1.2.5.1$ cd trayicon
yo@hell:~/Desktop/nicotine/nicotine+-1.2.5.1$ sudo apt-get install build-essential python-dev python-gtk2-dev libgtk2.0-dev
Con esto tenemos todos los paquetes necesarios para poder compilar y construir la librería del trayicon, el paso siguiente es preparar el Makefile con nuestra versión de python
yo@hell:~/Desktop/nicotine/nicotine+-1.2.5.1/trayicon$ ./autogen.py
Generating Makefile for python 2.4
Done.. Now run 'make install' as root
yo@hell:~/Desktop/nicotine/nicotine+-1.2.5.1/trayicon$
Hacemos el make
yo@hell:~/Desktop/nicotine/nicotine+-1.2.5.1/trayicon$ make
pygtk-codegen-2.0 --prefix trayicon --register `pkg-config --variable=defsdir pygtk-2.0`/gdk-types.defs --register `pkg-config --variable=defsdir pygtk-2.0`/gtk-types.defs --override trayicon.override trayicon.defs > trayicon.c
Warning: generating old-style constructor for egg_tray_icon_new
Warning: Constructor for EggTrayIcon needs to be updated to new API
See http://live.gnome.org/PyGTK_2fWhatsNew28#update-constructors
***INFO*** There are no declared global functions.
***INFO*** The coverage of methods is 100.00% (2/2)
***INFO*** There are no declared virtual proxies.
***INFO*** There are no declared virtual accessors.
***INFO*** There are no declared interface proxies.
cc `pkg-config --cflags gtk+-2.0 pygtk-2.0` -I/usr/include/python2.4/ -I. -fPIC -c -o trayicon.o trayicon.c
cc `pkg-config --cflags gtk+-2.0 pygtk-2.0` -I/usr/include/python2.4/ -I. -fPIC -c -o eggtrayicon.o eggtrayicon.c
cc `pkg-config --cflags gtk+-2.0 pygtk-2.0` -I/usr/include/python2.4/ -I. -fPIC -c -o trayiconmodule.o trayiconmodule.c
cc `pkg-config --libs gtk+-2.0 pygtk-2.0` -shared trayicon.o eggtrayicon.o trayi conmodule.o -o trayicon.so
yo@hell:~/Desktop/nicotine/nicotine+-1.2.5.1/trayicon$
Instalamos... aquí si que nos hacen falta permisos de superusuario ya que se copiará la librería en el directorio de librerías (o paquetes) de tu python.
yo@hell:~/Desktop/nicotine/nicotine+-1.2.5.1/trayicon$ sudo make install
Y por último, solo nos queda copiar la librería al directorio donde se encuentran todos los scripts de nicotine, si no lo hacemos nos aparecerá un error parecido a "trayicon module was not found..." o algo así y obviamente, no nos aparecerá el icono del tray.
yo@hell:~/Desktop/nicotine/nicotine+-1.2.5.1/trayicon$ cd ..
yo@hell:~/Desktop/nicotine/nicotine+-1.2.5.1$ cp trayicon/trayicon.so pynicotine/
Acto seguido movemos el directorio de nicotine a /usr/lib y damos los permisos pertinentes
yo@hell:~/usr/lib$ sudo chmod -R 755 nicotine+-1.2.5.1
yo@hell:~/usr/lib$ sudo chown -R root:root nicotine+-1.2.5.1
Ahora vamos a hacer que esto nos quede chulo... nos descargamos el
icono de Nicotine y lo guardamos en /usr/share/pixmaps como nicotine.png. En /usr/bin creamos un script para arrancar nicotine
yo@hell:~/Desktop/nicotine/nicotine+-1.2.5.1$ cd /usr/bin/
yo@hell:/usr/bin$ sudo gedit nicotine
y añadimos lo siguiente
#!/bin/sh
cd /usr/lib/nicotine+-1.2.5.1
./nicotine
guardamos y damos permisos de ejecución y lecura pertinentes al script
yo@hell:/usr/bin$ sudo chmod 755 nicotine
yo@hell:/usr/bin$ ls -la nicotine
-rwxr-xr-x 1 root root 51 2006-10-09 23:43 nicotine
y ahora creamos la entrada en el menú, podemos hacerlo con
Alacarte, pero prefiero añadir la entrada en /usr/share/applications para que esté disponible para todos los usuarios, entonces, editamos un nuevo archivo texto
yo@hell:/usr/share/applications$ sudo gedit nicotine.desktop
y escribimos lo siguiente
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Nicotine
GenericName=Nicotine
Comment=SoulSeek Linux Interface
Icon=nicotine.png
Exec=nicotine
Terminal=false
Categories=Application;Network;
guardamos y ya está, ya tenemos nuestra entrada en el menú Internet, ahora solo nos queda ejecutarlo... y ¡¡tachaaaaan!! ahí tenemos a nuestro Nicotine+ con su trayicon y todo funcionando a las mil y una maravillas.
Voy a seguir descargando algunos temas de Trentemøller, que me mola...
Ale, valientes, a descargar :)
ACTUALIZACIÓN
Si no os aparece el icono del tray probar a arrancar nicotine con el sufijo --enable-trayicon (-t), si no queréis que os aparezca el icono del tray arrancadlo con el sufijo --disable-trayicon (-d).