lunes, 14 de enero de 2013

Problemas con Gtalk en Empathy: Error de red


Recientemente intenté cambiarme a Ubuntu 12.10, pero me desanimé por el consumo de memoria que sobrecalentaba el computador y disparaba el trabajo del ventilador. De tal forma que resolví volver a Ubuntu 11.10.
No tuve mayor problema en volver a configurar mi máquina, hasta que intenté conectarme a Google talk y Empathy se quedó pensando por 15 minutos.

Borré la cuenta en Empathy, la volví a crear, la edité de una forma y otra, hasta que encontré la solución que transcribo:

1. Cree una nueva entrada de Empathy con protocolo: Jabber
2. ID de sesión: La dirección de mi correo en gmail (*******@gmail.com)
3. Contraseña: La contraseña de gmail, luego de marcar la casilla de "Recordar contraseña"
4. Entre por el link "> Avanzadas"
5. Activé la casilla de "Requiere cifrado (TLS/SSL)"
6. Activé la casilla de "Ignorar los errores de certificados SSL"
7.  Dejé en blanco la casilla de "Recurso"
8. Prioridad: 0
9. Servidor: talk.google.com
10. Cambié el puerto (que estaba en 5222) a 443
11. Activé la casilla de "Usar SSL antiguo"

Luego de esto reinicié el equipo y.... listo.

Reconocimiento

Esta solución la encontré aquí.


domingo, 12 de febrero de 2012

Cambiar /usr a otra partición


/usr es el directorio que contiene todos los programas (/usr/bin), las bibliotecas (/usr/lib) y sus respectivos documentos (/usr/share/doc) y, fundamentalmente, es el directorio que mayor espacio requiere en nuestra instalación Linux. Por esta razón, si tenemos “/usr”dentro del directorio raiz “/”, tiende a llenarse causando la advertencia constante acerca de la falta de espacio en la partición raiz.

Yo tengo Ubuntu en una partición de 5 Gigas. Afortunadamente, en algún momento en el pasado se me ocurrió poner “/home” (216 Gigas) en una partición diferente a la de raiz, pero con los diferentes programas que he montado solamente me quedan 130 Megas de espacio libre, de tal forma que no puedo instalar algo nuevo sin desinstalar algo que necesito.

Una solución sería volver a instalar Ubuntu en otra partición más grande pero, al igual que hice con /home, me parece que es mejor solución poner /usr en otra partición. Gracias a Dios tengo una partición sin uso!!!

El asunto lo divido en tres partes: 1)Dejar lista la nueva partición, 2) Pasar el contenido de /usr a la nueva partición, y 3) Decirle a Ubuntu dónde encontrar la nueva /usr. Comienzo alistando la partición:

Dejar lista la nueva partición
Empleando la “Utilidad de discos” de Ubuntu, ubico la partición que tengo libre (sda7 en mi caso. Esto puede variar en otros computadores.) y la formateo usando Ext4. 
Aquí es necesario indicar que el computador conoce esta partición como un dispositivo (!). En este caso el dispositivo /dev/sda7. Esto es importante porque se empleará más adelante para hacer que Ubuntu reconozca (monte) este dispositivo como un directorio o sistema de archivos.
Con esto tenemos la partición lista para hacer que nuestro Ubuntu la reconozca. Es decir, montar la partición.
Para hacer esto primero creamos un directorio en el cual montaremos el dispositivo sda7. Se puede crear un directorio en casi cualquier parte del sistema, pero lo haremos en el directorio /media para mantener nuestro sistema de ficheros en orden. El nombre que le daré será “usrtemp”.
Desde consola tecleamos:

          > sudo mkdir /media/usrtemp

Ahora si montamos la partición en el directorio que acabamos de crear tecleando en consola:

          > sudo mount /dev/sda7 /media/usrtemp

En la imagen se puede ver la instrucción anterior, seguida de la orden ls /media que nos lista los directorios dentro del directorio /media. En el último lugar tenemos el directorio que acabamos de crear: usrtemp.


Con esto ya hemos dejado lista la nueva partición para el siguiente paso que es...

Pasar el contenido de /usr a la nueva partición
Antes de proceder a hacer la copia del contenido de /usr debo detenerme en el significado de un punto “.” cuando hablamos de directorios en linux. La razón de esto es que algunas veces cometí el error de despreciar un punto en una orden y los resultados eran erróneos.
Voy a listar el contenido del directorio /media/usrtemp, que acabamos de dejar listo, con la orden:
> ls -al /media/usrtemp
la cual le pide a linux que nos de la información completa del los archivos dentro del directorio usrtemp


Los dos primeros directorios que aparecen son: punto “.” y dos puntos “..”. En realidad estos son apuntadores hacia:
El mismo directorio en el que estamos, es decir /usrtemp, en el caso del directorio punto “.”.
El directorio padre de aquel en el que estamos, es decir /media, en el caso del directorio “..”

Ahora si, a copiar los datos. En consola nos cambiamos al directorio /usr con la orden

          > cd /usr

y copiamos todo lo que hay en este a /media/usrtemp

          > sudo cp -ax . /media/usrtemp

Atención con el punto en esta orden!!! Esta copia puede tomar algunos minutos para completarse...

Ahora tenemos que hacer la última parte:

Decirle a Ubuntu dónde encontrar la nueva /usr
Ya tenemos todos los archivos de /usr copiados en /media/usrtemp por lo cual nos vamos a deshacer de /usr y montamos el nuevo pero, atención, dejamos /usr guardado por si algo sale mal y tenemos que echar marcha atrás.
Copiamos /usr a un directorio con el nombre /usr.viejo.

          > cd /
          > sudo mv /usr /usr.viejo

Ahora creamos un nuevo directorio /usr para montar el dispositivo sda7

En los tutoriales que consulté la orden para crear este directorio es sudo mkdir /usr, pero esta orden no tiene efecto alguno porque “sudo” está en /usr y ese directorio ya no existe!!! 

De paso, al intentar tomar la foto de la consola me doy cuenta que Ubuntu tampoco encuentra el programa que toma la foto porque este estaba en /usr.
Por esto tenemos que decirle al computador dónde encontrar “sudo”. La orden será:

          > /usr.viejo/bin/sudo mkdir/usr

Y luego montar el dispositivo sda7 en el directorio creado.

          >/usr.viejo/bin/sudo mount /dev/sda7 /usr

Con esto ya tenemos el /usr funcionando desde la nueva partición; Ahora si podemos escribir “sudo” sin más, o tomar fotos de las ventanas sin problemas, pero al apagar la máquina se pierde el punto de montaje, por lo cual, si se inicia nuevamente, Ubuntu irá a buscar los programas en /usr dentro del directorio raiz “/” el cual ¡está vacío! Porque todos los programas están en sda7

Tenemos que decirle a Ubuntu que, en el momento de arranque, monte la partición sda7 como /usr.Hay otras formas de hacerlo, pero parece que esta es la mas segura.

Averiguamos la UUID (identificador universal) de la partición y editamos el /etc/fstab para montar la partición al inicio.
En los manuales se indica que la orden es sudo vol_id -uuid /dev/nombre de la partición, pero vol_id no funciona de tal forma que utilizamos blkid

          > sudo blkid /dev/sda7


Esto me dice que la sda7 está en la dirección dc3a78d3-c662-4d6e-8bbf-387b21b34beb, y que el formato es ext4. Esto es importante porque necesitamos escribirlo en el archivo /etc/fstab, de tal forma que lo editamos:

          > sudo gedit /etc/fstab

Y añadimo estas lineas al final:

# partición /dev/sda7 montada en /usr manualmente (comentario)
UUID=dc3a78d3-c662-4d6e-8bbf-387b21b34beb /usr ext4 defaults 1 2

Grabamos, cerramos y listo, podemos reiniciar nuestro Ubuntu.

Si algo salió mal podemos utilizar una usb o un disco de arranque y restaurar el directorio /usr.viejo a /usr y borrar las dos líneas que hemos introducido en fstab, con lo que podemos repetir los pasos evitando los errores que hayamos cometido.

Si no hemos cometido error alguno, al reiniciar tendremos todo funcionando perfectamente, pero con particiones separadas. Solamente nos faltara borrar /usr.viejo para liberar el espacio que teníamos copado en la raiz /

> sudo rm -R /usr.viejo

jueves, 1 de septiembre de 2011

Protegiendo archivos PDF contra copiar/pegar

Recientemente estuve buscando una forma de proteger documentos PDF contra la copia.

Usualmente no me preocupa la copia que le sirva a otros para construir y mejorar, pero me fastidió tener que entregar un documento que se que va a ser utilizado por perezosos que lo recortarán y acomodarán para no tener que trabajar.

En fin, gogleando encontré que GIMP permite tomar un archivo PDF e importarlo en múltiples capas, tantas como páginas tenga el PDF original, o abrirlo página a página, lo cual puede ser engorroso para archivos con gran número de páginas.

Luego de cargar el PDF basta con imprimirlo a archivo, con lo que quedará convertido en imagen. El problema es que, si se cargó como capas, solamente imprimirá la primera página. Mientras que si se cargó como un grupo de imágenes puede ser muy largo imprimirlas una a una y, además, quedan en archivos diferentes cada página. 

Difícil cosa. Por un lado perdemos información y por otro se nos multiplica el trabajo al tener que poner cada una de las páginas convertidas en imágen y ponerlas en un mismo archivo (por ejemplo con LibreOffice) y convertir este en PDF.

Este problema, sin embargo, se resuelve utilizando la consola y el comando convert de GIMP, así:
En la terminal escribimos

     > convert archivo.pdf temporal.jpg

Con esto generamos varios archivos JPG llamados temporal-0.jpg, temporal-1.jpg... y así dependiendo del número de páginas que tenga el archivo PDF original.

Luego, pasamos todos los archivos JPG nuevamente a un único archivo PDF con el comando:

     > convert *.jpg nuevo.pdf

Con lo cual tenemos un nuevo archivo de imágenes en formato PDF sobre el cual 
no se puede hacer copiar/pegar.

Finalmente podemos borrar los archivos JPG generados con: 

     >rm *.jpg

Desde luego que todo esto puede ejecutarse mediante una única línea con todos los comandos.

     > convert archivo.pdf temporal.jpg && convert *.jpg nuevo.pdf && rm *.jpg

Además de esto se puede controlar la calidad de cada archivo JPG que se genera mediante la variación del parámetro -quality del la herramienta convert (consulte el man).





viernes, 10 de junio de 2011

Problem with MergeList /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_natty-updates_universe_i18n_Translation-en

Desde hace varios días perdí la posibilidad de actualizar mi Ubuntu o de instalar programas nuevos. El centro de control dejó de funcionar y el soporte de idiomas ni siquiera arrancaba. Además de esto, Synaptic y el Gestor de actualizaciones me arrojaban el siguiente error.

'E:Encountered a section with no Package: header, E:Problem with MergeList /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_natty-updates_universe_i18n_Translation-en, E:No se pudieron analizar o abrir las listas de paquetes o el archivo de estado.'

Al intentar hacer el update y el upgrade con aptitude o con apt-get, me salía el siguiente error:

E: No se pudo reconstruir el almacén de paquetes
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/co.archive.ubuntu.com_ubuntu_dists_natty_main_i18n_Translation-en

Googleando encontré que este error se debe a la corrupción de listado en /var/lib/apt/lists. Y, la mayoría de las soluciones pasaban por borrar el contenido de este directorio y hacer el update posterior. Las instrucciones eran variaciones de esto:

sudo rm /var/lib/apt/lists/*
sudo apt-get update

En algunos casos encontré que el * lo cambian por us.archive.ubuntu.com*  (en mi caso el servidor está en Colombia, por lo cual debo escribir co.archive.ubuntu.com*). En algunas variaciones  encontré algo más elaborado:

sudo rm /var/lib/apt/lists/*
sudo rm /var/lib/apt/lists/partial/*
sudo apt-get update -f

Ninguna de las soluciones que encontré me sirvió. Al hacer update siempre  me decía que tenía problemas con los encabezados.

Lo resolví de esta forma.Primero...

sudo rm -r /var/lib/apt/lists/*

Con esto borro todo dentro del directorio, incluido un directorio que se llama /partial. Segundo...

Inicio > Administración > Gestor de actualizaciones

Como el gestor me dice que el sistema está actualizado, le doy click en Comprobar y.... volilá. Funcionando todo de nuevo.

Ya volvió a funcionar el Centro de Software... ya pude instalar K3Dsurf (el graficador de funciones matemáticas).  Ya pude actualizar desde el gestor... (no utilicé aptitude ni apt-get, por si las moscas).

martes, 31 de mayo de 2011

Resolviendo problemas con el wifi del HP Pavilion dm1


El segundo problema con el que me encontré al instalar Ubuntu en el pavilion fue que no reconocía la tarjeta de wifi (rt5390sta)

Luego de googlear un rato, después de haber probado cuanta receta mágica existe, y cuando ya estaba casi resignado a utilizar por siempre la conección por cable encontré la siguiente información, aquí:

1. Vamos a página  donde se encuentran (actualizados en el momento en que escribo esto 15 - 07- 2011) los drivers para la tarjeta rt5390sta. Esta es la página.

2. Si nuestro Ubuntu es de 32bit, bajamos todos los parches, menos el "rt5390sta-2.4.0.4-gcc-warnings-x86_64.patch" (Desde luego que si tenemos un 64 bit, habrá que bajarlo también).  

3. Bajamos el archivo comprimido "2010_1216_RT5390_LinuxSTA_V2.4.0.4_WiFiBTCombo_DPO.tar.bz2", y lo descomprimimos (con lo cual se crea una carpeta con el mismo nombre).
Copiamos todos los archivos del parche dentro de la carpeta que acabamos de crear. 
Nos metemos en la carpeta( 2010_1216_RT........) luego en la carpeta "so", luego en la carpeta "linux" y buscamos el archivo "config.mk". Cambiamos el valor de HAS_ANTENNA_DIVERSITY_SUPPORT=y (viene con "n" en el archivo original), y guardamos. 
Ahora abrimos una terminal, nos pasamos a la carpeta que creamos, donde tenermos  los parches y lo que hemos descomprimido. Entonces ejecutamos:
   patch -p0 < rt5390sta-2.4.0.4-config.patch
   patch -p0 < rt5390sta-2.4.0.4-convert-devicename-to-wlanX.patch
   patch -p0 < rt5390sta-2.4.0.4-reduce_debug_output.patch
   patch -p0 < rt5390sta-2.4.0.4-remove-potential-conflicts-with-rt2860sta.patch
   patch -p0 < rt5390sta-2.4.0.4-return_nonvoid_function.patch
   patch -p0 < rt5390sta-2.4.0.4-WPA-mixed.patch
   sudo su
   cp RT2860STA.dat RT5390STA.dat
   mkdir -p /etc/Wireless/RT5390STA
   cp RT5390STA.dat /etc/Wireless/RT5390STA
   make clean
   make
   make install
   modprobe rt5390sta
   exit
Con esto se debe activar inmediatamente el wifi (a mi me funcionó inmediatamente).