Instalar Driver Nvidia en Linux / Debian Squeeze


Estos son los pasos que debes realizar para poder tener instalado el Driver Nvidia en un Debian Linux y sacarle todo el provecho a tu tarjeta de video:

Instalar los requerimientos:

# aptitude install module-assistant nvidia-kernel-common
# aptitude install nvidia-glx

Activar módulos:

# module-assistant auto-install nvidia
# depmod -a
# modprobe nvidia

Edita el /etc/X11/xorg.conf y busca la linea:

Section "Device"

Cambia la línea Driver para que quede así:

Driver  "nvidia"

Por último, reiniciar el gestor gráfico:

# /etc/init.d/gdm restart
Anuncios

Mumble – Software Libre para Multi-Conferencias


Mumble es Software Libre, multiplataforma de voz sobre IP especializada en multi-conferencia. Si recuerdas a skype, pues Mumble satisface todas esas necesidades, y aún más, tu puedes crear tu propio servidor desde donde podrás dar acceso a tu central de conferencia, invitar usuarios y si quisieras podrías crear tus propias salas de conversación.

Yo lo instalaré un Servidor Mumble en mi Linux/Debian, ustedes podrán encontrarlo en los repositorios de la Distribución Linux que usen:

1- Instalar – Servidor Mumble:

# aptitude install mumble-server
# /etc/init.d/mumble-server start

1.1- Configurar el Servidor:
Para configurar nuestro server deberíamos acceder al fichero siguiente y hacer los cambios que sean convenientes:

# nano /etc/mumble-server.ini

2- Instalar – Cliente Mumble:
Mumble al ser multiplataforma puede ser accedido desde cualquier sistema, si ya conocemos un servidor existente sólo necesitaríamos tener instalado el programa cliente. Podemos encontrar Mumble para PC, en este ejemplo yo lo instalaré en mi Linux/Debian directamente desde los repositorios:

# aptitude install mumble

Ahora para acceder sólo basta con conocer la dirección del servidor y el puerto que por defecto es 64738, el cual no cambié en el servidor local que instalé:


Y como ven, permitió acceder al servidor:

Pueden conseguir la aplicación para Linux, OS X o Windows en: http://mumble.sourceforge.net/.
También podrían instalar Mumble en Android, así mientras unos están en conferencia desde la PC, otros pueden unirse desde el mobil desde donde quieran.

Sin duda, Mumble es una aplicación magnifica y lo recomiendo al 100%, pueden implantarlo para realizar conferencias en su universidad, empresa, o cualquier organización y a un costo cero, vale la pena que lo prueben.

Tutorial de Creación de Plugins para Pidgin en Linux


Como sabrán, quienes siguen a menudo mi blog, hace unos meses creé un plugin para Pidgin – MorseCodeTalk, ahora quiero compartirles un pequeño tutorial para poder crear vuestras propias extensiones.

1- Creamos un Directorio de Trabajo:

# mkdir ~/development

2- Descargar las fuentes de Pidgin y moverlo al directorio creado:
En mi caso he descargado la versión 2.7.9.
http://www.pidgin.im/download/source/
3- Descomprimir las fuentes:

# tar -jxvf pidgin-2.7.9.tar.bz2

4- Configurar las fuentes:

# cd pidgin-2.7.9
# ./configure

4.1- Errores:
Si hay errores de dependencias, instala los plugins que falta:

Ejem: aptitude install intltool

4.2- Opciones:
– Usa –disable-vv si no necesitarás alguna funcionalidad.

Ejem: ./configure --disable-vv --disable-idn --disable-nm --prefix=/opt/pidgin

– prefix es para que se instale en /opt/pidgin

4.3- Advertencia:
Si ya tenías instalado pidgin anteriormente, te saldrá una advertencia, pero no te preocupes, podrás iniciar la nueva versión de Pidgin por consola.

Warning: You have an old copy of Pidgin at /usr/bin/pidgin.

5- Compilar las fuentes:

# make

Esto podría demorar un poco.

6- Crear el Plugin:
Para empezar crear el plugin deberemos dirigirnos al directorio siguiente:

$ cd libpurple/plugins/

Crearemos un plugin de ejemplo llamado holamundo que sólo nos mostrará una ventana de diálogo al activarlo, para ello debemos crear un fichero de acuerdo al lenguaje de programación que usaremos y el editor que prefieran, yo alterno entre gedit(editor gráfico) y nano(editor desde consola).

Pidgin ofrece API’s para crear extensiones en diferentes lenguajes, como C, Perl, Tcl, d-bus, para este ejemplo usaré el lenguaje de entre ellos que más conozco, que es C (no C++).

6.1- Crear el Código del Plugin:

$ nano holamundo.c
#define PURPLE_PLUGINS
#include 
#include "notify.h"
#include "plugin.h"
#include "version.h"

static gboolean
plugin_load(PurplePlugin *plugin) {
    purple_notify_message(plugin, PURPLE_NOTIFY_MSG_INFO, "Hola Mundo!",
                        "Este es mi primer Plugin para Pidgin", NULL, NULL, NULL);

    return TRUE;
}

static PurplePluginInfo info = {
    PURPLE_PLUGIN_MAGIC,
    PURPLE_MAJOR_VERSION,
    PURPLE_MINOR_VERSION,
    PURPLE_PLUGIN_STANDARD,
    NULL,
    0,
    NULL,
    PURPLE_PRIORITY_DEFAULT,

    "core-holamundo",
    "Hola Mundo",
    "1.0",

    "Plugin Hola Mundo",
    "Plugin Hola Mundo",
    "Beastieux Zeroo ",
    "https://saforas.wordpress.com",

    plugin_load,
    NULL,
    NULL,

    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL
};

static void
init_plugin(PurplePlugin *plugin)
{
}

PURPLE_INIT_PLUGIN(holamundo, init_plugin, info)

La siguiente parte del código nos permite dotar de información suficiente para el plugin, acontinuación describo cada uno de los parámetros:

static PurplePluginInfo info = {
    PURPLE_PLUGIN_MAGIC,    /* Este deberá ser siempre
                               PURPLE_PLUGIN_MAGIC.*/

    PURPLE_MAJOR_VERSION,   /* Este parámetro ayuda a determinar
			       la versión de Pidgin en el que es
			       compilado, del mismo modo permitirá
			       usar el plugin sólo en la versión
			       donde fue compilada */

    PURPLE_MINOR_VERSION,   /* Versión a partir del cual
			       podrá funcionar el Pidgin */

    PURPLE_PLUGIN_STANDARD, /* PurplePluginType: Hay 4 diferentes valores
			       el primero es PURPLE_PLUGIN_UNKNOWN;
                               no debería ser usado, PURPLE_PLUGIN_STANDARD;
			       este es el valor más usado.
			       PURPLE_PLUGIN_LOADER; usamos este cuando
			       queremos cargar plugins no nativos
			       por ejemplo los hechos en Perl o Tcl,
			       por último PURPLE_PLUGIN_PROTOCOL;
			       si tu plugin permitirá conectar
 			       con otras redes.*/

    NULL,		       /* Si estás escribiendo un Core Plugin
			       debería ser NULL, Si estás escribiendo un
			       Pidgin Plugin debes usar PIDGIN_PLUGIN_TYPE.
			       Si estás escribiendo un Finch Plugin
                               debería usar FINCH_PLUGIN_TYPE.*/

    0,			       /* Este parámetro es para determinar los flags.
			       como el disponible para poner a invisible
                               (PURPLE_PLUGIN_FLAG_INVISIBLE).
			       Con ello haremos que el plugin no aparezca
			       en la lista de plugins. */

    NULL,		       /* Este es un GList de dependencias de plugins.*/

    PURPLE_PRIORITY_DEFAULT,   /* Determina la prioridad que libpurple dará
			          a tu plugin. Existen 3 posibilidades,
			          PURPLE_PRIORITY_DEFAULT,
			          PURPLE_PRIORITY_HIGHEST,
			          PURPLE_PRIORITY_LOWEST. */

    "core-holamundo",	        /* Es el ID de tu plugin.*/

    "Hola Mundo",		/* Es el Nombre de tu plugin.*/

    "1.1",			/* Es la Versión de tu plugin.*/

    "Resúmen Hola Mundo",	/* Es el Resúmen de tu plugin.*/

    "Descripción Hola Mundo",	/* Es la descripción de tu plugin.*/

    "Tu Nombre ",	/* Datos del desarrollador del Plugin. */

    "http://...",	/* La Web del Plugin, de donde pueden
				   descargarlo, reportar bugs, etc.*/

    plugin_load,	/* La función que se carga cuando
			   se inicia el plugin.
			   Debería ser de tipo gboolean*/

    NULL,		/* Es llamado cuando libpurple
			   se descarga, también
			   deberá ser de tipo gboolean.*/

    NULL,		/* Es llamado cuando libpurple
			   se destruye, también
			   deberá ser de tipo gboolean.*/

    NULL,		/* Deberá apuntar a un PidginPluginUiInfo.*/

    NULL,		/* Determina si es un PurplePluginLoaderInfo
			   o PurplePluginProtocolInfo*/

    NULL,		/* Puntero que apunta a una estructura
			   PurplePluginUiInfo.
			   Puedes encontrar un ejemplo de ese
			   tipo de código en:
			   libpurple/plugins/pluginpref_example.c */

    NULL,		/* Es una función puntero donde se definen
			   acciones. Debe ser de tipo GList
			   *function_name(PurplePlugin
			   *plugin, gpointer context)*/

    NULL,		/* Es un puntero reservado para el futuro,
			   lo setearemos a NULL
			   porque no lo necesitamos.*/

    NULL,       	/* Es un puntero reservado para el futuro,
			   lo setearemos a NULL
			   porque no lo necesitamos.*/

    NULL,		/* Es un puntero reservado para el futuro,
			   lo setearemos a NULL
			   porque no lo necesitamos.*/

    NULL		/* Es un puntero reservado para el futuro,
			   lo setearemos a NULL
			   porque no lo necesitamos.*/
};

6.2- Compilar el fichero holamundo.c:

$ make holamundo.so

6.3- Copiar el plugin creado en el directorio de pidgin:

$ cp holamundo.so ~/.purple/plugins/

6.4- Ejecutar Pidgin y probar el plugin:

$ /opt/pidgin/bin/pidgin

Para crear un plugin con interfaces más elaboradas podemos usar las librerías GTK, y para la interacción con pidgin usamos las librerías libpurple; una buena combinación de C/GTK/Libpurple, y de los conocimientos necesarios del la estructura funcional de pidgin nos permitirán realizar los complementos que queramos, pueden buscar toda la información necesaria en la wiki de desarrolladores de pidgin. Una recomendación de mi parte es que revisen los códigos fuente de los plugins existentes en Pidgin Plugins, y tomarlos como referencia para construir los suyos, es lo que hice antes de empezar a crear mis propios complementes . Ahora, si quieren hacer la versión para windows, generar el dll tiene un proceso algo mas tedioso, se necesitará la ayuda de cygwin en windows y descargar e instalar todos los paquetes del cual pidgin depende para poder compilar las fuentes.

FLISoL Perú 2011 – PC-BSD Sistema Operativo de Código Abierto


Les presento en esta ocasión una nueva diapositiva sobre PC-BSD – Sistema Operativo de Código Abierto, que elaboré para mi presentación en el FLISOL Perú 2011, en la sede de Huancayo, un año más que participamos en este gran evento hablando sobre este genial Sistema Operativo y en esta oportunidad en compañía de un gran amigo – Alan Chavez, con quien iniciamos hace ya algunos años atrás la Comunidad PC-BSD Perú.

Pueden descargar la presentación de: pcbsd-1.pdf | pcbsd-2.pdf | Descargar

La presentación se divide en dos partes, la primera es información general sobre PC-BSD a manera de FAQ contestando a las preguntas más frecuentes sobre este sistema, y la segunda parte contiene las diferencias entre FreeBSD/PC-BSD con GNU/Linux, tanto como Sistemas Operativos y también a nivel de licenciamientos (GPL/LGPL/BSD).

Espero que este material sea útil para quienes quieren conocer un poco más de PC-BSD, pues define exactamente lo que necesitas saber, cualquier pregunta o duda no duden en hacérmelo llegar.

Resúmen del Desarrollo del FLISOL Virtual 2011


El FLISOL Virtual 2011, realizado el 09 de Abril pasado, bajo la coordinación de CLABSOL, como de costumbre se viene realizando anualmente y este 2011 se preparó una versión virtual de tal evento, sobre todo para intentar llegar a personas quienes no contaron con una sede en su ciudad y con deseos de participar y también para unir gente de diferentes partes de Latino América y conversar sobre el temá en común que nos une.

Para este evento se realizaron algunas presentaciones por Streaming, también hubieron conferencias por IRC, y el InstallFest en Second Life que no podía faltar.

Dejo aquí el material que nos fue posible retener de las actividades realizadas por el FLISOL, no digo de todas porque lastimosamente se perdieron los logs de algunas conferencias, como la de Sloodle. También pido disculpas a los ponentes ya que el evento inicio un poco mas tarde de lo planeado ya que surguieron problemas imprevistos, como con la descoordinación de los horarios UTC, pero en términos generales creo que se hizo un gran esfuerzo para que todo salga bien y al final se obtuvo un agradable marco.

Conferencias por Streaming de Audio:
CLABSOL – Comunidad Latinoamericana de Bloggers de Software Librehttp://wp.me/p7dBv-1kN
CALENDARIO LIBREhttp://wp.me/p7dBv-1kI
Software Libre en la Universidad La Lagunahttp://wp.me/p7dBv-1kL

Conferencias por Streaming de Video:

PC-BSD – S.O. Fácil y Amigable Basado en FreeBSDhttp://wp.me/p7dBv-1kD
Software Libre en la Universidad de Granadahttp://wp.me/p7dBv-1kp



Conferencias por IRC:
Conocimiento libre con MediaWiki en la Universidad de Cádizhttp://wp.me/p7dBv-1kj
Software Libre en la Universidad de Granadahttp://wp.me/p7dBv-1kp
ZENTYAL, El Servidor Linux para Pymeshttp://wp.me/p7dBv-1kz
DeviOS – Red de Educación y Negocios Virtuales en 3Dhttp://wp.me/p7dBv-1kr

Second Life:
Second Life, InstallFesthttp://wp.me/p7dBv-1kP

Galería de Fotos – FLISOL Virtual 2011