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

Entornos GráficosAplicaciones

DesarrolloEmuladoresInternetJuegosMultimediaSistema

GráficosSonidoVídeo

Visores Gráficos - GViewVisores Gráficos - XnViewMP

Visores Gráficos - Nomacs




Visores Gráficos - Nomacs




Copyright

Copyright © José Luis Lara Carrascal  2012-2024   http://manualinux.es



Sumario

Introducción
Preliminares
Instalación
Traducción al español alternativa de Nomacs
Iniciamos Nomacs
Enlaces




Introducción  

Nomacs
es un sencillo visor de imágenes escrito en C++ y Qt, con soporte de los formatos de imágenes más comunes, incluido el RAW. Quizá la característica más destacable es el soporte de sincronización de directorios de imágenes, ya sea de forma local o remota. Junto al manual se incluye la traducción al español alternativa del programa.



Preliminares  

1) Comprobar que la ruta de instalación de los binarios del programa la tenemos en nuestro PATH


Abrimos una ventana de terminal y ejecutamos el siguiente comando:

[jose@Fedora-18 ~]$ echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/jose/bin

Si no aparece entre las rutas mostradas el directorio /usr/local/bin, abrimos un editor de texto y añadimos lo siguiente:

#!/bin/sh

export PATH=/usr/local/bin:$PATH

Lo guardamos con el nombre variables.sh, y lo instalamos en /etc/profile.d.

$ su -c "install -m755 variables.sh /etc/profile.d"

Tenemos que cerrar el emulador de terminal y volverlo a abrir para que la variable de entorno aplicada sea efectiva. Es conveniente guardar una copia de este script para posteriores instalaciones de nuestro sistema, teniendo en cuenta que es el que se va a utilizar a partir de ahora en todos los manuales de esta web, para establecer variables de entorno globales, excepto en aquellas que sólo afectan al usuario, en las que se utilizará el archivo de configuración personal, ~/.bashrc.

La ventaja de utilizar el directorio /etc/profile.d es que es común a todas las distribuciones y nos evita tener que editar otros archivos del sistema como por ejemplo, /etc/profile.

2) Comprobar que el directorio /usr/local/lib64 está incluido en /etc/ld.so.conf

En este apartado, no todas las distribuciones incluyen los directorios de las librerías compartidas a cachear por ldconfig en el archivo de configuración, /etc/ld.so.conf, también utilizan el directorio /etc/ld.so.conf.d, por lo que su edición sólo será necesaria en el caso de que el comando ldconfig no cachee las librerías compartidas ubicadas en /usr/local/lib64, en ese caso, abrimos con un editor de texto, el archivo de configuración /etc/ld.so.conf y añadimos la ruta correspondiente. Un ejemplo:

/usr/X11R6/lib/Xaw3d
/usr/X11R6/lib
/usr/lib/Xaw3d
/usr/i386-suse-linux/lib
/usr/local/lib64
/opt/kde3/lib
include /etc/ld.so.conf.d/*.conf
 
3) Desinstalar versiones anteriores del programa ubicadas en el directorio /usr

Aún en el caso de que la versión a compilar la vayamos a instalar en el mismo directorio que la que proporciona la distribución, siempre se debe desinstalar previamente la versión antigua, para evitar conflictos innecesarios.



Instalación  

Dependencias

Herramientas de Compilación


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

* GCC - (13.2.0) o Clang - (17.0.6)
* CMake - (3.28.3)
* Make - (4.4.1)
* Pkg-config - (0.29.2)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 21.1.11)
* Exiv2 - (0.28.2)
* LibRaw - (0.21.2)
* LibTIFF - (4.6.0)
* OpenCV - (4.9.0)
* Qt5 - (5.15.12)
* QuaZIP - (1.4)
* Zlib - (1.3.1)

Plugins de Qt

* Qt-heif-image-plugin - (0.3.3) - opcional

Aplicaciones

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

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



Descarga

nomacs-3.17.2295.tar.xz

Firma Digital  Clave pública PGP

nomacs-3.17.2295.tar.xz.asc

Verificar la firma digital del paquete

$ gpg --import manualinux.asc
$ gpg --verify nomacs-3.17.2295.tar.xz.asc nomacs-3.17.2295.tar.xz

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.
Unified LTO
LTO >> ThinLTO
$ export {C,CXX}FLAGS+=' -flto -funified-lto'
$ export LDFLAGS+=' -Wl,--lto=thin'
ThinLTO >> LTO
$ export {C,CXX}FLAGS+=' -flto=thin -funified-lto'
$ export LDFLAGS+=' -Wl,--lto=full'
La aplicación de esta optimización es aplicable, a partir de Clang 17, y sólo es combinable con LLD.

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=$(expr $(nproc) / 2)"
Optimizaciones complementarias ThinLTO de LLD
$ export LDFLAGS+=" -Wl,--thinlto-jobs=$(expr $(nproc) / 2)"

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 Jxvf nomacs-3.17.2295.tar.xz
$ cd nomacs-3.17.2295
$ mkdir build; cd build
$ export PATH=$(pkg-config --variable=host_bins Qt5Core):$PATH
$ cmake -DCMAKE_PREFIX_PATH=$(pkg-config --variable=libdir Qt5Core)/cmake \
-DENABLE_TRANSLATIONS=ON -DLIB_SUFFIX=64 -DUSE_SYSTEM_QUAZIP=ON ../

Explicación de los comandos

export PATH=$(pkg-config --variable=host_bins Qt5Core):$PATH : Si hemos instalado Qt5 en un directorio no habitual, le indicamos la ruta correspondiente a los binarios ejecutables del mismo.

-DCMAKE_PREFIX_PATH=$(pkg-config --variable=libdir Qt5Core)/cmake : Si hemos instalado Qt5 en un directorio no habitual, le indicamos la ruta correspondiente a los archivos de configuración de CMake que se instalan con el mismo.

-DENABLE_TRANSLATIONS=ON : Activa la compilación y la instalación de las traducciones del programa.

-DLIB_SUFFIX=64 : Instala la librería de Nomacs y el directorio de los plugins, en /usr/local/lib64, en sistemas de 64 bits multiarquitectura. La ubicación y el nombre de este directorio, puede variar en función de la distribución que cada usuario use.

-DUSE_SYSTEM_QUAZIP=ON : Utiliza la librería QuaZIP instalada en el sistema en lugar de compilar e integrar de forma estática, la proporcionada por el paquete.

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
# ln -s
/usr/local/lib64/nomacs-plugins $(pkg-config --variable=libdir Qt5Core)
# ldconfig -v
# cd ..
# for i in /usr/local/share/icons/hicolor ; do \
install -dm755 $i/{16x16,24x24,32x32,48x48,64x64}/apps ; \
convert -resize 64 -background transparent nomacs.svg $i/64x64/apps/org.nomacs.ImageLounge.png ; \
convert -resize 48 -background transparent nomacs.svg $i/48x48/apps/org.nomacs.ImageLounge.png ; \
convert -resize 32 -background transparent nomacs.svg $i/32x32/apps/org.nomacs.ImageLounge.png ; \
convert -resize 24 -background transparent nomacs.svg $i/24x24/apps/org.nomacs.ImageLounge.png ; \
convert -resize 16 -background transparent nomacs.svg $i/16x16/apps/org.nomacs.ImageLounge.png ; \
gtk-update-icon-cache -tf $i &> /dev/null ; \
done

Explicación de los comandos

ln -s /usr/local/lib64/nomacs-plugins $(pkg-config --variable=libdir Qt5Core) : Crea un enlace simbólico de la ubicación del directorio de plugins de Nomacs, al directorio de instalación de las librerías de Qt5, ya que el programa le da por establecer esta ubicación como la predefinida, a la hora de cargar los plugins.

for i in /usr/local/share/icons/hicolor..... : Crea e instala los iconos del programa que no proporciona el paquete, en sus diferentes medidas compatibles con el estándar de tamaño de icono de freedesktop.org.

Borrar las locales adicionales instaladas

# for i in af als ar az bg br_pt bs ca cs da de el en et fi fr he hi hr \
hu id it ja ko no nl pl pt ro ru sk sl sr sv tr uk vi tw_zh zh zh_CN ; do \
rm -f /usr/local/share/nomacs/Image\ Lounge/translations/nomacs_$i.qm &> /dev/null ; \
done

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

Estadísticas de Compilación e Instalación de Nomacs
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.7.8-ml SMP PREEMPT_DYNAMIC x86_64
Modo de frecuencia de la CPU powersave (balance performance)
Planificador de CPU BORE
Versión de Glibc 2.39
Enlazador dinámico LLD 17.0.6
Compilador Clang 17.0.6 + BuildCache 0.28.9
Parámetros de optimización -03 -march=znver3 -mtune=znver3 -mllvm -polly -mllvm -polly-vectorizer=stripmine -flto -funified-lto -Wl,--lto=thin -Wl,--thinlto-jobs=6 -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=memcpyopt
Parámetros de compilación VERBOSE=1 -j12
Tiempo de compilación 15"
Archivos instalados 20
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 13
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 4,8 MB

Consumo inicial de CPU y RAM de Nomacs

Consumo inicial de CPU y RAM de Nomacs
Programa
CPU RAM
nomacs 0 % 190,1 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.

Directorio de configuración personal

~/.config/nomacs Es el directorio de configuración personal de Nomacs en nuestro home.

Desinstalación como root

1) MODO TRADICIONAL

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

2) MODO MANUALINUX

nomacs-3.17.2295-scripts.tar.gz

$ su
# tar zxvf nomacs-3.17.2295-scripts.tar.gz
# cd nomacs-3.17.2295-scripts
# ./Desinstalar_nomacs-3.17.2295

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 nomacs-3.17.2295-scripts.tar.gz
# cd nomacs-3.17.2295-scripts
# ./Respaldar_nomacs-3.17.2295

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_nomacs-3.17.2295



Traducción al español alternativa de Nomacs  

Descarga

Nomacs_es-ML0.run

Firma Digital  Clave pública PGP

Nomacs_es-ML0.run.asc 

Verificar la firma digital del paquete

$ gpg --import manualinux.asc 
$ gpg --verify Nomacs_es-ML0.run.asc Nomacs_es-ML0.run

Instalación como root

$ su -c "sh Nomacs_es-ML0.run"



Iniciamos Nomacs  

Sólo nos queda teclear en una terminal o en un lanzador el comando nomacs y el programa aparecerá en la pantalla. La primera vez que se inicie se mostrará una ventana de selección de idioma, en la que podremos seleccionar el nuestro.


Captura - Nomacs - 1


Captura - Nomacs - 2


Captura - Nomacs - 3




Enlaces  


http://www.nomacs.org >> La web de Nomacs.


Foro Galería Blog


Actualizado el 04-03-2024

Visores Gráficos - Nomacs

Visores Gráficos - GViewVisores Gráficos - XnViewMP