Para mi segundo post.. ..voy a mostrarles (algo que para algunos quizás les resulte bastante inútil) como cambiar el color de mi protector de pantalla (salvador de pantalla, screensaver) favorito sobre xscreensaver, GLMatrix, el cual que si no lo conocen es simulador de los típicos símbolos cayendo por el monitor al estilo Matrix con lindos efectos 3D. Acá una imágen:
Como soy bastante molesto, y mi computadora está personalizada con los colores negro y el característico azul de Arch Linux (el cual queda estupendo con mi teclado con retroiluminación de color azul xD).. ..el típico color verde de Matrix, no me combina (o como se diría por acá y entre niños, no pega ni con moco).
Para lograr esto, vamos a meter mano en el código fuente del xscreensaver, no se asusten los no experimentados, es simple, y los voy a guiar paso a paso para que lo logren; con esto quiero decirles, que no les voy a dejar las cosas ya masticadas, sino que la idea es que se copen y metan mano..sin miedo.
Manos a la obra..
1- Descargar código fuente de xscreensaver.
Podemos entrar a la página del xscreensaver, y descargamos la última versión del source code (código fuente).
O lo podemos descargar directamente desde la terminal con wget, siempre sabiendo la version del mismo, en este caso 5.20:
$ wget http://www.jwz.org/xscreensaver/xscreensaver-5.20.tar.gz
Lo descomprimimos:
$ tar -xf xscreensaver-5.20.tar.gz
2- Verificar sus dependencias.
Vamos a verificar que tenemos los paquetes necesarios para que se pueda usar el xscreensaver, para esto utilizaremos el ‘configure’. Hay que prestar atención a la salida (output) que nos den, para saber si nos falta algún paquete, o hay algún error. De faltar algún paquete, busquenlo y descarguenlo (puede ser por medio de synaptics, apt, pacman, etcétera – dependiendo de gustos y distros).
-Ingresamos a la carpeta recién descomprimida:
$ cd xscreensaver-5.20/
Ejecutamos lo siguiente:
$ ./configure
3- Verificamos correcto funcionamiento.
De no faltar ningún paquete, ni haber ningún error; procedemos a instalar el xscreensaver, para verificar que funcione correctamente.
Ejecutamos:
$ make
Si no hay errores en el make, como usuario ‘root’ lo instalamos:
# make install
Probamos:
$ xscreensaver-demo
4- Modificar /hacks/glx/glmatrix.c
Habran con su editor de texto favorito (vim, nano, gedit, etc) en mi caso vi, el archivo que vamos a modificar en este caso:
$ vi ./hacks/glx/glmatrix.c
Tienen que encontrar un bloque con la siguiente forma:
{
unsigned long p = XGetPixel (xi, x, y);
unsigned char r = (p >> rpos) & 0xFF;
unsigned char g = (p >> gpos) & 0xFF;
unsigned char b = (p >> bpos) & 0xFF;
unsigned char a = g;
g = 0xFF;
p = (r << rpos) | (g << gpos) | (b << bpos) | (a << apos);
XPutPixel (xi, x, y, p);
}
Y agregamos de la siguiente manera el color deseado:
{
unsigned long p = XGetPixel (xi, x, y);
unsigned char r = (p >> rpos) & 0xFF;
unsigned char g = (p >> gpos) & 0xFF;
unsigned char b = (p >> bpos) & 0xFF;
unsigned char a = g;
r = 0x71;
g = 0x93;
b = 0xD1;
p = (r << rpos) | (g << gpos) | (b << bpos) | (a << apos);
XPutPixel (xi, x, y, p);
}
Siendo en Hexadecimal RGB (red-green-blue)
Por ejemplo, el característico azul de Arch Linux es el: #1793D1, quedando:
r = 0x71;
g = 0x93;
b = 0xD1;
Guardamos los cambios.
5- Recompilamos el nuevo xscreensaver con el glmatrix modificado.
En este punto haremos prácticamente lo mismo que en el punto 2, pero esta vez para plasmar los cambios que hicimos.
Ejecutamos:
$ make clean
Luego:
$ make
Si no salió ninguna clase de error en el make, como usuario ‘root’ ejecutamos:
# make install
6- Ejecutamos, verificamos, configuramos y disfrutamos.
Ejecutamos:
$ xscreensaver-demo
En la lista elegimos GLMatrix:
Y en la presentación debería ya verse del color que eligieron.
Configuren a gusto..y disfruten 😉
7- Algunos ejemplos de distintos colores. (+ TIP)
TIP: para saber un color en Hexadecimal utilizo GIMP, abrimos la paleta de colores y figura como «Notación HTML». También podemos apretar la ‘o‘ y tomar el color de una imágen para saber cual es su color en Hex.
Espero hayan disfrutado tanto como yo en intentarlo y escribirlo.. Cualquier duda no duden en consultar..
Happy hacking..
pues si se ve bonito y todo pero no hay nada como el clasico color verde buen tuto saludos.
Gracias por tu coment.. ..está claro que lo clásico es lo clásico..
Pero lo más divertido de esto (por lo menos para mí) y lo que me impulsó a hacerlo.. ..es saber que al tener frente a nosotros el código fuente..es como decir «tengo Linux, y como lo quiero cambiar.. ..puedo!..»..
Gracias por leer.. 😉
Excelente artículo , quién se iba a imaginar que de un tema tan elemental o sencillo como es un screensaver , ibamos a tener toda una clase de compilación , modificación e instalación del mismo.
Gracias!.. ..me alegro que te interese..
Para mí fue toda una odisea de aprendizaje también ;)..
hayalguna diferencia con usar:
$ sudo pacman -S xscreensaver
Para que parte?.. ..si te referís al punto 2 y 3 para verificar si funciona..en tu caso si usas Arch..sí, es lo mismo..ya que siempre tenemos la última versión.. ..pero para otras distros puede que no sea igual..
Por otro lado..si no descargás el código fuente.. ..no podrías hacer la modificación de color..que es el objetivo de este post..
Respondí tu pregunta?..
ok gracias por el dato ^_^
Muchas gracias!!
Resulta muy interesante el procedimiento.
Saludos!
Gracias por el aporte 😀
Is it possible for you to share the modified model with the color red? thanks