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

Entornos GráficosAplicaciones

DesarrolloEmuladoresInternetJuegosMultimediaSistema

GráficosSonidoVídeo

Visores Gráficos - DanpeiVisores Gráficos - Geeqie

Visores Gráficos - Feh




Visores Gráficos - Feh




Copyright

Copyright © José Luis Lara Carrascal  2009-2017   http://manualinux.eu



Sumario

Introducción
Características
Instalación
Opciones de línea de comandos
Configuración
Atajos de teclado
Ejemplos de uso
Utilizar Feh para activar el fondo de escritorio
Utilizar Feh con los administradores de archivos
Iniciamos Feh
Enlaces




Introducción  

Feh
es sin lugar a dudas, el mejor visor de imágenes de línea de comandos que existe en GNU/Linux, y un ejemplo de hasta donde puede llegar el potencial de las librerías de manipulación de imágenes, Imlib2. No sólo lo podremos utilizar para ver imágenes sino que también nos servirá para colocar una imagen en el fondo de escritorio, haciendo uso de su función de setter, muy útil para los que somos usuarios de administradores de ventanas.



Características  

* Visor simple de imagen.
feh {imagen} - Carga y visualiza una imagen.
* Modo presentación.
feh {imágenes} - Carga y visualiza la primera imagen, y con los atajos de teclado, la rueda del ratón o los botones alterna la visualización de las imágenes. Se puede especificar un retardo de X segundos para el cambio de imagen.
* Visualización en múltiples ventanas.
feh -w {imágenes} - Carga y visualiza cada imagen en una ventana diferente de Feh.
* Modo de visualización a pantalla completa. (feh -F)
Modo de pantalla completa tanto para las presentaciones como para la visualización individual de las imágenes.
* Modo de listado de imágenes. (feh -f)
Feh puede listar y mostrar (emulando al comando 'ls') el contenido de un directorio de imágenes especificado, incluyendo parámetros de imagen como anchura, altura, tamaño, etc. Muy útil para usar en scripts.
* Listado de imágenes soportadas y no soportadas.
Puede listar el contenido de un directorio sin mostrar las imágenes y especificar cuáles están soportadas por Imlib2 (feh -U) y cuáles no (feh -u).
* Apertura recursiva de archivos.
Puede visualizar el contenido de un directorio de imágenes de forma recursiva incluyendo todos los subdirectorios que contenga dicho directorio (feh -r), omitiendo los archivos que no sean imágenes o siéndolo, no estén soportados por Imlib2. En modo presentación sólo se almacena una imagen en memoria reduciendo al mínimo el impacto en los recursos del sistema.
* Organización de la lista de archivos.
Puede crear una lista de imágenes desde un directorio o imágenes especificados, y ordenarlas mediante una serie de parámetros como nombre de archivo, nombre de imagen, tamaño, resolución, etc. Muy útil para ordenar las imágenes según su resolución, por ejemplo.
* Guardado y carga de listas de archivos.
Puede crear y guardar lista de archivos al igual que un reproductor musical. En combinación con las opciones de clasificación y la apertura recursiva de archivos permite guardar los resultados para una apertura rápida de las imágenes en próximas visualizaciones.
* Carga de imágenes desde internet (HTTP).
Puede cargar un enlace a una imagen en internet como un nombre de archivo para su visualización y opcionalmente permite también guardarlo. Es recomendable tener instalado Wget, aunque el programa puede utilizar un cliente interno HTTP, siempre y cuando le pasemos el parámetro -Q.
* Recarga después de un retardo.
Muy indicado para la visualización de imágenes de una webcam vía internet.
* Creación de un montaje.
feh -m {imágenes} - Crea una imagen compuesta de una rejilla de miniaturas de todas las imágenes que se especifiquen. Este modo operativo soporta un amplio número de opciones de línea de comandos.
* Creación de una impresión del índice (index print). (feh -i) o (feh -I)
Se diferencia del montaje en que muestra el nombre de archivo de las imágenes y con el comando (feh -I), también muestra el tamaño y la resolución de las imágenes.
* Explorador de miniaturas. (feh -t)
Muestra un índice de miniaturas de los archivos especificados, al hacer clic en cada miniatura, se abrirá el archivo de imagen en una nueva ventana. Soporta el estándar de caché de miniaturas de freedesktop.org, por lo que puede leer y guardar en el directorio ~/.thumbnails de nuestro home, siempre que le pasemos la opción --cache-thumbnails al comando de Feh.
* Edición de imágenes.
Permite rotar las imágenes con los correspondiente atajos de teclado. En imágenes JPEG no degrada la imagen resultante, preservando también el contenido de los datos EXIF que contenga la misma.
* Activación del fondo de escritorio.
Establece la imagen del fondo de escritorio en modo mosaico (feh --bg-tile), centrado (feh --bg-center), escalado (feh --bg-scale), escalado proporcional (feh --bg-fill) y escalado proporcional con razón de aspecto (feh --bg-max).

Características específicas del visionado de imágenes

* Zoom dinámico.
Manteniendo pulsado el botón central del ratón y arrastrándolo adelante o atrás permite ampliar o reducir el tamaño de la imagen de forma dinámica en tiempo real.
* Desplazamiento por la imagen.
Manteniendo pulsado el botón izquierdo del ratón sobre la imagen, y siempre y cuando la imagen esté ampliada por encima de los límites de la ventana o pantalla, nos permitirá desplazarnos por la misma.
* Rotación.
Manteniendo presionada la tecla Ctrl y el botón central del ratón sobre la imagen podremos rotar ésta a nuestro libre albedrío.
* Desenfocar/Enfocar.
Manteniendo presionada la tecla Ctrl y el botón izquierdo del ratón sobre la imagen, si desplazamos el puntero del ratón hacia la izquierda la desenfocaremos y si lo desplazamos hacia la derecha la enfocaremos.
* Teclado o control del ratón.
Las imágenes se pueden borrar desde el visor de imágenes y la presentación se puede controlar mediante el teclado.
* Menú contextual.
Permite acceder a varias funciones del programa e información sobre la imagen.
* Solapado de subtítulos.
Puede leer subtítulos (archivos de texto en los que podemos poner cualquier información sobre la imagen, guardarlos con el mismo nombre y extensión de la imagen, añadiendo la extensión .txt. Por ejemplo: 2.jpg >> 2.jpg.txt y colocarlos en el mismo directorio donde esté ubicada la imagen, o en otro alternativo) y mostrarlos solapados sobre la imagen para su posterior guardado. Un ejemplo: feh --caption-path ~/Fotos ~/Fotos/2.jpg



Instalación  

Dependencias

Herramientas de Compilación


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

* GCC - (6.3.0) o Clang - (4.0.0)
* Make - (4.2.1)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 1.19.3)
   LibX11 - (1.6.5)
   LibXinerama - (1.1.3)
* Curl - (7.53.1)
* Imlib2 - (1.4.9)
* Libexif - (0.6.21)
* Libpng - (1.6.29)

Aplicaciones

* Convert (ImageMagick) - (7.0.5-4)
* Jpegtran (Libjpeg) - (9b)



Descarga

feh-2.18.3.tar.bz2

Extracción  Bloc de Notas

$ tar jxvf feh-2.18.3.tar.bz2
$ cd feh-2.18.3

Optimizaciones

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

Donde pone amdfam10 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
generic Produce un código binario optimizado para la mayor parte de procesadores existentes. Utilizar este valor si no sabemos el nombre del procesador que tenemos en nuestro equipo. Este valor sólo es aplicable en la opción '-mtune=', si utilizamos GCC. Esta opción está disponible a partir de GCC 4.2.
native Produce un código binario optimizado para el procesador que tengamos en nuestro sistema, siendo éste detectado utilizando la instrucción cpuid. Procesadores antiguos pueden no ser detectados utilizando este valor. Esta opción está disponible a partir de GCC 4.2.
Intel
atom Intel Atom con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y extensiones 64-bit. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición bonnell.
bonnell Intel Bonnell con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3 y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.
broadwell Intel Broadwell con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9 y Clang 3.6.
cannonlake Intel Cannonlake con soporte de instrucciones X87, MMX, AVX, FXSR, CMPXCHG16B, POPCNT, AES, PCLMUL, XSAVE, XSAVEOPT, LAHFSAHF, RDRAND, F16C, FSGSBase, AVX2, BMI, BMI2, FMA, LZCNT, MOVBE, INVPCID, VMFUNC, RTM, HLE, SlowIncDec, ADX, RDSEED, SMAP, MPX, XSAVEC, XSAVES, SGX, CLFLUSHOPT, AVX512, CDI, DQI, BWI, VLX, PKU, PCOMMIT, CLWB, VBMI, IFMA y SHA. Esta opción está disponible a partir de Clang 3.9.
core2 Intel Core2 con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.3.
core-avx2 Intel Core (Haswell). Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición haswell.
core-avx-i Intel Core (ivyBridge) con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AES, PCLMUL, FSGSBASE, RDRND, F16C y extensiones 64-bit. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición ivybridge.
corei7 Intel Core i7 con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 y SSE4.2 y extensiones 64-bit. Soporta también los procesadores Intel Core i3 e i5. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición nehalem.
corei7-avx Intel Core i7 con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AES y PCLMUL y extensiones 64-bit. Soporta también los procesadores Intel Core i3 e i5. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición sandybridge.
haswell Intel Haswell con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.
i386 Intel i386.
i486 Intel i486.
i586, pentium Intel Pentium sin soporte de instrucciones MMX.
i686 Produce un código binario optimizado para la mayor parte de procesadores compatibles con la serie 80686 de Intel. Todos los actuales lo son.
intel Intel Haswell y Silvermont. Este valor sólo es aplicable en la opción '-mtune='. Esta opción está disponible a partir de GCC 4.9.
ivybridge Intel Ivy Bridge con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AES, PCLMUL, FSGSBASE, RDRND, F16C y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.
knl Intel Knights Landing con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, AVX512F, AVX512PF, AVX512ER y extensiones 64-bit. Esta opción está disponible a partir de GCC 5 y Clang 3.4.
lakemont Intel Quark Lakemont MCU, basado en el procesador Intel Pentium. Esta opción está disponible a partir de GCC 6 y Clang 3.9.
nehalem Intel Nehalem con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.
nocona Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2, SSE3 y extensiones 64-bit.
penryn Intel Penryn con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y SSE4.1.
pentiumpro Intel PentiumPro.
pentium2 Intel Pentium2 basado en PentiumPro con soporte de instrucciones MMX.
pentium3, pentium3m Intel Pentium3 basado en PentiumPro con soporte de instrucciones MMX y SSE.
pentium4, pentium4m Intel Pentium4 con soporte de instrucciones MMX, SSE y SSE2.
pentium-m Versión de bajo consumo de Intel Pentium3 con soporte de instrucciones MMX, SSE y SSE2. Utilizado por los portátiles Centrino.
pentium-mmx Intel PentiumMMX basado en Pentium con soporte de instrucciones MMX.
prescott Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2 y SSE3.
sandybridge Intel Sandy Bridge con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AES, PCLMUL y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9 y Clang 3.6.
silvermont Intel Silvermont con soporte de instrucciones MOVBE, MMX, SSE, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMU, RDRND y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9 y Clang 3.6.
skx Intel Skylake Server con soporte de instrucciones X87, MMX, AVX, FXSR, CMPXCHG16B, POPCNT, AES, PCLMUL, XSAVE, XSAVEOPT, LAHFSAHF, RDRAND, F16C, FSGSBase, AVX2, BMI, BMI2, FMA, LZCNT, MOVBE, INVPCID, VMFUNC, RTM, HLE, SlowIncDec, ADX, RDSEED, SMAP, MPX, XSAVEC, XSAVES, SGX, CLFLUSHOPT, AVX512, CDI, DQI, BWI, VLX, PKU, PCOMMIT y CLWB. Esta opción está disponible a partir de Clang 3.5. A partir de Clang 3.9 se utiliza también la definición skylake-avx512.
skylake Intel Skylake con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES y extensiones 64-bit. Esta opción está disponible a partir de GCC 6 y Clang 3.6.
skylake-avx512 Intel Skylake Server con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD y extensiones 64-bit. Esta opción está disponible a partir de GCC 6 y Clang 3.9
slm Intel Silvermont con soporte de instrucciones X87, MMX, SSE42, FXSR, CMPXCHG16B, MOVBE, POPCNT, PCLMUL, AES, SlowDivide64, CallRegIndirect, PRFCHW, SlowLEA, SlowIncDec, SlowBTMem y LAHFSAHF. Esta opción está disponible a partir de Clang 3.4. A partir de Clang 3.9 se utiliza también la definición silvermont.
westmere Intel Westmere con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMUL y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.
yonah Procesadores basados en la microarquitectura de Pentium M, con soporte de instrucciones MMX, SSE, SSE2 y SSE3.
AMD
amdfam10, barcelona Procesadores basados en AMD Family 10h core con soporte de instrucciones x86-64 (MMX, SSE, SSE2, SSE3, SSE4A, 3DNow!, enhanced 3DNow!, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.3. La definición barcelona está disponible a partir de Clang 3.6.
athlon, athlon-tbird AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y SSE prefetch.
athlon4, athlon-xp, athlon-mp Versiones mejoradas de AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y full SSE.
bdver1 Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.7.
bdver2 Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64 (BMI, TBM, F16C, FMA, LWP, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.7.
bdver3 Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.8 y Clang 3.4.
bdver4 Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64 (BMI, BMI2, TBM, F16C, FMA, FMA4, FSGSBASE, AVX, AVX2, XOP, LWP, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.9 y Clang 3.5.
btver1 Procesadores basados en AMD Family 14h core con soporte de instrucciones x86-64 (MMX, SSE, SSE2, SSE3, SSE4A, CX16, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.6.
btver2 Procesadores basados en AMD Family 16h core con soporte de instrucciones x86-64 (MOVBE, F16C, BMI, AVX, PCL_MUL, AES, SSE4.2, SSE4.1, CX16, ABM, SSE4A, SSSE3, SSE3, SSE2, SSE, MMX y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.8.
geode AMD integrado con soporte de instrucciones MMX y 3DNow!. Esta opción está disponible a partir de GCC 4.3.
k6 AMD K6 con soporte de instrucciones MMX.
k6-2, k6-3 Versiones mejoradas de AMD K6 con soporte de instrucciones MMX y 3DNow!.
k8, opteron, athlon64, athlon-fx Procesadores basados en AMD K8 core con soporte de instrucciones x86-64 (MMX, SSE, SSE2, 3DNow!, enhanced 3DNow! y extensiones 64-bit).
k8-sse3, opteron-sse3, athlon64-sse3 Versiones mejoradas de AMD K8 core con soporte de instrucciones SSE3. Esta opción está disponible a partir de GCC 4.3.
x86-64 Procesadores AMD y compatibles con soporte de instrucciones x86-64, SSE2 y extensiones 64-bit.
znver1 Procesadores basados en AMD Family 17h core con soporte de instrucciones x86-64 (BMI, BMI2, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT y extensiones 64-bit). Esta opción está disponible a partir de GCC 6 y Clang 4.
Otros
c3 Via C3 con soporte de instrucciones MMX y 3DNow!.
c3-2 Via C3-2 con soporte de instrucciones MMX y SSE.
winchip2 IDT Winchip2, que equivale a un i486 con soporte de instrucciones MMX y 3DNow!.
winchip-c6 IDT Winchip C6, que equivale a un i486 con soporte de instrucciones MMX.

Optimizaciones adicionales

Optimizaciones adicionales
GCC
Graphite
$ export {C,CXX}FLAGS+=' -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block'
LTO
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=2'
Donde pone 2 se indica el número de núcleos de 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 específicos en el proceso de compilación
Clang
$ export {C,CXX}FLAGS+=' -Qunused-arguments'

Establecer el uso de enlazador dinámico para LLD
$ export LDFLAGS+=' -fuse-ld=lld'
Optimizaciones complementarias LTO de LLD
$ export LDFLAGS+=' -Wl,--lto-partitions=2 -Wl,--lto-O3'
Optimizaciones complementarias ThinLTO de LLD
$ export LDFLAGS+=' -Wl,--thinlto-jobs=2 -Wl,--lto-O3'
Donde pone 2 se indica el número de núcleos de nuestro procesador, si sólo tiene uno, no es necesario añadir el primer parámetro.

Establecer la variable de entorno de uso de compilador para Clang
$ export {CC,CXX}=clang
Si utilizamos Clang con Ccache, tendremos que establecer la variable de entorno correspondiente de Ccache de uso de compilador.
$ export CCACHE_CC=clang

Compilación

$ make PREFIX=/usr help=1 exif=1

Explicación de los comandos

PREFIX=/usr : Instala el programa en el directorio principal /usr
help=1 : Activa las opciones de ayuda en la línea de comandos, que han sido desactivadas a partir de la versión 1.14 en favor de la lectura de las páginas del manual del programa.
exif=1 : Añade soporte de lectura de datos Exif, mediante el uso de Libexif.

Parámetros de compilación opcionales

-j2 : Si tenemos un procesador de doble núcleo (dual-core), y el kernel está optimizado para el mismo y es SMP, con este parámetro aumentaremos el número de procesos de compilación simultáneos a un nivel de 2 y aceleraremos el tiempo de compilación del programa de forma considerable.
-j4 : Lo mismo que arriba pero con procesadores de 4 núcleos (quad-core).

Instalación como root

$ su -c "make PREFIX=/usr help=1 exif=1 cam=1 app=1 install"

Explicación de los comandos

cam=1 : Instala el wrapper de perl de visualización de cámaras web, feh-cam, cuya instalación se ha desactivado a partir de la versión 2.12 de Feh.

app=1 : Instala los iconos en formato SVG y PNG de Feh en /usr/share/icons/hicolor.

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

Estadísticas de Compilación e Instalación de Feh
CPU AMD Athlon(tm) II X2 260 Processor
MHz 3214.610
RAM 2048 MB
Tarjeta gráfica GeForce 8400 GS
Controlador de gráficos Nouveau 1.0.14
Sistema de archivos XFS
Versión de Glibc 2.25
Enlazador dinámico LLD 4.0.0
Compilador Clang 4.0.0 + Ccache 3.3.4
Parámetros de optimización -03 -march=amdfam10 -mtune=amdfam10 -mllvm -polly -mllvm -polly-vectorizer=stripmine -flto=thin
Parámetros de compilación -j2
Tiempo de compilación 17"
Archivos instalados 28
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 572 KB

Directorio de configuración personal

~/.config/feh Es el directorio de configuración personal de Feh.
~/.config/feh/keys Es el archivo de configuración personal de los atajos de teclado del programa.
~/.config/feh/themes Es el archivo de configuración personal del programa, cuyo nombre tiende a la confusión, y que viene a sustituir al archivo de configuración anterior (~/.fehrc) que englobaba todas las opciones, ahora divididas en 3 archivos, keys, buttons y themes.

Los usuarios que tengan el archivo de configuración de versiones anteriores (~/.fehrc), podrán seguir utilizándolo, aunque lo recomendable sería que trasladarán las opciones personales añadidas en el mismo, a los nuevos archivos de configuración.
~/.config/feh/buttons Es el archivo de configuración de los atajos de ratón del programa. 
~/.fehbg Es el archivo que contiene el comando de ejecución de Feh cuando se encarga de colocar una imagen en el fondo de escritorio. Este archivo se crea cuando ejecutamos Feh con las opciones de escalado pertinentes referentes a su función como activador del fondo de escritorio. Primero ejecutamos el comando de la imagen que pretendamos utilizar, por ejemplo:

$ feh --bg-center ~/Fotos/001.jpg

y posteriormente para que ésta se inicie junto al entorno gráfico indicado, en los scripts de inicio respectivos, añadimos el comando $HOME/.fehbg. A partir de la versión 2.13 de Feh, es un script de shell que podemos ejecutar de forma directa.

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "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.

feh-2.18.3-scripts.tar.gz

$ su 
# tar zxvf feh-2.18.3-scripts.tar.gz
# cd feh-2.18.3-scripts
# ./Desinstalar_feh-2.18.3

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 feh-2.18.3-scripts.tar.gz
# cd feh-2.18.3-scripts
# ./Respaldar_feh-2.18.3

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_feh-2.18.3



Opciones de línea de comandos  Bloc de Notas

A continuación, las opciones de línea de comandos del programa con los comentarios traducidos al español. Desde la versión 1.14, era recomendable leerse la página de manual del programa, y lo sigue siendo ahora, al no actualizarse de una manera correcta, estas opciones de línea de comandos.

A partir de la versión 2.12 han vuelto a actualizar esta ayuda, pero recortando información, por lo que he mantenido la explicación del autor original del programa, en aquellos parámetros que no han sido modificados por el sucesor de éste.

[jose@localhost ~]$ feh --help
Uso : feh [opciones] <archivos o directorios ...>

 Esto es sólo un resumen corto de las opciones.  Por favor, leer "man feh" para más detalles.

OPCIONES
 -h, --help                muestra esta ayuda y termina
 -v, --version             muestra la información de la versión y termina
 -V, --verbose             despliega más información, barras de progreso, etc
 -q, --quiet               Oculta los errores no fatales. Puede ser usado con --verbose
 -T, --theme TEMA          Carga las opciones desde un archivo de configuración con el nombre TEMA
 -r, --recursive           Examina recursivamente el contenido de todos los directorios ubicados en
                           ARCHIVO
     --no-recursive        
No examina recursivamente el contenido de todos los directorios ubicados en
                           ARCHIVO (Activado por defecto). Opción útil para sobreescribir las opción
                           --recursive preconfigurada del tema.
 -z, --randomize           Muestra de forma aleatoria la lista de archivos
 --no-jump-on-resort       No salta a la primera imagen cuando la lista de archivos es reordenada.
 -g, --geometry W+H[+X+Y]  Limita el tamaño de la ventana a DIMENSIÓN[+DESPLAZAMIENTO]                      
 -f, --filelist ARCHIVO    Carga/guarda imágenes desde/en el ARCHIVO de lista de archivos.
 -|, --start-at NOMBRE     Inicia en un NOMBRE en la lista de archivos
 -p, --preload             Suprime las imágenes no cargables de la lista de archivos antes
                           de mostrar nada
 -., --scale-down          Redimensiona automáticamente las imágenes demasiado grandes para la pantalla.
 -F, --fullscreen          Pone la ventana a pantalla completa
 -Z, --auto-zoom           Ajusta el tamaño de la imagen al tamaño de la pantalla en modo
                           de pantalla completa/geometría de ventana
     --zoom PORCENTAJE     Amplía o reduce las imágenes con un PORCENTAJE, cuando está en modo de
                           pantalla completa o cuando la geometría de la ventana está ajustada. Si 
                           se combina con --auto-zoom, el zoom se limitará al tamaño. También soporta
                           "max" y "fill"
     --keep-zoom-vp        Mantiene la vista de zoom y los ajustes cuando se cambia de imagen
 -w, --multiwindow         Abre todos los archivos a la vez, una ventana por imagen
 -x, --borderless          Crea ventanas sin decoración
 -d, --draw-filename       Muestra el nombre de archivo en la ventana de imagen
     --draw-tinted         Muestra los textos súperpuestos en el fondo semitransparente
     --draw-exif           Muestra algo de información Exif (si ha sido compilado con exif=1)
 -^  --title TÍTULO        Establece el título de la ventana (ver ESPECIFICADORES DE FORMATO)
 -D, --slideshow-delay NÚM Para el modo presentación, especifica el tiempo de retardo (segundos,
                           puede ser un decimal) para cambiar a la siguiente imagen.
     --cycle-once          termina feh después de un ciclo a través de una presentación
 -R, --reload NÚM          Use esta opción para ordenar a feh que recargue una imagen después
                           de NÚM segundos. Útil para ver webcams
                           vía http, o incluso en su máquina local.
 -k, --keep-http           Preserva las copias locales cuando se visualizan imágenes de forma remota
     --insecure            Desactiva la verificación de certificados SSL cuando se usa HTTPS
 -K, --caption-path RUTA   Ruta al directorio que contiene los subtítulos de imagen.
                           Esto activa el visionado de subtítulos, y si los subtítulos
                           están ubicados en la RUTA, que sea relativa al directorio de
                           cada imagen, será solapado en la imagen desplegada.
                           ejemplo: con caption path "subtítulos", y visionado de 
                           imagen imágenes/foo.jpg, el subtítulo se buscará como
                           "imágenes/subtítulos/foo.jpg.txt"
 -j, --output-dir          Directorio de salida para guardar los archivos. Sólo es útil
                           con el parámetro -k.
 -l, --list                No muestra las imágenes. Analiza y despliega un listado tipo 'ls'
                           Útil en scripts para obtener información de la imagen como tamaño,
                           resolución, tipo, etc.
 -L, --customlist FORMATO  Usa FORMATO como el formato especificador para la lista de salida
                           FORMATO es una cadena tipo-printf que contiene especificadores de
                           información de imagen. Ver ESPECIFICADORES DE FORMATO.
 -U, --loadable            No muestra las imágenes. Sólo imprime el nombre de los archivos
                           que imlib2 puede cargar.
 -u, --unloadable          No muestra las imágenes. 
Sólo imprime el nombre de los archivos
                           que imlib2 no puede cargar.

 -S, --sort SORT_TYPE      La lista de archivo puede ordenarse acorde a unos parámetros de imagen.
                           Los tipos permitidos son: name (nombre), dirname (nombre de directorio)
                           filename (nombre de archivo), width (anchura), height (altura),
                           pixels (píxeles), size (tamaño), format (formato).
                           Para otros modos de clasificación que no sean name (nombre) o
                           filename (nombre de archivo), será necesaria una precarga (-p),
                           causando un retardo proporcional al número de imágenes en la lista.
 -n, --reverse             Invierte el orden de clasificación. Usar esto para invertir el orden
                           de la lista de archivos. Ej: para ordenar al revés la anchura,
                           usar -nSwidth
 -A, --action [;]ACCIÓN    Especifica una acción a realizar en la imagen.
                           La acción será ejecutada por /bin/sh. 
                           Puede contener ESPECIFICADORES DE FORMATOS. La imagen se recarga
                           con ";", de lo contrario, pasa a la siguiente imagen
     --action[1,9]
        Acciones adicionales que se activan con las teclas 1 al 9
 -G, --draw-actions        Muestra las acciones definidas en la ventana de imagen
     --force-aliasing      Desactiva el suavizado de la imagen
 -m, --montage             Activa el modo montaje. El modo montaje crea una nueva
                           imagen consistiendo en una rejilla de miniaturas de las imágenes
                           especificadas usando ARCHIVO... Cuando el modo montaje
                           es seleccionado, otras opciones pasan a estar disponibles
                           Ver OPCIONES DEL MODO MONTAJE.
 -i, --index               Activa el modo Índice. El modo Índice es similar al modo montaje.
                           y acepta las mismas opciones. Se crea una impresión del índice
                           de miniaturas, imprimiendo el nombre de la imágen debajo de cada
                           miniatura. El modo Índice activa otras opciones, ver OPCIONES DEL
                           MODO ÍNDICE
     --info CMD            Ejecuta un comando (CMD) y muestra la salida en la ventana de imagen
 -t, --thumbnails          Como --index, pero haciendo clic en una imagen, ésta se abrirá en
                           una nueva ventana de visionado.
 -P, --cache-thumbnails    Activa la caché de miniaturas. Sólo trabaja con miniaturas inferiores
                           a 256x256 píxeles.
 -J, --thumb-redraw N      Redibuja la miniatura de la ventana cada N imágenes
 -~, --thumb-title TEXTO   Establece el título de la ventana para las imágenes abiertas en modo miniatura.
 -I, --fullindex           Igual que el modo índice, pero debajo de cada miniatura se mostrará
                           el nombre de la imagen, tamaño y dimensiones
     --index-info FORMATO  Muestra el FORMATO debajo de las imágenes en modo índice/miniatura
     --bg-tile ARCHIVO     Establece el fondo de escritorio con el ARCHIVO en modo mosaico. Feh puede
                           usar enlightenment IPC si usted lo está corriendo, o se utilizarán los metodos de X.
                           Feh guarda la línea de comando necesaria para restaurar el fondo que
                           usted elija en ~/.fehbg. Así para poder restaurar los fondos establecidos
                           con feh, al reiniciar X, añadir la línea "$HOME/.fehbg" a su
                           script de inicio de X (ej. ~/.xsession). Tener en cuenta que esto sólo
                           es necesario para los administradores de ventanas que no son E16.
     --bg-center ARCHIVO   Establece el fondo de escritorio con el ARCHIVO en modo centrado.
     --bg-scale ARCHIVO    Establece el fondo de escritorio con el ARCHIVO en modo escalado sin respetar las
                           proporciones de la imagen.

     --bg-fill ARCHIVO     Establece el fondo de escritorio con el ARCHIVO en modo escalado respetando las
                           proporciones de la imagen, pero recortando su tamaño si la razón de aspecto no es
                           coincidente con la de la resolución de la pantalla.

     --bg-max ARCHIVO      Establece el fondo de escritorio con el ARCHIVO en modo escalado respetando las
                           proporciones de la imagen, y mostrando unas bandas negras laterales, en el caso de que
                           la imagen no tenga la misma razón de aspecto que la resolución de la pantalla.
     --no-fehbg            No escribe un archivo ~/.febg
 -C   --fontpath RUTA      Especifica un directorio extra de búsqueda de fuentes,
                           puede ser utilizado muchas veces y añadir todas las rutas que se desee.
 -M, --menu-font FUENTE    Usa FUENTE para la fuente de los menús.
 -B, --image-bg ESTILO     Establece el fondo para las imágenes transparentes y similares.
                           Valores aceptados: white (blanco), black (negro), default (por defecto)
 -N, --no-menus            No carga o muestra ningún menú.

     --no-blur-ctrl-mask   No requiere CTRL+Botón para desenfocar en
                           cualquier modo -- sólo usa el botón (por defecto=off).
     --no-xinerama         Desactiva el soporte de Xinerama. No tiene efecto
                           alguno si usted no ha compilado dicho soporte.
     --no-screen-clip      No limita el tamaño de la ventana al tamaño de la pantalla.
 -Y  --hide-pointer        En el modo a pantalla completa, oculta el puntero del ratón.
     --magick-timeout INT  Carga archivos desconocidos con ImageMagick. Límite de tiempo después
                           de INT segundos (0: sin límite de tiempo)
     --min-dimension WxH   Muestra sólo las imágenes inferiores a un tamaño específico determinado
     --max-dimension WxH   Muestra sólo las imágenes superiores a un tamaño específico determinado
     --scroll-step NÚMERO  Número de píxeles recorridos al presionar la tecla de movimiento

 OPCIONES DEL MODO MONTAJE
 -X, --ignore-aspect       Por defecto, las miniaturas del montaje mantienen la razón
                           de aspecto, cuando se ajusta en --thumb-width
                           y --thumb-height. Esta opción fuerza a que no se tenga en
                           cuenta las proporciones cuando se establece el tamaño
                           con --thumb-width y --thumb-height
                           Esto previene cualquier espacio en blanco en el montaje final.                        
 -s, --stretch             Normalmente, si una imagen es más pequeña que el tamaño de miniatura
                           especificado, nunca es redimensionada. Si esta 
                           opción está fijada, la imagen será redimensionada al tamaño de la
                           miniatura.). (La razón de aspecto se respetará a no ser que
                           --ignore-aspect haya sido especificado)
 -y, --thumb-width NÚM     Establece la anchura de la miniatura en píxeles
 -E, --thumb-height NÚM    Establece la altura de la miniatura en píxeles
                           El tamaño por defecto de las miniaturas es de 20x20 píxeles
 -W, --limit-width NÚM     Limita la anchura del montaje en píxeles
 -H, --limit-height NÚM    Limita la altura del montaje en píxeles
                           Estas opciones pueden ser usadas en conjunto (para definir el
                           tamaño de imagen exacto), o por separado. Si sólo se especifca
                           una, la otra se calcula desde el número de archivos especificado
                           y el tamaño de las miniaturas.
                           Por defecto, la anchura se limita a 800 píxeles y se calcula la altura
 -b, --bg ARCHIVO|trans    Usa ARCHIVO como un fondo para su montaje. Con esta opción
                           especificada, el tamaño del montaje será predefinido al tamaño
                           del ARCHIVO si no se especifican restricciones de tamaño.
                           Alternativamente, si el ARCHIVO es "trans",
                           hace el fondo transparente.
 -a, --alpha NÚM           Cuando se dibujan las miniaturas en el fondo, aplica
                           al mismo una transparencia del nivel NÚM (0-255).
 -o, --ouput ARCHIVO       Guarda el montaje creado a un ARCHIVO
 -O, --ouput-only ARCHIVO  Sólo guarda el montaje creado a un ARCHIVO
                           SIN MOSTRARLO (uso en scripts)
 -e FUENTE                 Usa FUENTE para imprimir la información debajo de cada
                           miniatura. la FUENTE puede ser definida en el formato
                           nombre de fuente/tamaño(puntos). ej -e arial/12

 OPCIONES DEL MODO ÍNDICE

 -t, --title-font FUENTE   Use FUENTE para imprimir un título para el índice, si no
                           se especifica la fuente, el título no se podrá imprimir

 ESPECIFICADORES DE FORMATO
                           %f ruta de imagen/nombre de archivo
                           %F ruta de imagen/nombre de archivo (shell escapado)
                           %h altura de imagen
                           %l imprime el número total de archivos en la lista de archivos
                           %L ruta a una copia temporal de la lista de archivos
                           %m imprime el modo (presentación, multiventana...)
                           %o x,y desplazamiento en píxeles desde la esquina superior
                              izquierda de la imagen a la ventana
                           %p tamaño de la imagen en píxeles
                           %P tamaño de la imagen en kilo-/megapíxeles
                           %s tamaño de imagen en bytes
                           %S tamaño de imagen con la unidad apropiada (kB/MB)
                           %t formato de imagen
                           %N nombre de imagen (shell escapado)
                           %n nombre de imagen
                           %u imprime el número de archivo actual
                           %w anchura de imagen
                           %v imprime la versión
                           %V imprime el ID del proceso
                           %z zoom actual de la imagen
                           %% %
                           \n imprime una nueva línea
                           Ej. feh -A "mv %f ~/imágenes/%n" *


 
Configuración de Feh  

Una de las características importantes que tiene este programa respecto a su archivo de configuración, es la posibilidad de agrupar en un sólo comando una serie de parámetros, asignarle un nombre específico y ejecutar Feh pasándole la opción -T más el nombre del grupo de opciones configurado. Esto sirve para personalizar y facilitar la ejecución del programa, y también para automatizar determinadas tareas reduciendo la longitud del comando a introducir. En el archivo de configuración de Feh, ~/.config/feh/themes, vienen varios ejemplos, de los que extraigo uno en concreto.

# Create an index of the current directory. This version uses . as the
# current dir, so you don't even need any commandline arguments.
mkindex -iVO index.jpg .

mkindex
es el nombre del grupo de opciones y -iVO index.jpg . las opciones a pasarle a Feh. En este caso creamos una imagen de miniaturas en el directorio de imágenes en el que ejecutamos el comando, con el nombre index.jpg que sería éste:

$ feh -Tmkindex

o éste, lo mismo da,

$ feh --theme mkindex

También se puede crear un enlace simbólico con el nombre del grupo de opciones a utilizar, para asociar el comando a ejecutar a las mismas.

$ mkdir -p ~/bin
$ ln -s `which feh` ~/bin/mkindex

Y poder ejecutar el comando con el mismo nombre del grupo de opciones,

$ mkindex

Con el mismo modo anteriormente explicado podemos cambiar el aspecto del menú de Feh y seleccionar uno de los temas que vienen con el programa, de los que aparecen a partir de la línea 44 del archivo de configuración, ~/.config/feh/themes.

# Different menus
brushed --menu-bg /usr/share/feh/images/menubg_brushed.png
aluminium --menu-bg /usr/share/feh/images/menubg_aluminium.png
aqua --menu-bg /usr/share/feh/images/menubg_aqua.png
sky --menu-bg /usr/share/feh/images/menubg_sky.png
black --menu-bg /usr/share/feh/images/menubg_black.png \
      --menu-style /usr/share/feh/fonts/black.style

$ feh 2.jpg -Taqua



Atajos de teclado y ratón de Feh  

Modo Presentación (por defecto)
Combinación de teclas Acción a realizar
a Activa/desactiva el despliegue de acciones (--draw-actions)
A Activa/desactiva el suavizado de la imagen (antialiasing)
c, C Activa el modo de edición de subtítulos (caption). Si --caption-pathha sido especificado, el subtítulo se mostrará en color amarillo y podrá ser editado. Presionando la tecla <retorno> se guarda la edición. Mediante la tecla <Escape> se sale del modo de edición. Si se presiona <Ctrl+Retorno> se insertará una nueva línea en el subtítulo.
d, D Activa/desactiva el despliegue del nombre de archivo (--draw-filename)
e, E Activa/desactiva el despliegue de la etiqueta EXIF (sólo si se ha compilado con exif=1)
f, F Guarda la lista de imágenes actual cómo "feh_PID_ID_lista_de_archivo"
h, H Pausa la presentación. Sólo funciona si el cambio automático de imagen ha sido especificado.
i, I Activa/desactiva el despliegue de información (ver --info)
k, K Activa/desactiva la preservación de la vista de zoom y los ajustes cuando se cambia de imagen.
m, M Muestra el menú. Utilizar las flechas direccionales y <Retorno> para seleccionar los elementos. La tecla <Escape> para cerrar el menú.
n, N, Espacio, Flecha derecha Muestra la siguiente imagen.
o, O Oculta el puntero del ratón.
p, P, Retroceso, Flecha izquierda Muestra la imagen anterior.
Esc , q,  Q Finaliza el programa.
r, R Recarga la imagen en curso. Útil para las webcams.
s, S Guarda la imagen actual cómo "feh_PID_ID_nombre_de_archivo"
v, V Activa la pantalla completa.
w, W Ajusta el tamaño de la ventana al tamaño original de la imagen.
x, X Cierra la ventana actual.
z, Z Salta a una posición aleatoria en la lista de archivos actual.
] Salta a la primera imagen del directorio siguiente.
[ Salta a la primera imagen del directorio anterior.
< , > En modo de edición de imágenes, gira la imagen 90 grados a la izquierda o a la derecha.
_ En modo de edición de imágenes, voltea la imagen de forma vertical.
| En modo de edición de imágenes, voltea la imagen de forma horizontal.
0-9 Ejecuta una acción 0-9 especificada con las opciones [0-9]. 0 equivale a --action, 1 a --action1.
Retorno Ejecuta una acción especificada con la opción --action.
Inicio Va al comienzo de la presentación.
Fin Va al final de la presentación.
Avpág Avanza un 5 % en la lista de archivos
Repág Retrocede un 5 % en la lista de archivos
+ Incrementa el retardo de recarga en 1 segundo.
- Decrementa el retardo de recarga en 1 segundo.
Supr Suprime la imagen actual de la lista de archivos.
Ctrl + Supr Borra la imagen actual del disco duro y la suprime de la lista de archivos.
Ctrl + Flecha izquierda Desplaza la imagen hacia la izquierda.
Ctrl + Flecha derecha Desplaza la imagen hacia la derecha.
Ctrl + Flecha arriba Desplaza la imagen hacia arriba.
Ctrl + Flecha abajo Desplaza la imagen hacia abajo.
Alt + Flecha izquierda Desplaza la imagen hacia la izquieda, una página.
Alt + Flecha derecha Desplaza la imagen hacia la derecha, una página.
Alt + Flecha arriba Desplaza la imagen hacia arriba, una página.
Alt + Flecha abajo Desplaza la imagen hacia abajo, una página.
! Ajusta la imagen al tamaño de la ventana de forma proporcional, recortándola si ésta es más grande que el tamaño de la misma. Equivale a la opción --bg-fill.
Atajos del menú
Escape Cierra el menú.
Flecha arriba Enfoca el elemento anterior del menú.
Flecha abajo Enfoca el elemento siguiente del menú.
Flecha izquierda Enfoca el elemento superior del menú.
Flecha derecha Enfoca el elemento inferior del menu.
Retorno, Espacio Selecciona el elemento del menú enfocado.
Teclado numérico
Flecha izquierda Desplaza la imagen hacia la izquierda.
Flecha derecha Desplaza la imagen hacia la derecha.
Flecha arriba Desplaza la imagen hacia arriba.
Flecha abajo Desplaza la imagen hacia abajo
Inicio Suaviza la imagen (antialiasing).
+ Amplía la imagen.
- Reduce la imagen.
* Muestra la imagen a tamaño original.
/ Ajusta la imagen al tamaño de la ventana.
Intro Ejecuta una acción especificada con la opción --action.
0-9 Ejecuta una acción 0-9 especificada con las opciones [0-9]. 0 equivale a --action, 1 a --action1.
Acciones del ratón
Clic del botón izquierdo Muestra la siguiente imagen (sólo en modo presentación)
Botón izquierdo presionado Se desplaza por la imagen, si ésta es más grande que la ventana de Feh.
Botón central presionado Arrastrándolo de izquierda a derecha, amplía la imagen. De derecha a izquierda, la reduce. Con un clic restaura el tamaño original. En el archivo de configuración, ~/.config/feh/buttons, viene por defecto el botón derecho del ratón.
Ctrl + botón izquierdo presionado Arrastrándolo a la izquierda, desenfoca la imagen. Arrastrándolo a la derecha, la enfoca.
Ctrl + botón central Rota la imagen alrededor de un punto central.
Clic del botón derecho Muestra el menú de Feh. En el archivo de configuración, ~/.config/feh/buttons, viene por defecto el botón izquierdo del ratón.
Rueda del ratón hacia abajo Muestra la imagen anterior.
Rueda del ratón hacia arriba Muestra la imagen siguiente.

Los atajos de teclado y ratón predefinidos, pueden ser sobreescritos editando los archivos de configuración, ~/.config/feh/buttons y ~/.config/feh/keys.



Ejemplos de uso  

A continuación algunos ejemplos de uso extraídos del man de Feh, con la explicación traducida al español.

$ feh -r ~/Fotos

Examina de forma recursiva (-r) el directorio ~/Fotos y muestra todas las imágenes en modo presentación.



$ feh -rSname ~/Fotos

Lo mismo que el anterior, pero esta vez, ordenándolas de forma alfabética (Sname).



$ feh -m ~/Fotos

Crea un montaje (-m) de las imágenes ubicadas en el directorio ~/Fotos, no incluye los subdirectorios.



$ feh -Xrm -W 400 --thumb-width 30 --thumb-height 20 ~/Fotos

Crea un montaje (m) de las imágenes ubicadas en el directorio ~/Fotos y todos los subdirectorios que pudiera haber (r), limitando la anchura de la imagen a 400 píxeles (-W 400) y creando las miniaturas de un tamaño de 30x20 (--thumb-width 30 --thumb-height 20), ignorando la razón de aspecto (-X).



$ feh -irFarial/14 -O index.jpg ~/Fotos

Crea una impresión del índice (index print) de las imágenes ubicadas en el directorio ~/Fotos (-i) y todos los subdirectorios que pudiera haber (r), usando la fuente Arial de 14 píxeles para escribir la información de imagen debajo de cada miniatura (Farial/14). Guarda la imagen con el nombre index.jpg y no la muestra (-O index.jpg).



$ feh -kR30 http://webcam.manualinux.jpg

Usamos Feh para visualizar una webcamp (-k), actualizando la imagen cada 30 segundos (R30) y guardando las imágenes en /tmp.



$ feh -w ~/Fotos

Abre cada imagen ubicada en el directorio ~/Fotos en una ventana individual (-w).



$ feh -FD5 -Sname ~/Fotos

Muestra las imágenes ubicadas en el directorio ~/Fotos, ordenadas por nombre (-Sname), a pantalla completa (-F) y cada 5 segundos cambia de imagen (D5).


 
Utilizar Feh para activar el fondo de escritorio  

No es que sea ni el mejor ni el más rápido a la hora de colocar una imagen en el fondo de escritorio, pero el hecho de poder utilizarlo como setter, hace que este apartado del manual sea necesario incluirlo. Personalmente recomiendo otros programas más específicos y de mayor calidad cuya documentación está disponible en la web, pero como siempre es el usuario el que decide en último lugar, y para poder hacerlo es necesario que esté informado.

Feh utiliza un archivo de configuración específico (~/.fehbg) para ubicar el comando de activación del fondo de escritorio para todos los entornos gráficos excepto Enlightenment - E16, este archivo lo crea de forma automática cada vez que lo ejecutamos desde la línea de comandos, utilizando los parámetros de sus funciones de setter, que pueden ser:

A partir de la versión 2.13 de Feh, este archivo de configuración se ha convertido en un script de shell que podemos ejecutar de forma directa, con lo que el comando anterior utilizado para cargar una imagen al inicio de un entorno gráfico ya no sirve.

--bg-tile Coloca la imagen como un mosaico. El efecto sólo es apreciable si la imagen es mucho más pequeña que la resolución de la pantalla.
--bg-center Centra la imagen en la pantalla, es decir, que si es más grande que la resolución que estemos usando, sólo veremos la parte central de la misma.

Desde la versión 2.10 de Feh, admite también la opción --geometry para poder mostrar la imagen desplazada en lugar de centrada. Teniendo en cuenta siempre que los valores positivos desplazarán la imagen hacia la derecha (X) y hacia abajo (Y), y los valores negativos desplazarán la imagen hacia la izquierda (X) y hacia arriba (Y). Si la imagen es de la misma resolución de la pantalla, se mostrarán bandas laterales negras, en el espacio que quede libre después de desplazar la imagen. Un ejemplo:

$ feh --bg-center --geometry +25-0 ~/Fondos/16x9/891.jpg
--bg-scale Redimensiona la imagen a todo el tamaño de la pantalla, sin respetar las proporciones de la misma. No recomendable hacerlo en resoluciones estándar con imágenes panorámicas que contengan personas, saldrán estiradas.
--bg-fill Redimensiona la imagen a todo el tamaño de la pantalla, respetando las proporciones de la misma, pero recortando su tamaño en el caso de que no tenga la misma razón de aspecto que la resolución de la pantalla.
--bg-max Redimensiona la imagen a todo el tamaño de la pantalla, respetando proporción y razón de aspecto. En imágenes de diferente razón de aspecto respecto a la de la resolución de la pantalla, se mostrarán unas bandas laterales de color negro.

Desde la versión 2.10 de Feh, admite también la opción --geometry para poder mostrar la imagen desplazada en lugar de centrada. Teniendo en cuenta siempre que los valores positivos desplazarán la imagen hacia la derecha (X) y hacia abajo (Y), y los valores negativos desplazarán la imagen hacia la izquierda (X) y hacia arriba (Y). Si la imagen es de la misma resolución de la pantalla, se mostrarán bandas laterales negras, en el espacio que quede libre después de desplazar la imagen. Un ejemplo:

$ feh --bg-max --geometry +25-0 ~/Fondos/16x9/891.jpg

Ejemplos (imagen: 1920x1200 >> pantalla: 1920x1080)

feh --bg-tile
 feh --bg-tile ~/Fondos/16x9/891.jpg
feh --bg-center
feh --bg-center ~/Fondos/16x9/891.jpg

feh --bg-scale
  feh --bg-scale ~/Fondos/16x9/891.jpg
feh --bg-fill
feh --bg-fill ~/Fondos/16x9/891.jpg

feh --bg-max
feh --bg-max ~/Fondos/16x9/891.jpg



Una vez se haya creado el archivo ~/.fehbg, sólo tendremos que añadir el comando $HOME/.fehbg al script de inicio del entorno gráfico que estemos utilizando. Un ejemplo con Openbox.

#!/bin/sh

sleep 5 && pypanel &
xbindkeys &
$HOME/.fehbg

Si el comando de ejecución para colocar una imagen en el fondo de escritorio, lo ejecutamos dentro de un directorio de imágenes, es decir, sin la ruta a la misma, Feh creará una réplica (~/.FEHBG_*.png) en formato PNG en el directorio raíz de nuestro home, que es la que se escribirá en el script ~/.fehbg y se cargará en el próximo reinicio del entorno, siempre y cuando lo hayamos configurado para ello.

Si queremos cambiar el comando, sólo tendremos que editar el script ~/.fehbg, a no ser que queramos comprobar los resultados en la pantalla. De las dos maneras, el comando siempre quedará almacenado en dicho archivo.

En el caso particular de Enlightement - E16, feh lo que hace es añadir la imagen en cuestión al final del archivo de configuración del listado de fondos de escritorio que se guarda en, ~/.e16/e_config--*.*.backgrounds. Con lo que no hace uso del archivo ~/.fehbg, ya que es el propio E16 el que se encarga de cargar la imagen.

561 /home/jose/.e16/backgrounds/xmen3-001.jpg 0 0 0 0 1024 1024
1000
5 999
100 .ZQr8206c0000Z5K6a4
560 0 0 0
561 /home/jose/.e16/backgrounds/yellow-smile-1600.jpg 0 0 0 0 1024 1024
1000
5 999
100 FEHBG_719583487
560 0 0 0
561 /home/jose/Fondos/Bianca_Balti_001.jpg 0 0 512 512 1024 1024
564 0
1000



Utilizar Feh con los administradores de archivos  

Para poder utilizar Feh como visor de imágenes predefinido de algunos de los administradores de archivos documentados en esta web, tendremos que configurar los tipos de archivos de imagen que deseemos asociar su apertura a este programa. Antes que nada crearemos el comando de ejecución de Feh, cuyos parámetros guardaremos en un grupo de opciones del archivo de configuración del programa, ~/.config/feh/themes, para simplificar el comando de ejecución de Feh a añadir a los administradores de archivos y no tener que modificarlo de forma individual en cada uno de los administradores que podamos llegar a utilizar.

En el ejemplo que pongo a continuación, cuando hagamos clic en una imagen, ésta se mostrará en una ventana de 512x384 píxeles. Para que la imagen se muestre a tamaño original dentro de la ventana, basta hacer clic con el botón central del ratón sobre la misma, la podremos mover con el botón izquierdo y para poder visualizarla a pantalla completa, basta presionar la tecla V, aunque en este caso, en Fluxbox por ejemplo, la imagen no ocupaba toda la pantalla, quedando desplazada hacia la derecha. 

Abrimos con un editor de texto el archivo de configuración, ~/.config/feh/themes y nos vamos al final del mismo, añadiendo lo que está en rojo.

thumb_b_nt --thumbnails --cache-thumbnails --thumb-width 256 --thumb-height 256 \
           --limit-width 1024 --sort filename --index-name 0

visor -g 512x384

Definimos el grupo de opciones con el nombre visor, con el que completaremos el comando de ejecución a añadir a los administradores de archivos a utilizar, que sería éste:

feh -Tvisor

A continuación, algunos ejemplos.

1) Midnight Commander (MC)


En el caso de este administrador de archivos, tener en cuenta que la ejecución de Feh sólo funcionará cuando lo estemos ejecutando en un emulador de terminal y en una sesión gráfica.

Para asociarlo sólo hay que editar el archivo de configuración ~/.config/mc/mc.ext, archivo que se crea de forma automática cuando seleccionamos Utilidades >> editar extensiones... de la interfaz del programa. Podemos hacerlo desde el mismo programa o con un editor de texto alternativo, en este caso lo hacemos con un editor de texto alternativo. 

Nos vamos a la línea 428 y añadimos lo que está en color rojo, para visualizar imágenes en modo gráfico.

include/image
    Open=
feh -Tvisor %f
    View=%view{ascii} /usr/libexec/mc/ext.d/image.sh view ALL_FORMATS

2) PCManFM


En este caso y que es el modo habitual de la mayoría de administradores de archivos, hacemos clic con el botón derecho del ratón sobre el archivo de imagen y seleccionamos Abrir con ... >> Abrir con otro programa. Nos saldrá una ventana de diálogo en la que escribiremos el comando feh -Tvisor en el apartado Línea de comandos y marcaremos la opción Establecer la acción predeterminada para la aplicación seleccionada, igual que aparece en la captura de pantalla.

Captura - PCManFM - 1

Esta acción crea un archivo desktop en ~/.local/share/applications/Feh-usercreated-0.desktop, por si la queremos borrar para deshacer la acción y que no aparezca en la lista de aplicaciones a elegir.

3) ROX-Filer

ROX-Filer
nos permite realizar una asociación global, pero Feh no soporta todos los formatos de archivos de imagen posibles, así que lo mejor es asociar las extensiones más habituales. El procedimiento es similar al anterior, hacemos clic con el botón derecho del ratón sobre un archivo de imagen y seleccionamos Definir qué ejecutar..., nos saldrá la ventana de diálogo y la dejamos como aparece en la captura de pantalla, luego hacemos clic en Usar el comando y el programa quedará asociado a este tipo de archivos de imagen.

Captura - ROX-Filer



Iniciamos Feh  


Captura - Feh - 1


Captura - Feh - 2




Enlaces  


http://feh.finalrewind.org >> La web del continuador del desarrollo del programa.


Foro Galería Blog


Actualizado el 06-04-2017

Visores Gráficos - Feh

Visores Gráficos - DanpeiVisores Gráficos - Geeqie