Manualinux
http://www.nvu.com http://www.gimp.org InicioPresentaciónActualizacionesManualesDescargasNoticiasAgradecimientoEnlaces

Entornos GráficosAplicaciones

Administradores de SesionesAdministradores de VentanasEscritoriosUtilidades de Escritorio

Utilidades de Escritorio - WallpaperdUtilidades de Escritorio - Wbar

Utilidades de Escritorio - Wally




Utilidades de Escritorio - Wally




Copyright

Copyright © José Luis Lara Carrascal  2008-2023   manualinux.eu



Sumario

Introducción
Instalación
Configurar el inicio de Wally
Iniciamos Wally
Atajos de teclado
Paquetes binarios
Enlaces




Introducción  

Wally
es un gestor de fondos de escritorio escrito en Qt4, permite cambiar de fondo cada cierto tiempo, descargar imágenes de servicios web como Flickr, Panoramio y Pikeo entre otros, con la opción de guardarlas en el disco duro, tiene soporte de bandeja del sistema y es compatible con algunos de los entornos gráficos más conocidos de GNU/Linux. Su autor se ha inspirado en el programa de Windows del mismo tipo, John's Background Switcher.



Instalación

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado Wally para la elaboración de este documento.

* GCC - (13.2.0) o Clang - (16.0.6)
* CMake - (3.27.2)
* Make - (4.4.1)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 21.1.8)
* Libexif - (0.6.24)
* Qt4 - (4.8.7)

Aplicaciones

* Convert (ImageMagick) - (7.1.1-15) [1]

[1] Requerido para poder crear los iconos del archivo desktop.



Descarga

wally-2.4.5.tar.gz

Optimizaciones

$ export {C,CXX}FLAGS='-O3 -march=znver3 -mtune=znver3'

Donde pone znver3 se indica el procesador respectivo de cada sistema seleccionándolo de la siguiente tabla:
Nota informativa sobre las optimizaciones para GCC
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado. 

* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.

* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
Nota informativa sobre las optimizaciones para Clang
* La opción '-mtune=' está soportada a partir de la versión 3.4 de Clang.

* Los valores de color azul no son compatibles con Clang.

* Las filas con el fondo de color amarillo son valores exclusivos de Clang y, por lo tanto, no son aplicables con GCC.
Valores CPU
Genéricos
Intel
AMD

Optimizaciones adicionales

Optimizaciones adicionales
GCC
Graphite
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
IPA
$ export {C,CXX}FLAGS+=' -fipa-pta'
LTO
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=auto'
En versiones inferiores a GCC 10, sustituir auto por el número de núcleos que tenga nuestro procesador. Si sólo tiene uno, utilizar el parámetro -flto
Clang
Polly
$ export {C,CXX}FLAGS+=' -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine'
LTO
$ export {C,CXX}FLAGS+=' -flto'
ThinLTO
$ export {C,CXX}FLAGS+=' -flto=thin'
La aplicación de esta optimización es alternativa a la tradicional LTO, a partir de Clang 3.9 y, por lo tanto, no es combinable con la misma.

Parámetros adicionales

Parámetros adicionales de eliminación de avisos en el proceso de compilación
$ export {C,CXX}FLAGS+=' -w'

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64 -L/opt/gcc13/lib64"
Cada usuario tendrá que establecer la ruta de búsqueda de directorios, en función de la distribución que utilice.

Establecer el uso de enlazador dinámico para Mold
$ export LDFLAGS+=' -fuse-ld=mold'

Establecer el uso de enlazador dinámico para LLD
Clang
$ export LDFLAGS+=' -fuse-ld=lld'
Optimizaciones complementarias LTO/ThinLTO de LLD
$ export LDFLAGS+=' -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=memcpyopt'
Optimizaciones complementarias LTO de LLD
$ export LDFLAGS+=" -Wl,--lto-partitions=$(nproc)"
Optimizaciones complementarias ThinLTO de LLD
$ export LDFLAGS+=" -Wl,--thinlto-jobs=$(nproc)"

Establecer la variable de entorno de uso de compilador para Clang
$ export CC=clang CXX=clang++

Extracción y Configuración  Bloc de Notas Información general sobre el uso de los comandos

$ tar zxvf wally-2.4.5.tar.gz
$ cd wally-2.4.5/build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..

Explicación de los comandos

-DCMAKE_INSTALL_PREFIX=/usr : Este parámetro sólo es requerido si tenemos instalado KDE 4, para la ubicación del plugin del programa para este entorno de escritorio, ya que el binario ejecutable wally, siempre se instala en /usr/bin, aunque no utilicemos este parámetro de configuración del paquete.

-DCMAKE_BUILD_TYPE=Release : Compila la versión optimizada del programa.

Compilación

$ make

Parámetros de compilación opcionales

VERBOSE=1 : Muestra más información en el proceso de compilación.

-j$(nproc): Establece el número de procesos de compilación en paralelo, en función del número de núcleos e hilos que tenga nuestro procesador, tomando como referencia la información mostrada por el sistema con el comando correspondiente. Si nuestro procesador es mononúcleo de un solo hilo, no añadir esta opción.

Instalación como root

$ su
# make install/strip
# for i in /usr/share/icons/hicolor ; do \
install -dm755 $i/{16x16,24x24,32x32,48x48}/apps ; \
convert -resize 48 ../res/images/wally.png $i/48x48/apps/wally.png ; \
convert -resize 24 ../res/images/wally.png $i/24x24/apps/wally.png; \
convert -resize 16 ../res/images/wally.png $i/16x16/apps/wally.png ; \
install -m644 ../res/images/wally.png $i/32x32/apps ; \
gtk-update-icon-cache -tf $i &> /dev/null ; \
done

Creación del archivo wally.desktop

Para que Wally sea detectado por los menús de entornos gráficos como XFce 4 o paneles como LXPanel ó Fbpanel, creamos el archivo desktop correspondiente con cat o con un editor de texto: 

# cat > wally.desktop << "EOF"
[Desktop Entry]
Name=Wally
GenericName=Wally
Comment=Un conmutador de fondos de escritorio
Exec=wally
Icon=wally
Categories=Application;Utility
Type=Application
EOF

Luego lo instalamos en /usr/share/applications. La desinstalación y respaldo de este archivo viene incluida en los scripts correspondientes proporcionados en este manual.

# install -dm755 /usr/share/applications
# install -m644 wally.desktop /usr/share/applications

Estadísticas de Compilación e Instalación de Wally

Estadísticas de Compilación e Instalación de Wally
CPU AMD Ryzen 5 5500
MHz 3593.250 (BoostMax=4457.000)
RAM 32 GB
Tarjeta gráfica AMD Radeon RX 580 2048SP
Controlador de gráficos AMDGPU 23.0.0
Sistema de archivos XFS
Versión del Kernel 6.4.10-ml SMP PREEMPT_DYNAMIC x86_64
Modo de frecuencia de la CPU powersave (balance performance)
Versión de Glibc 2.38
Enlazador dinámico LLD 16.0.6
Compilador Clang 16.0.6
Parámetros de optimización -03 -march=znver3 -mtune=znver3 -mllvm -polly -mllvm -polly-vectorizer=stripmine -flto=thin -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=memcpyopt
Parámetros de compilación VERBOSE=1 -j12
Tiempo de compilación 13"
Archivos instalados 6
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 2,9 MB

Consumo inicial de CPU y RAM de Wally

Consumo inicial de CPU y RAM de Wally
Programa
CPU RAM
wally 0 % 64,2 MB
Para medir el consumo de CPU se utiliza el programa top, y para medir el consumo de RAM se utiliza el script de Python, ps_mem.py, creado por Pádraig Brady, que podemos encontrar en este enlace.

Directorios de configuración personal

~/.config/BeCrux Es el directorio de configuración personal de Wally en nuestro home.
~/.config/BeCrux/wally.conf Es el archivo de configuración de Wally.
~/.wally Es el directorio en el que Wally guarda en formato PNG el archivo de imagen que en ese momento esté utilizando como fondo de escritorio. Además es el directorio donde se guardan las imágenes que se descargan desde internet cuando se utilizan los servicios web, Flickr y Panoramio, entre otros, en el caso de que no se haya especificado un directorio alternativo desde las opciones de configuración del programa.
~/.wally/run Es el directorio que almacena el archivo *.pid de ejecución de Wally.
~/.wally/thumbs Es el directorio que contiene el archivo de la base de datos de las miniaturas que se muestran en la interfaz del programa.

Desinstalación como root

1) MODO TRADICIONAL

Este programa no tiene soporte para desinstalación con el comando 'make uninstall'

2) MODO MANUALINUX

El principal inconveniente del comando anterior es que tenemos que tener el directorio de compilación en nuestro sistema para poder desinstalar el programa. En algunos casos esto supone muchos megas de espacio en disco. Con el paquete de scripts que pongo a continuación logramos evitar el único inconveniente que tiene la compilación de programas, y es el tema de la desinstalación de los mismos sin la necesidad de tener obligatoriamente una copia de las fuentes compiladas.

wally-2.4.5-scripts.tar.gz

$ su
# tar zxvf wally-2.4.5-scripts.tar.gz
# cd wally-2.4.5-scripts
# ./Desinstalar_wally-2.4.5

Copia de Seguridad como root

Con este otro script creamos una copia de seguridad de los binarios compilados, recreando la estructura de directorios de los mismos en un directorio de copias de seguridad (copibin) que se crea en el directorio /var. Cuando se haya creado el paquete comprimido de los binarios podemos copiarlo como usuario a nuestro home y borrar el que ha creado el script de respaldo, teniendo en cuenta que si queremos volver a restaurar la copia, tendremos que volver a copiarlo al lugar donde se ha creado.

$ su
# tar zxvf wally-2.4.5-scripts.tar.gz
# cd wally-2.4.5-scripts
# ./Respaldar_wally-2.4.5

Restaurar la Copia de Seguridad como root

Y con este otro script (que se copia de forma automática cuando creamos la copia de respaldo del programa) restauramos la copia de seguridad como root cuando resulte necesario.

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_wally-2.4.5



Configurar el inicio de Wally  

Wally al ser ejecutado, coloca un icono en la bandeja del sistema (systray) desde el cual tenemos acceso a todas las funciones del programa. Aunque su autor dice que para aquellos administradores de ventanas que no soportan bandeja del sistema, ya sea de forma nativa o mediante el uso adicional de aplicaciones auxiliares como Trayer, Stalonetray o Docker, el programa dispone de los habituales atajos de teclado, he comprobado que sin bandeja del sistema, el programa no funciona.

Si queremos que al inicio del mismo, se active de forma automática la rotación temporal de los fondos y además coloque uno, es decir, realice las funciones de setter al mismo tiempo, sustituyendo al habitual de cada entorno, tendremos que marcar las opciones que se muestran en la captura de pantalla siguiente, y a las que accedemos desde el menú que se despliega al hacer clic con el botón derecho sobre el icono que se muestra en la bandeja del sistema o mediante el atajo de teclado: CTRL+MAYÚS+S

Captura Wally - 1

Para añadir imágenes o directorios de imágenes lo mejor es utilizar la sección de Archivos, para eliminarlas todas de la lista, las seleccionamos con CTRL+A y hacemos clic sobre el botón de eliminar. Respecto a las diferentes opciones de posición de la imagen, la mejor es la de Escalado proporcional, porque respeta la proporción de aspecto, ajustando el tamaño de cada imagen al tamaño de la resolución de la pantalla.

1) Blackbox


Siguiendo el método que se utiliza en el manual de Blackbox lo añadimos al script ~/.blackbox/autostart de la siguiente forma,

#!/bin/sh

(sleep 2; bbkeys &) &
docker &
sleep 8; wally &

2) Fluxbox

Añadimos el comando de ejecución en la sección correspondiente del script de inicio ~/.fluxbox/startup,

# Applications you want to run with fluxbox.
# MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&'' AT THE END.
#
# unclutter -idle 2 &
# wmnd &
# wmsmixer -w &
wmix &
sleep 8; wally &

3) Fvwm

Creamos un script como el de XFce 4 y añadimos el comando de ejecución en la sección correspondiente del archivo autostart, cuya configuración se explica en el manual de Fvwm.

AddToFunc StartFunction  I     Test (Init) Exec exec xscreensaver
AddToFunc StartFunction  I     Test (Init) Exec exec startwally

Aunque su autor dice que es compatible con FVWM, en las pruebas que he realizado no funciona, aún así dejo esta información para los que lo quieran probar.

4) XFce 4

Crearemos un script de ejecución de Wally, para darle un retardo a su ejecución y se pueda integrar de forma correcta en la bandeja del sistema de XFce 4, abrimos un editor de texto y añadimos lo siguiente:

#!bin/sh

sleep 6; wally &

Lo guardamos como startwally, le damos permisos de ejecución y lo copiamos a cualquier directorio /bin que tengamos en nuestro PATH, en mi caso lo copio al que tengo en mi home.

$ chmod +x startwally
$ cp startwally ~/bin

Abrimos un editor de texto y añadimos lo siguiente:

[Desktop Entry]
Type=Application
Name=Wally
Comment=
Exec=startwally
StartupNotify=false
Terminal=false
Hidden=false
OnlyShowIn=XFCE;

Lo guardamos con el nombre wally.desktop y lo copiamos a ~/.config/autostart.

$ mkdir -p ~/.config/autostart
$ cp wally.desktop ~/.config/autostart

El resto de administradores de ventanas no son compatibles con Wally, excepto Window Maker, pero en este caso particular, sólo funciona con un escritorio virtual, ya que Window Maker cuando cambiamos de escritorio, vuelve a conmutar el fondo de escritorio que esté utilizando por defecto en ese momento.



Iniciamos Wally  


Captura Wally - 2


Captura Wally - 3


Captura Wally - 4




Atajos de teclado del programa  

CTRL + MAYÚS + A Muestra la ventana "Acerca de".
CTRL + MAYÚS + S Muestra la ventana de opciones.
CTRL + MAYÚS + N Cambia a la siguiente imagen.
CTRL + MAYÚS + Q Termina el programa.
CTRL + MAYÚS + D Guarda la imagen actual.
CTRL + MAYÚS + P Activa/Pausa la rotación temporal de la imagen del fondo de escritorio.
CTRL + MAYÚS + I Obtiene la información EXIF del archivo de imagen.
CTRL + MAYÚS + H Muestra el historial de imágenes descargadas.
CTRL + MAYÚS + W Explora el directorio donde se encuentra la imagen.



Enlaces  


http://www.becrux.com >> La web de Wally

http://sourceforge.net/projects/wally/ >> La página del proyecto en SourceForge


Foro Galería Blog


Actualizado el 14-08-2023

Utilidades de Escritorio - Wally

Utilidades de Escritorio - WallpaperdUtilidades de Escritorio - Wbar