Archive

Archive for December, 2009

CenterIM spanish UTF-8 support – Debian Lenny

CenterIM, un fork de CenterICQ, es un cliente de mensajería instantánea multiprotocolo: soporta ICQ, Yahoo!, MSN, AIM, IRC, XMPP, LiveJournal y Gadu-Gadu; además funciona en modo texto.

En los repositorios de Debian Lenny (estable) está disponible la versión 4.22.5-1, sin embargo, con esa versión no es factible conectarse a MSN Messenger, la conexión falla. En el sitio oficial CenterIM anuncian que en la versión 4.22.9 se soluciona el problema. A continuación los pasos para realizar la compilación desde las fuentes, además, habilitaremos el soporte spanish UTF-8 cómo charset, así podremos utilizar los caracteres acentuados, y otros cómo la “ñ” en CenterIM. Todos los comandos a continuación deben ser ejecutados cómo root.

Preparamos nuestro ambiente de compilación:


# apt-get install -y libcurl4-openssl-dev libcurses-perl libgnutls-dev liblzo2-2 liblzo2-dev libncurses5 libncurses5-dev libncursesw5 libncursesw5-dev build-essential

Descargamos la última versión de CenterIM:


# wget http://www.centerim.org/download/releases/centerim-4.22.9.tar.gz

Instalaremos la localización (locale) requerida. Edita el archivo /etc/locale.gen y descomenta la línea es_ES.UTF-8


# vim /etc/locale.gen

Generamos la nueva localización con locale-gen


# locale-gen
Generating locales (this might take a while)...
 es_ES.UTF-8... done
 en_US.UTF-8... done
Generation complete.

Utilizaremos esta localización temporalmente, el cambio perdurará hasta que cierres la consola.


# export LANG=es_ES.UTF-8

Ve al directorio donde descargaste CenterIM, llegó el momento de compilar. Si faltaran dependencias, al momento de hacer el configure te darás cuenta, intenta resolverlas a través de apt-get


# tar xzvf centerim-4.22.9.tar.gz
# cd centerim-4.22.9
# ./configure
# make
# make install

Ya puedes ejecutar CenterIM, por omisión estará disponible en /usr/local/bin/centerim. Luego de registrar tu cuenta MSN, tendrás que hacer unos ajustes en el charset, ó tus contactos sólo verán caracteres extraños cuando tu escribas con acentos o “ñ”. Presiona F4 para ir a “CenterIM config options” y en la opción “Codepages conversion” asigna los siguientes valores:


Switch to language preset : None
Remote charset : iso-8859-1
Local charset : utf-8

Existen varias formas para que el cambio de localización (en el Sistema Operativo) sea permanente para el usuario. Una de ellas es generar un sencillo script con este contenido:


#!/bin/bash

export LANG=es_ES.UTF-8
/usr/local/bin/centerim

Le das permisos de ejecución, y a través de este script ejecutas CenterIM. También podrías exportar la varaible LANG en tu ~/.profile o ~/.bashrc

Samba tuning SnakeOS firmware

Instalé SnakeOS en mi NAS WLX-652, y estaba experimentando un problema con Samba: en un recurso compartido del NAS que monto en mi PC, existen varios archivos AVI. Una vez iniciada la reproducción de estos, y en un período de tiempo aleatorio, los videos se congelaban. Pero justo en ese instante podía seguir accediendo a otros servicios, cómo FTP y SSH. El nivel de carga era normal en el NAS, estaba seguro que no era un problema de recursos y que algo pasa con Samba. Luego de incluir ciertos parámetros sin éxito en el archivo de configuración /etc/smb.conf, tales cómo:

read raw = no
read prediction = true
read size = 65536
level2 oplocks = true

Todo seguía igual. Mi hipótesis era que Samba (versión 2.0.10-security-rollup), no se daba por enterado de que yo seguía viendo el video, que mi conexión aún estaba activa. Luego de revisar el man (5) de smb.conf, encontré el parámetro keepalive

keepalive (G)

The value of the parameter (an integer) represents the number of
seconds between keepalive packets. If this parameter is zero, no
keepalive packets will be sent. Keepalive packets, if sent, allow
the server to tell whether a client is still present and
responding

Si estás con el mismo problema, encontrarás la solución a continuación:

Copia el archivo /etc/smb.conf desde el NAS a algún directorio en tu computador y edítalo. En la sección global agrega:

keepalive = 0

Luego súbelo vía SCP o FTP al directorio /etc del NAS, sobrescribe el original.  Ve a la interfaz web de SnakeOS a “Services> Samba> Restart” para reiniciar el servicio, por último a “System> Config> Save Config” para que los cambios en el archivo de configuración persistan después de un reinicio.

Esta es la sección global de mi /etc/smb.conf


[global]
server string = pulpero
smb passwd file = /etc/smbpasswd
security = SHARE
workgroup = WORKGROUP
encrypt passwords = true
short preserve case = yes
preserve case = yes
guest account = ftp
guest ok = yes
force user = root
force group = root
socket options = SO_KEEPALIVE TCP_NODELAY SO_RCVBUF=16384 SO_SNDBUF=16384
character set = ISO8859-1
client code page = 850
keepalive = 0

Samba client lanman auth

Quería conectarme a un recurso compartido de Samba utilizando Nautilus (en Gnome ve a “Places > Connect to Server”) y no podía conseguirlo. Los datos cómo el servidor, recurso, nombre de usuario y contraseña estaban correctos, sim embargo, Nautilus volvía y volvía a pedir la contraseña, no había ningún mensaje de error. Después de un poco de debug utilizando smbclient, conseguí más información:

[root@awesom-o /]# smbclient -U sebastian //pulpero/torrents
Enter sebastian's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.0.10-security-rollup]
Server requested LANMAN password (share-level security) but 'client lanman auth' is disabled
tree connect failed: NT_STATUS_ACCESS_DENIED

Ocurre porque el cliente tiene deshabilitada la autenticación utilizando el protocolo lanman, ya que es menos seguro que NTLM. Estando consciente de esto y de los riesgos que involucra, para solucionar el problema sólo tienes que editar el archivo /etc/samba/smb.conf y agregar esta línea en la sección [global]

client lanman auth = yes

Ahora puedes volver a probar con smbclient

[root@awesom-o /]# smbclient -U sebastian //pulpero/torrents
smb: \>

Con Nautilus también todo irá bien.