Compiz Fusion en Debian Lenny con Nvidia o Intel

Actualización 06/10/2007: Chantanito nos ha acercado un excelente dato al apuntarnos con su comentario que los repositorios shame han sido separados por release. Yo no me había percatado de ello pues ya tengo compiz instalado 😉 En el repository of shame tienen toda la data de cual es la línea que deben agregar al sources.list. Para los impacientes que tenemos Debian Lenny 32 bits, es la siguiente:

deb http://download.tuxfamily.org/shames/debian-lenny/desktopfx/unstable/ ./
Mil gracias!!

Como ustedes saben, por junio de este año los proyectos de escritorios 3d Beryl y Compiz se unieron para dar nacimiento a Compiz Fusion, del cual pueden ver algunos videos, como es usual, en youtube.

Esta semana han dado a conocer la primer release de desarrollo, Compiz Fusion 0.5.2, que he probado en dos equipos y la verdad anda sin problemas incluso con una performance un poco mejor (al menos a mi juicio) que los proyectos originales. Algunas de las novedades que se incorporaron, además de los plugins de Compiz y Beryl originales, son:

  • Efectos de reflexión en el cubo
  • Un plugin de exposición de escritorios
  • Un nuevo selector de aplicaciones
  • Un completo gestor de configuración

Para los impacientes, aquí está la receta para tenerlo andando en Debian Lenny. La publico ahora (un poco tarde, por cierto) pues el repositorio de paquetes está más estable que hace unos días.

1. Instalación de los drivers de video

Para aquellos que poseen tarjetas de video nVidia, deben tener instalado y configurado el driver propietario, de lo cual ya hemos hablado en un post anterior. Con algunas modificaciones, las instrucciones son las mismas.

Por las dudas, si tenemos una placa de video nVidia, en el archivo /etc/X11/xorg.conf deberíamos tener:

...
Section "Device"
Identifier "Tarjeta de vídeo genérica"
Driver     "nvidia"
Option     "AllowGLXWithComposite" "true"
Option     "RenderAccel" "true"
EndSection
...
Section "Screen"
...
Option "AddARGBGLXVisuals" "True"
...
EndSection
...
Section "Extensions"
Option "Composite" "Enable"
EndSection
...

Para el caso de una placa de video Intel 915/945/9xx:

...
Section "Device"
...
Option "XAANoOffscreenPixmaps" "True"
...
EndSection
...
Section "Extensions"
Option "Composite" "Enable"
EndSection
...

2. Eliminar los paquetes antiguos de Beryl y Compiz

He tenido algunas dificultades al intentar actualizar los paquetes desde versiones antiguas, por lo que recomiendo remover y purgar todos los paquetes relacionados con Compiz y Beryl que estén instalados en el equipo.

# aptitude purge beryl… compiz… heliodor… emerald… etc, etc…

3. Agregar el repositorio shame

Esta buen alma caritativa se ha encargado de empaquetar Compiz Fusion para Debian, así que aprovecho para agradecer su laburo.

Agregar, entonces, las líneas siguientes a /etc/apt/sources.list

# Compiz Fusion development (shame)
deb http://download.tuxfamily.org/shames/debian-sid/desktopfx/unstable/ ./

Update 06/09/2007

Agrego dos repos más por si tienen problemas con el anterior. El siguiente es también de shame, pero contiene una versión más antigua y un poco más estable de compiz:

deb http://download.tuxfamily.org/shames/debian-sid/desktopfx/snapshot/ ./

Este último lo encontré de casualidad y proviene del O.S. Revolution Unnoficial Debian Repository:

deb http://download.tuxfamily.org/osrdebian unstable compiz-fusion-git

4. Agregar las llaves del repositorio

# wget http://download.tuxfamily.org/shames/A42A6CF5.gpg -O- | apt-key add –

5. Instalar los paquetes de Compiz Fusion

Dependiendo del entorno escritorio en el cual deseamos ver los efectos gráficos, es conveniente instalar…

# aptitude install compiz-fusion-kde (para KDE)
# aptitude install compiz-fusion-gnome (para Gnome)
# aptitude install compiz-gnome emerald emerald-themes (para XFCE)
# aptitude install compiz-fusion-all (todos los paquetes para cualquier entorno)

6. Iniciar Compiz Fusion

Como usuario normal, una vez iniciada la sesión en el escritorio de preferencia, ejecutar

$ fusion-icon

o bien

$ fusion-manager

Como he tenido algunos inconvenientes con gtk-window-decorator, les recomiendo iniciar con el decorador de ventanas emerald. Para ello en vez de ejecutar fusion-icon, ejecuten compiz y luego inicien emerald, de la siguiente forma:

$ compiz &
$ emerald &

Eso debería andar; o por lo menos en mi modesta pc con 256 de RAM y 256 de video anda muy lindo.
Bien, por ahora es todo, los dejo para que disfruten de los atractivos efectos y saquen sus propias conclusiones.

De cómo Linus escribió el fsck y comenzó a usar su propio sistema operativo

Un fragmento del artículo en KernelTrap sobre la release 0.10 [2] de Linux:

“… él [Linus] encontró la inspiración para escribir una utilidad fsck para Linux (originalmente sólo capaz de detectar problemas en el sistema de archivos, pero no arreglarlos) cuando accidentalmente escribió sobre su partición minix, «Escribí sobre mi partición minix ayer (no se les ocurra preguntar porqué – algunas cosas mejor olvidarlas :-), y si bien tuve minix-386 levantado y corriendo de nuevo, está algo flojo (sin bash, sin make). Parece que tendré que escribir fdisk/mkfs/fsck para linux así ya no necesitaría tener minix. Salió algo bueno de eso.» En una entrevista del año 2005 [que pueden ver en el cache de Google] Linus ofreció una explicación completa de lo que le pasó a su partición Minix:

“En los inicios cuando estaba haciendo Linux, una de las cosas que hacía era leer las news en Internet desde la computadora de la universidad. Yo discaba a la universidad y generalmente daba ocupado, así que programé un discador automático. [Ese programa] discaría y, si obtenía señal de ocupado, esperaría un minuto y luego discaría nuevamente. Aún no estaba utilizando Linux constantemente, pero estaba usándolo de todas formas. Por error, hice un discado automático a mi disco rígido y básicamente sobrescribí el sistema operativo con las cadenas de discado. Así que tuve que decidir si reinstalaba el sistema operativo que estaba utilizando, o comenzaba a utilizar Linux constantemente. Dije OK, es una señal, empezaré a usar Linux todo el tiempo.

¿habrá errado entre /dev/tty1 y /dev/hd1? geeeezzz.. nos pasa todo el tiempo…

ATZ
ATQ0 V1 E1 S0=0 &C1 &D2
ATDT06109...

Línea de tiempo de distribuciones GNU/Linux

Leo en la edición 209 de Distrowatch Weekly que Andreas Lundqvist ha actualizado en su web la línea de tiempo de distribuciones GNU/Linux. La última edición publicada es la 7.6 y está disponible en formatos PNG y SVG bajo licencia GFDL.

Pueden visualizarla haciendo clic aquí (png, 587kb).

Redes Privadas Virtuales con OpenVPN

Buscando información sobre Redes Privadas Virtuales (VPNs), caí en el sitio de OpenVPN:

OpenVPN es una solución VPN SSL que puede adaptarse a un amplio rango de configuraciones, incluyendo acceso remoto, VPNs sitio-a-sitio, seguridad WiFi, y soluciones de acceso remoto a escala empresarial con balanceo de carga, recuperación ante fallos y controles de acceso granulares. Implementa una extension de red segura en las capas 2 o 3 de OSI usando el protocolo estándar SSL/TLS. Está implementada en espacio de usuario utilizando dispositivos virtuales de red tun/tap y TLS/SSL, entre otras cosas. Y para mejor, es GPL.

Les recomiendo leer la ilustrativa presentación de James Yonan: Understanding the User-Space VPN: History, Conceptual Foundations, and Practical Usage.

Come mis datos: por qué todos malinterpretamos la E/S de archivos

En besttechvideos publicaron un video de la última LinuxConf en Australia donde Stewart Smith, un ingeniero de software de MySQL AB, comenta acerca de cómo debemos proceder para mantener la integridad de los datos en disco al desarrollar una aplicación.

El video está disponible aquí (en flash) o aquí (en ogg).
Como la disertación es en inglés, les dejo una síntesis de lo que Smith comenta:

Una breve introducción

Al comienzo de los tiempos, toda la entrada y salida de archivos era sincrónica; es decir, una llamada a grabar implicaba que los datos llegaban al dispositivo físico en el momento, y el procesamiento se detenía hasta finalizar la operación. Por razones obvias la performance de este método es muy baja, de ahí que surgió la llamada entrada/salida asíncrona, que permite continuar la ejecución del código mientras los datos son leídos o escritos a disco.

Lamentablemente, no existe un mundo sin fallas: las computadoras se cuelgan, se corta la luz, se termina la batería, alguien se tropezó con el cable, etc…

Bien, ¿cuando ocurre un corte de energia, qué es lo que se pierde?

  • Lo que está en buffers de la aplicación
  • Lo que está en buffers de las librerías
  • Lo que está en buffers del S.O. (page/buffer cache)

¿Dónde radican los errores que llevan a la pérdida de datos?

  • En el código de la aplicación
  • En el código de la librería utilizada
  • En el código del kernel del sistema operativo

¿Cuál es el flujo de los datos desde una aplicación hacia el disco, al grabar?

En un resumen burdo: con las funciones fwrite, fprint y otras, la aplicación pasa los datos a la librería (p. ej., glibc); la librería a su vez dirige los datos con write y similares al sistema operativo; y este último hacia el disco mediante page out y flushing periódico realizado entre 5 y 30 segundos (o más si se trata de una laptop). En cualquiera de estos momentos nuestros datos son vulnerables ante una falla de energía.

¿Es
write atómico? ¿Qué pasa si se corta la energía en la mitad de una operación write?

Pues no, y si se corta la energía en la mitad de la operación lo más probable es que la información en el archivo sea un conglomerado entre los datos de la versión anterior y los de la que se estaba guardando.

¿Cómo puede evitarse esto?

El truco más viejo consiste en escribir sobre un archivo temporal y luego renombrar al finalizar la operación de escritura. De esa forma, los datos originales estarían seguros aún si se corta la energía durante la etapa de escritura del archivo temporal. Y nunca tenemos que olvidarnos de las excepciones (permiso denegado, espacio en disco agotado).

¿Hummm… por qué dice estarían en la afirmación anterior?

Aquí tenemos una interesante cuestión. Stewart indica en que close y rename no implican sync. Redondeando, nadie asegura que la operación de cambio de nombre rename se realice después del write y consecuente close, aún estando en el orden correcto. Las operaciones sobre los datos de un archivo (tales como la grabación) se almacenan en buffers diferentes a las operaciones sobre los metadatos (tales como el renombrado), por lo que puede ocurrir (y generalmente ocurre) que estas últimas se realicen primero. En el triste caso de un fallo de energía, habremos perdido la información original por haberse efectuado el cambio de nombre primero, y además tendríamos un archivo corrupto, dado que los datos habrían quedado a medio grabar.

Por suerte para nosotros, el modo ordered del sistema de archivos ext3, nos asegura que el orden de prioridad es: primero write, luego close y luego rename. En otras palabras: primero grabar los datos al disco, luego actualizar el inodo y finalmente actualizar la entrada en el directorio.

Bien, ahora sabemos que haciendo fsync mas la técnica del archivo temporal, sobre un sistema de archivos ext3 y efectuando los controles de errores correspondientes, si ocurre un fallo durante una operación de escritura, los datos originales se mantienen seguros…

¿Qué tal en otras plataformas?

El Sr. Smith nos da una advertencia interesante cuando observa que el estándar POSIX define como válida una implementación de fsync nula. En otras palabras, no podemos quedarnos tranquilos al utilizar fsync en nuestras aplicaciones, pues puede que el sistema operativo subyacente implemente dicha función sólo haciendo nada. O sea, que una fsync implementada como sigue es válida en el estándar POSIX:

int fsync (int fd) { return 0; }

¿Y cómo se dio cuenta?

Cuando se cansó de tener páginas corruptas con MySQL, pues el fsync de MacOS X no descarga a disco el contenido del buffer de escritura, sino que se requiere un fcntl adicional. Así que hay que hacer algunas definiciones diferentes dependiendo del sistema operativo para el cual se compile la aplicación…

En el video, Stewart también discurre con bastante detalle sobre el tratamiento de archivos de gran tamaño y las técnicas utilizadas para la recuperación de datos (undo/redo logs) y prealocación de espacio.

En fin, un poco de charla para espabilar las neuronas y refrescarse con en inglés. Espero que lo disfruten…

FLISOL 2007 – Festival Latinoamericano de Instalación de Software Libre

El 28 de abril próximo se realizará una nueva edición del Festival Latinoamericano de Instalación de Software Libre — FLISOL 2007, el evento de difusión de Software Libre más grande en Latinoamérica que se realiza desde el año 2005 y su principal objetivo es promover el uso del S.L., dando a conocer al público en general su filosofía, alcances, avances y desarrollo.

Para tal fin, las diversas comunidades locales de software libre (en cada país, en cada ciudad/localidad), organizan simultáneamente encuentros en los que se instala de manera gratuita y totalmente legal, software libre en las computadoras que llevan los asistentes. Además, en forma paralela, se ofrecen charlas, ponencias y talleres, sobre temáticas locales, nacionales y latinoamericanas en torno al S.L., en toda su gama de expresiones: artística, académica, empresarial y social.

Luján es una de las ciudades participantes, bajo la organización del Grupo de Usuarios de Software Libre de la Universidad Nacional de Luján (UNLuX). El encuentro será el sábado 28 de abril a las 12:30 hs, en las instalaciones de la Universidad Nacional de Luján, y está dirigido a todo tipo de público: estudiantes, académicos, empresarios, trabajadores, funcionarios públicos, entusiastas y aun personas que no poseen mucho conocimiento informático.

El objetivo principal es compartir conocimientos y ansias de libertad, por ello la asistencia es totalmente libre y gratuita.

Pueden encontrar más información en las direcciones:

http://www.installfest.info/
http://www.installfest.info/FLISOL2007/Argentina/Lujan

Actualización 18/04/2007: Dejo disponibles para descarga el afiche y el folleto de promoción en formato PDF.

Debian GNU/Linux 4.0 es oficialmente estable

Con esto quiero decir que la versión 4.0 (Etch) de Debian Gnu/Linux fue publicada luego de varios meses de desarrollo y constituye hoy en día la distribución estable de nuestro sistema operativo favorito. Para quienes tienen la versión 3.1 (Sarge) hay novedades, ya que también fue actualizada recientemente.

Las notas de publicación de Etch detallan algunas de las características que podemos encontrar:

  • Entornos de escritorio KDE 3.5 y Gnome 2.14 y Xfce 4.4.
  • Instalación con interfaz gráfica.
  • Gestor de paquetes con verificación de integridad y actualización incremental.
  • Once arquitecturas soportadas, con soporte oficial para Intel y AMD de 64 bits
  • Discos de instalación diferentes para cada entorno de escritorio (como ya habiamos visto)

En síntesis, un sistema operativo altamente recomendable, que ya se puede descargar por bittorrent, http/ftp o jigdo.

CD-ROM de materiales de FLOSSIC 2007

En el marco del Congreso Internacional de Sistemas de Software Libre y de Código Abierto desarrollado en Jerez de la Frontera los días 7, 8 y 9 de marzo de 2007 se distribuyó un CD-ROM recopilatorio de documentación digital acerca de software libre.

Entre los contenidos del mismo figuran las actas de los trabajos presentados en el congreso, libros y artículos sobre la filosofía del software libre, documentos, tutoriales, guías y manuales muy completos sobre aplicaciones y sistemas operativos libres.

Pueden acceder a la versión on-line del CD-ROM, aunque les recomiendo que descarguen el contenido del mismo porque es una muy buena compilación.

Van mis felicitaciones a los editores del CD.

Back on track

-“Ha sido un largo tiempo, pero valió la pena.”

Después de un buen período de vacaciones durante todo enero en el cual estuve lo más alejado posible de una computadora, y luego de retomar las labores diarias en febrero, he ingresado a Blogger con los datos de mi cuenta que apenas recordaba.

Si bien no me mantuve desinformado del todo (creo que revisé los feeds 2 veces el primer mes), la verdad es que no recuerdo haber encontrado algo digno de escribir un post.

Por otro lado, lo que yo esperaba que pasara (¡Que saliera Etch!), no pasó por justas razones.

Una de las pocas buenas nuevas es la liberación de la primer versión estable del driver NTFS-3G del cual ya había hablado un tiempito antes.

El otro motivo, y la razón fundamental de este post, es hacerles llegar el detalle de una encuesta realizada por Pingdom (artículo en inglés), una compañía de monitoreo de disponibilidad, donde se investigó acerca de la tecnología detrás de siete sitios populares: Techcrunch, Feedburner, iStockPhoto, YouSendIt, Meebo, Vimeo y Alexaholic. De todas ellas la que más conozco es Meebo (un webmessenger) por utilizarlo bastante seguido.

Los resultados:

  • Todas utilizan Linux exclusivamente, salvo Alexaholic que esta hosteado sobre Windows.
  • Aquellas sobre plataforma Linux utilizan Apache como servidor web, salvo Meebo que utiliza lighttpd.
  • Todas utilizan MySQL como servidor de base de datos.
  • PHP es el lenguaje de scripting de la mayoría.
  • Cinco de los siete sitios usan clustering para su servicio web, y cuatro de ellos para sus bases de datos.

Todas las respuestas están disponibles en esta matriz de infraestructura (pdf).

CDs de instalación de Debian Etch con KDE, XFCE por defecto

Como se veía venir desde septiembre por los mensajes en las listas de correo developers y debian-cd y por el directorio del servidor ftp de imágenes semanales, los muchachos del equipo debian-cd han dejado todo listo para que se genere periódicamente una variedad de tipos de CD y DVD de Debian, cada una con algunas modificaciones para que todos disfrutemos de momentos más placenteros instalando nuestro sistema operativo favorito…

Además de las imágenes generadas a diario netinst (para instalación por red) y businesscard (para minicd y cd-en-tarjeta), semanalmente se generará:

  • Un juego completo de CD y DVD para cada arquitectura.
  • Una versión del CD 1 con paquetes de KDE para cada arquitectura.
  • Una versión del CD 1 con paquetes de XFCE para cada arquitectura (mil gracias!!!!)
  • Un netinst para 3 único para amd64/i686/powerpc
  • Una versión del DVD 1 con fuentes para amd64/i686/powerpc

Esto quiere decir que Dios ha escuchado nuestras súplicas y a partir de ahora podremos instalar Debian con KDE o XFCE POR DEFECTO!!! Ya no será necesario instalar Debian base y luego el resto de paquetes para tener una instalación a medida; ahora solo bastará descargar la imagen del CD 1 con XFCE (o KDE) y podremos tener un escritorio liviano en pocos minutos. Como siempre, si quieren Gnome, simplemente utilicen el CD #1 oficial.

Este estilo de “1 CD por entorno de escritorio” es algo que varios deseabamos desde hace bastante, incluso antes de que surgiera Ubuntu, y me alegra mucho saber que ya lo tenemos disponible aquí en Debian (gracias a Joey Hess). Por supuesto, si tienen la suerte de tener DVD, en el DVD #1 tienen los tres entornos juntos (o al menos eso creo).

Lo que me queda por ver es la selección de paquetes adicionales que contiene cada CD (por ejemplo, yo suelo usar XFCE+WDM en vez de GNOME+GDM), pero eso creo que se podrá arreglar a medida que pase el tiempo.

Bueno, ya para que lo vayan probando…

Mucha suerte…!!!

Actualización 08/03/2007: Debian Etch ya es la distribución estable oficial de Debian GNU/Linux. Pueden obtener los medios de instalación siguiendo este post.

Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress