per a mi segon post.. .. els mostraré (cosa que per a alguns potser els resulti bastant inútil) com canviar el color del meu estalvi de pantalla (salvador de pantalla, screensaver) favorit sobre xscreensaver, GLMatrix, el qual que si no el coneixen és simulador dels típics símbols caient pel monitor a l'estil Matrix amb bonics efectes 3D. Aquí una imatge:
Com que sóc força molest, i el meu ordinador està personalitzada amb els colors negre i el característic blau de Arch Linux (el qual queda fantàstic amb el meu teclat amb retroil·luminació de color blau xD).. ..el típic color verd de Matrix, no em combina (o com es diria per aquí i entre nens, no pega ni amb moc).
Per aconseguir això, anem a ficar mà al codi font del xscreensaver, no s'espanten els no experimentats, és simple, i els vaig a guiar pas a pas perquè ho aconsegueixin; amb això vull dir-los, que no els deixaré les coses ja mastegades, sinó que la idea és que es copin i fiquin mà..sense por.
Mans a l'obra ..
1- Descarregar codi font de xscreensaver.
Podem entrar a la pàgina del xscreensaver, i descarreguem la darrera versió del codi font (codi font).
O ho podem descarregar directament des de la terminal amb wget, sempre sabent la versió del mateix, En aquest cas 5.20:
$ wget http://www.jwz.org/xscreensaver/xscreensaver-5.20.tar.gz
El descomprimim:
$ tar -xf xscreensaver-5.20.tar.gz
2- Verificar les seues dependències.
Verificarem que tenim els paquets necessaris perquè es pugui fer servir el xscreensaver, per això utilitzarem el 'configure'. cal prestar atenció a la sortida (sortida) que ens donin, per saber si ens falta algun paquet, o hi ha algun error. De faltar algun paquet, busqueu-lo i descarregueu-lo (pot ser per mitjà de synaptics, apt, pacman, etcètera – depenent de gustos i distros).
-Ingressem a la carpeta recent descomprimida:
$ cd xscreensaver-5.20/
Executem el següent:
$ ./configure
3- Verifiquem correcte funcionament.
De no faltar cap paquet, ni haver-hi cap error; procedim a instal·lar el xscreensaver, per verificar que funcioni correctament.
executem:
$ make
Si no hi ha errors al make, com a usuari 'Root' ho instal·lem:
# make install
Provem:
$ xscreensaver-demo
4- Modificar /hacks/glx/glmatrix.c
Hauran amb la seva editor de text favorit (vim, nano, gedit, etc) en el meu cas vaig veure, l'arxiu que modificarem en aquest cas:
$ vi ./hacks/glx/glmatrix.c
Han de trobar un bloc amb la següent formulari:
{
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 afegim de la següent manera el color desitjat:
{
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);
}
Sent a Hexadecimal RGB (red-green-blue)
Per exemple, el característic blau de Arch Linux és el: #1793D1, quedant:
r = 0x71;
g = 0x93;
b = 0xD1;
guardem els canvis.
5- Recompilem el nou xscreensaver amb el glmatrix modificat.
En aquest punt farem pràcticament el mateix que al Punt 2, però aquesta vegada per plasmar els canvis que vam fer.
executem:
$ make clean
després:
$ make
Si no va sortir cap mena d'error al make, com a usuari 'Root' executem:
# make install
6- Executem, verifiquem, configurem i gaudim.
executem:
$ xscreensaver-demo
A la llista triem GLMatrix:
I en la presentació ja s'hauria de veure del color que van triar.
Configureu a gust..i gaudeixin ;)
7- Alguns exemples de diferents colors. (+ TIP)
TIP: per saber un color en Hexadecimal utilitzo GIMP, obrim la paleta de colors i figura com «Notació HTML». També podem prémer la 'o' i prendre el color d'una imatge per saber quin és el seu color a Hex.
Espero hagin gaudit tant com jo a intentar-ho i escriure'l. Qualsevol dubte no dubtin a consultar.
Happy hacking..
doncs si es veu bonic i tot però no hi ha res com el clàssic color verd bon tuto salutacions.
Gràcies pel teu coment.. ..està clar que el clàssic és el clàssic..
Però el més divertit d'això (almenys per a mi) i el que em va impulsar a fer-ho.. ..és saber que en tenir davant nostre el codi font..és com dir «tinc Linux, i com ho vull canviar. . ..puc!..»..
Gràcies per llegir.. 😉
Excel·lent article, qui s'imaginaria que d'un tema tan elemental o senzill com és un screensaver, tindríem tota una classe de compilació, modificació i instal·lació del mateix.
Gràcies!.. ..m'alegro que t'interessi..
Per mi va ser tota una odissea daprenentatge també ;)..
hi ha alguna diferència amb utilitzar:
$ sudo pacman -S xscreensaver
Perquè parteix?.. ..si et referiu al punt 2 i 3 per verificar si funciona..en el vostre cas si uses Arch..sí, és el mateix..ja que sempre tenim l'última versió.. ..però per a altres distros potser no sigui igual.
D'altra banda..si no descarregues el codi font.. ..no podries fer la modificació de color..que és l'objectiu d'aquest post..
Vaig respondre la teva pregunta?..
ok gràcies per la dada ^_^
Moltes gràcies !!
És molt interessant el procediment.
Salutacions!
Gràcies per l'aportació 😀
És possible per a vostè share modificant el model amb el color xarxa? thanks