martes, 22 de octubre de 2013

Solución al problema de Google Hangouts en Debian

Es posible que los usuarios de Debian testing o Debian sid que hayáis intentado utilizar la videoconferencia mediante Google Hangouts os hayáis encontrado con que el servicio no os funciona y que tras una espera os aparezca un mensaje de que instaléis el plugin necesario, pese a que ya lo tengáis instalado.

Si este es vuestro caso os animo a probar la solución que os traigo, que al menos a mí me resolvió el problema. Dicho problema parece estar provocado por un bug en la nueva versión 1.12.16-2 de la librería libcairo2, por lo que podemos solucionarlo instalando la última versión anterior que funcionaba correctamente, siempre y cuando no tengamos instalados paquetes con dependencias de la versión nueva, claro.

Partamos de que ya tenéis instalado el plugin necesario para Google Hangout (paquete google-talkplugin_current_amd64.deb ó google-talkplugin_current_i386.deb, dependiendo de si usamos la versión de 64 o de 32 bits). Vamos a realizar la tarea desde nuestra querida terminal con solo un par de comandos:

Si usamos Debian 64 bits:

wget http://snapshot.debian.org/archive/debian/20130927T214600Z/pool/main/c/cairo/libcairo2_1.12.14-4_amd64.deb
sudo dpkg -i libcairo2_1.12.14-4_amd64.deb

Para 32 bits:

wget http://snapshot.debian.org/archive/debian/20130927T214600Z/pool/main/c/cairo/libcairo2_1.12.14-4_i386.deb
sudo dpkg -i libcairo2_1.12.14-4_i386.deb

Con el primer comando descargamos la última versión del paquete que funcionaba correctamente, para posteriormente instalarla con el segundo, machacando en el proceso a la problemática versión actual. Ni que decir tiene, que hasta que el problema sea solucionado en futuras actualizaciones de la librería, deberíamos omitir el paquete libcairo2 de las actualizaciones del sistema.

domingo, 6 de octubre de 2013

Configurar los repositorios en Debian

Una vez hayamos instalado Debian, una de las primeras cosas que deberíamos hacer, además de instalar sudo, es configurar apropiadamente los repositorios. Si acabamos de instalar Debian es posible que aun no tengamos entorno gráfico y/o la aplicación necesaria para configurar los repositorios gráficamente, por lo que para que esta entrada sea válida en todos los casos vamos a movernos únicamente con el terminal.

Para ello editaremos el famoso fichero sources.list:

sudo nano /etc/apt/sources.list
Primero comentaremos o eliminaremos la línea que fija como repositorio el contenido del cdrom de instalación y posteriormente vamos a asegurarnos de que los repositorios iniciales apuntan a la rama en vez de a la versión. Este paso no es obligatorio, aunque sí os lo recomiendo. Las versiones de Debian funcionan de la siguiente manera: hay una versión estable (stable, que actualmente se llama Wheezy), una versión en pruebas (testing, llamada actualmente Jessie) y una versión inestable o de desarrollo, llamada siempre sid. Cuando se termine el ciclo de pruebas y sea liberada la siguiente versión estable de Debian, la actual versión en pruebas es la que se convierte en estable, por lo que la actual versión estable pasa a ser la versión anterior (oldstable).

Ahora os pongo un ejemplo de por qué recomiendo que los repositorios apunten a la rama, en vez de a la versión: suponed que tenéis una Debian testing, y de hecho queréis tener siempre una Debian testing. Actualmente la rama testing apunta a la versión Jessie, pero ¿qué pasará dentro de un tiempo cuando Jessie pase a ser la versión stable? Muy sencillo, pasará que si tenemos los repositorios configurados para que apunten a la versión Jessie, estaremos apuntando a la versión stable y no a la testing. Esto mismo ocurrirá con la versión stable de Debian, ya que si apuntamos ahora a Wheezy, cuando esta deje de ser la versión stable en pro de Jessie, estaremos apuntando a la versión oldstable, no a la nueva stable.

Lo que tenemos que hacer para evitar esto es apuntar a la rama, en vez de a la versión, por tanto, a fecha de hoy en que Wheezy es la versión stable y Jessie la testing, en el fichero sources.list, cada vez que aparezca wheezy lo sustituiremos por stable, o en caso de usar la rama testing, cada vez que aparezca jessie lo sustituiremos por testing. La versión de Debian unstable siempre se llama sid, por lo que en este caso no tendríamos que hacer nada.

Además de lo expuesto anteriormente, vamos a añadir los repositorios no libres y así tener acceso por ejemplo a drivers privativos (nvidia, ati...), algunos codecs y compredores, plugin de flash, etc. Esto por supuesto es algo voluntario, y habrá gente que no quiera usar paquetes no libres, pero para quienes quieran hacerlo deberán añadir los repositorios non-free (paquetes no libres) y contrib (paquetes libres pero con dependencia de paquetes que no lo son). Con todo esto, y en función de la versión de Debian que usemos, el fichero sources.list nos quedará de la siguiente manera (aquellos que sólo quieran usar software libre deberán eliminar todas las apariciones de contrib y non-free):

Debian estable (Wheezy):

deb http://ftp.es.debian.org/debian stable main contrib non-free deb http://security.debian.org/ stable/updates main contrib non-free
Debian testing (Jessie):

deb http://ftp.es.debian.org/debian/ testing main contrib non-free deb http://security.debian.org/ testing/updates main contrib non-free
Debian unstable (Sid):

deb http://ftp.es.debian.org/debian sid main contrib non-free deb http://security.debian.org/ sid/updates main contrib non-free
Como podéis ver, he eliminado los repositorios de código (las líneas que empiezan por deb-src), aunque si queréis tener acceso al código fuente no los eliminéis (acordaos en tal caso de hacer que apunten a la rama en vez de a la versión). El repositorio principal usado es el que se encuentra en España, si sois de otro país os recomiendo usar el vuestro, ya que por cercanía posiblemente os funcione más rápido. Básicamente se trataría de sustituir http://ftp.es.debian.org/debian/ por el que corresponda. Os dejo un link de la web oficial de Debian donde tenéis la réplica del repositorio principal de cada país:

http://www.debian.org/mirror/list

También os dejo el link a una interesante web donde podréis generar el contenido del sources.list según lo que queráis añadir:

http://debgen.simplylinux.ch/

Finalmente, vamos a añadir una línea más al fichero sources.list correspondiente a los repositorios multimedia, los cuales considero muy útiles por contener todos los codecs multimedia que podamos llegar a necesitar. Según la versión de Debian que usemos, añadimos la siguiente línea:

Debian estable (Wheezy):

deb http://www.deb-multimedia.org/ stable main non-free
Debian testing (Jessie):

deb http://www.deb-multimedia.org/ testing main non-free
Debian unstable (Sid):

deb http://www.deb-multimedia.org/ unstable main non-free
Puede que algunos no queráis que los repositorios apunten a la rama, sino a la versión, por ejemplo en caso de que hayáis instalado una versión estable y no queráis que esta se actualice a la nueva versión, cuando esta sea liberada. En este caso, vuestros repositorios quedarían de la siguiente manera:

Debian Wheezy:

deb http://ftp.es.debian.org/debian wheezy main contrib non-free deb http://security.debian.org/ wheezy/updates main contrib non-free deb http://www.deb-multimedia.org/ wheezy main non-free
Debian Jessie:

deb http://ftp.es.debian.org/debian/ jessie main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free deb http://www.deb-multimedia.org/ testing main non-free

Una vez añadidos los repositorios, con Ctrl+X salimos del editor, aunque antes se nos preguntará si queremos guardar los cambios, a lo que responderemos S. Si hemos añadido los repositorios multimedia, tendremos que instalar el paquete necesario para obtener la llave del repositorio:

sudo apt-get install deb-multimedia-keyring
Ahora ya sólo queda actualizar la información de los repositorios en nuestro sistema, para lo cual haremos:

sudo apt-get update
Y todo listo. ¡A disfrutar de vuestra Debian!

martes, 1 de octubre de 2013

Instalar drivers de NVIDIA en Debian

Aunque para las tarjetas NVIDIA tenemos los drivers libres nouveau, cuya implementación tiene mucho mérito, dada la poca ayuda que los desarrolladores han recibido de NVIDIA, sí es cierto que estos drivers aun distan mucho en rendimiento de los drivers privativos. En esta entrada vamos a ver como instalar los drivers no libres de NVIDIA en las distintas versiones de Debian, ya que esta distro no nos facilita una manera sencilla y visual de hacerlo, al contrario que otras como Ubuntu o Linux Mint.

Lo primero que vamos a hacer es adquirir privilegios de root para realizar las operaciones que vendrán después:

su
Una vez hecho esto empezamos añadiendo los repositorios no libres, si no lo tenemos aun, donde encontraremos los drivers de NVIDIA, entre otras muchas cosas:

nano /etc/apt/sources.list
Dependiendo de la versión de Debian que uséis, tanto vuestro repositorio principal como el de actualizaciones de seguridad debería quedar de la siguiente manera:

Debian estable (Weezy):

deb http://ftp.es.debian.org/debian stable main contrib non-free deb http://security.debian.org/ stable/updates main contrib non-free
Debian testing (Jessie):

deb http://ftp.es.debian.org/debian testing main contrib non-free deb http://security.debian.org/ testing/updates main contrib non-free
Debian sid:

deb http://ftp.es.debian.org/debian sid main contrib non-free deb http://security.debian.org/ sid/updates main contrib non-free
Si os fijáis estos repositorios apuntan a la rama en vez de a la versión de Debian, de esta manera no tendréis que cambiar nada en caso de cambio de versión. Los repositorios principales que he puesto están en España, si estáis en otro país puede que os convenga instalar los del vuestro. Para ello os recomiendo entrar en la siguiente web:

http://debgen.simplylinux.ch/

Desde aquí podréis generar la línea con el repositorio según vuestras necesidades. Luego copiáis y pegáis en el sources.list.

Una vez añadido el repositorio al sources.list, guardamos, cerramos (Ctrl+X) y actualizamos la información de los paquetes:

apt-get update
Es recomendable añadir el driver libre para NVIDIA nouveau a la lista negra del kernel, así evitaremos que pueda cargarse y por tanto posibles conflictos. De nuevo en el terminal:

nano /etc/modprobe.d/blacklist.conf
Una vez abierto, añadimos la siguiente línea:

blacklist nouveau
Cerramos y guardamos. Ahora procedemos a realizar la instalación de los paquetes necesarios:

apt-get install nvidia-kernel-dkms nvidia-glx nvidia-xconfig nvidia-settings apt-get install nvidia-vdpau-driver vdpau-va-driver
Si tenemos ya instalado algún entorno de escritorio y el servidor X está en ejecución, para realizar la siguiente tarea antes tendremos que detenerlo, así como el gestor de acceso al servidor X. Primero cerraremos sesión y abriremos un tty (Ctrl+1, por ejemplo). Ahora nos logamos con nuestro usuario en el tty, y si usamos Gnome haremos:

service gdm3 stop
Ó bien:

/etc/init.d/gdm3 stop
En caso de usar otro entorno sustituiremos gdm3 por el correspondiente gestor de ventanas, por ejemplo, en caso de usar KDE haríamos service kdm stop ó bien /etc/init.d/kdm stop.

En este paso vamos a generar un nuevo xorg.conf, ya con nuestros drivers de nvidia instalados. En el terminal:

X -configure
Copiamos el fichero generado a /etc/X11

cp /root/xorg.conf.new /etc/X11/xorg.conf
Con esto ya tenemos los drivers de Nvidia instalados y operativos. Si ya tenemos entorno de escritorio instalado podemos lanzarlo sin tener que reiniciar:

startx
Una vez iniciado el entorno gráfico, podemos irnos a la aplicación de configuración de Nvidia y desde ahí configurar la resolución o lo que necesitemos, finalizando con el botón de Grabar a Fichero de Configuración X.