Esto ya es rozar el “frikismo“, pero me dije, por que no tener mi propio codigo Java como screensaver o fondo de pantalla animado. Le daria un toque “especial” y mas personal a mi equipo.Si no eres programador tampoco te preocupes, no tiene que ser necesariamente codigo, podemos emplear cualquier otro fichero de texto. La idea es utilizar un screensaver que ya existe llamado phosphor.
Este screensaver muestra lineas de texto por la pantalla que lee a partir de un fichero de texto. Asi que puedes mostrar lo que quieras. Veamos como podemos conseguir este curioso efecto con nuestro codigo. El tutorial esta adaptado de la siguiente direccion, en la que como ejemplo usa el codigo del kernel del propio Linux, yo he preferido usar mi propio codigo, que tengo guardado generalmente en /home/jose/workspace (uso Eclipse para Java).
Necesitamos compilar una pequeña utilidad que se encuentra en la direccion anteriormente citada. Bajate el codigo fuente desde aqui y ejecuta:
$ sudo apt-get install build-essentials
$ tar -vxzf argshuf.tar.gz
$ cd argshuf
$ make
$ sudo make install
Esta utilidad es muy simple, lee una lista de valores que se le pasan como parametro y al azar muestra uno de ellos, si no quieres usar esta utilidad, podrias implementar un shell script o programa generador de texto que hiciera algo parecido.
Una vez instalada esta utilidad podemos p.ej mostrar el contenido de algun fichero aleatorio del directorio actual, ejecutando:
cat `find . -type f | argshuf`
Breve explicacion del comando:
find . -type f : nos muestra los nombres de los ficheros del directorio actual
| argshuf : de la lista anterior de nombres, se la enviamos con una pipe al comando “argshuf”, el efecto es que de toda la lista, solo se queda con uno de ellos (al azar)
cat : con ese fichero elegido al azar, hace un cat del mismo, es decir, muestra su contenido.
Yo me he creado un shell script llamado java.sh que me muestra el contenido de uno de mis ficheros .java en mi espacio de trabajo, seria similar al siguiente:
Código:
#!/bin/bash
# me voy a mi directorio /home/jose/workspace y muestro al azar el contenido de un .java
cat `find /home/jose/workspace/ -name '*.java' | argshuf`
Si no eres programador, como he comentado antes, puedes hacerlo con tus ficheros .txt o cualquier fichero de texto que quisieras mostrar.
Ahora para lanzar el screensaver, como root, nos colocamos en el directorio donde estan los ejecutables de los screensaver (/usr/lib/xscreensaver) y lo invocamos como:
./phosphor
Si te da error, tal vez no lo tengas instalado, ejecuta:
Código:
$ sudo apt-get install xscreensaver-data-extra
Pero realmente no nos interesa ejecutar el screensaver por defecto, sino pasarle el texto que queremos mostrar, asi que ejecutamos:
Código:
root@soledad:/usr/lib/xscreensaver# ./phosphor -program ./java.sh
y para que sea a pantalla completa:
Código:
$ ./phosphor -root -delay 57846 -scale 2 -ticks 13 -program ./java.sh
Si te gusta el resultado, ya solo nos queda editar el fichero de configuracion del screensaver:
Código:
$ sudo gedit /usr/share/applications/screensavers/phosphor.desktop
Para sustituir la linea que invoca al comando:
Código:
Exec=phosphor -root
por la siguiente:
Código:
Exec=phosphor -root -delay 57846 -scale 2 -ticks 13 -program /tu_ruta/tu_programa
Sustituyendo tu_ruta/tu_programa por ese programa o shell script tuyo, que muestra un texto al azar.
Ademas nos puede venir bien para depurar nuestro codigo sobre la marcha.
DESDE
ubuntulife.net Original en
ayozone.org