Copyright
Copyright © José
Luis Lara Carrascal 2009-2024
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 -l)
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 - (14.1.0) o Clang - (18.1.8)
* Make - (4.4.1)
Librerías
de Desarrollo
*
Xorg - (7.7 / xorg-server 21.1.13)
LibX11 - (1.8.9)
LibXinerama - (1.1.5)
* Curl - (8.8.0)
* Imlib2 - (1.12.2)
* Libexif - (0.6.24)
* Libpng - (1.6.43)
Aplicaciones
* Convert (ImageMagick) - (7.1.1-34)
* Jpegtran (Libjpeg-turbo) - (3.0.3)
Descarga
feh-3.10.3.tar.xz
Extracción
$
tar Jxvf feh-3.10.3.tar.xz
$ cd feh-3.10.3
|
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 |
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. |
x86-64 |
Procesador genérico con extensiones 64-bit. Esta opción está disponible a partir de GCC 8 y Clang 1.9. |
x86-64-v2 |
Procesador genérico con con soporte de instrucciones X86-64 (MMX, SSE, SSE2, LAHFSAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11 y Clang 12. |
x86-64-v3 |
Procesador genérico con con soporte de instrucciones X86-64 (MMX, SSE, SSE2, LAHFSAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3, AVX, AVX2, F16C, FMA, LZCNT, MOVBE, XSAVE, XSAVEC, FMA4) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11 y Clang 12. |
x86-64-v4 |
Procesador genérico con con soporte de instrucciones X86-64 (MMX, SSE, SSE2, LAHFSAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3, AVX, AVX2, F16C, FMA, LZCNT, MOVBE, XSAVE, XSAVEC, AVX512*, FMA4) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11 y Clang 12. |
Intel |
alderlake |
Intel Alderlake con soporte de instrucciones x86-64 (MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI, AVX512BF16, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11 y Clang 12. |
arrowlake |
Intel Arrow Lake con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD y extensiones 64-bit. Esta opción está disponible a partir de GCC 14. |
arrowlake-s |
Intel Arrow Lake S con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, AVXVNNIINT16, SHA512, SM3, SM4 y extensiones 64-bit. Esta opción está disponible a partir de GCC 14. |
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 Server con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VBMI, AVX512IFMA, SHA, UMIP y extensiones 64-bit. Esta opción está disponible a partir de GCC 8 y Clang 3.9. |
cascadelake |
Intel Cascadelake con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI y extensiones 64-bit. Esta opción está disponible a partir de GCC 9 y Clang 8. |
clearwaterforest |
Intel Clearwater Forest con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, ENQCMD, UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, AVXVNNIINT16, SHA512, SM3, SM4, USER_MSR, PREFETCHI y extensiones 64-bit. Esta opción está disponible a partir de GCC 14 y Clang 18. |
cooperlake |
Intel Cooper Lake con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI, AVX512BF16 y extensiones 64-bit. Esta opción está disponible a partir de GCC 10 y Clang 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. |
emeraldrapids |
Intel Emerald Rapids. Esta opción está disponible a partir de GCC 13 y Clang 16. |
goldmont |
Intel Goldmont con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMUL, RDRND, XSAVE, XSAVEOPT, FSGSBASE y extensiones 64-bit. Esta opción está disponible a partir de GCC 9 y Clang 5. |
goldmont-plus |
Intel Goldmont Plus con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMUL, RDRND, XSAVE, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, UMIP y extensiones 64-bit. Esta opción está disponible a partir de GCC 9 y Clang 7. |
grandridge |
Intel Grand Ridge con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, RAOINT y extensiones 64-bit. Esta opción está disponible a partir de GCC 13 y Clang 16. |
graniterapids |
Intel Grand Ridge con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2, VPCLMULQDQ, AVX512BITALG, RDPID, AVX512VPOPCNTDQ, PCONFIG, WBNOINVD, CLWB, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI, AVX512-FP16, AVX512BF16, AMX-FP16, PREFETCHI y extensiones 64-bit. Esta opción está disponible a partir de GCC 13 y Clang 16. |
graniterapids-d |
Intel Granite Rapids D con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2, VPCLMULQDQ, AVX512BITALG, RDPID, AVX512VPOPCNTDQ, PCONFIG, WBNOINVD, CLWB, MOVDIRI, MOVDIR64B, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI, AVX512FP16, AVX512BF16, AMX-FP16, PREFETCHI, AMX-COMPLEX y extensiones 64-bit. Esta opción está disponible a partir de GCC 14 y Clang 17. |
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. |
icelake-client |
Intel Icelake Client con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI, AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ, VAES y extensiones 64-bit. Esta opción está disponible a partir de GCC 8 y Clang 7. |
icelake-server |
Intel Icelake Server con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI, AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ, VAES, PCONFIG, WBNOINVD y extensiones 64-bit. Esta opción está disponible a partir de GCC 8 y Clang 7. |
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. |
knm |
Intel Knights Mill 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, AVX512CD, AVX5124VNNIW, AVX5124FMAPS, AVX512VPOPCNTDQ y extensiones 64-bit. Esta opción está disponible a partir de GCC 8 y Clang 6. |
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. |
lunarlake |
Intel Lunar Lake. Esta opción está disponible a partir de GCC 14 y es equivalente a la opción arrowlake-s. |
meteorlake |
Intel Meteor Lake. Esta opción está disponible a partir de GCC 13 y Clang 16. |
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. |
pantherlake |
Intel Panther Lake con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, AVXVNNIINT16, SHA512, SM3, SM4, PREFETCHI y extensiones 64-bit. Esta opción está disponible a partir de GCC 14 y Clang 18. |
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. |
raptorlake |
Intel Raptor Lake. Esta opción está disponible a partir de GCC 13 y Clang 16. |
rocketlake |
Intel Rocket Lake con soporte de instrucciones x86-64 (MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI, AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ, VAES) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11 y Clang 13. |
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. |
sapphirerapids |
Intel Sapphire Rapids con soporte de instrucciones x86-64 (MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI, AVX512BF16, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11 y Clang 12. |
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. |
sierraforest |
Intel Sierra Forest con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD y extensiones 64-bit. Esta opción está disponible a partir de GCC 13 y Clang 16. |
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. |
tigerlake |
Intel Tiger Lake con soporte de instrucciones OVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI, AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ, VAES, PCONFIG, WBNOINVD, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT y extensiones 64-bit. Esta opción está disponible a partir de GCC 10 y Clang 10. |
tremont |
Intel Tremont con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMUL, RDRND, XSAVE, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, UMIP, GFNI-SSE, CLWB, ENCLV y extensiones 64-bit. Esta opción está disponible a partir de GCC 9 y Clang 7. |
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. |
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. |
znver2 |
Procesadores basados en AMD Family 17h core con soporte de instrucciones x86-64 (BMI, BMI2, ,CLWB, 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 9 y Clang 9. |
znver3 |
Procesadores basados en AMD Family 19h core con soporte de instrucciones x86-64 (BMI, BMI2, CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID, WBNOINVD, PKU, VPCLMULQDQ, VAES) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11 y Clang 12. |
znver4 |
Procesadores basados en AMD Family 19h core con soporte de instrucciones x86-64 (BMI, BMI2, CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID, WBNOINVD, PKU, VPCLMULQDQ, VAES, AVX512F, AVX512DQ, AVX512IFMA, AVX512CD, AVX512BW, AVX512VL, AVX512BF16, AVX512VBMI, AVX512VBMI2, AVX512VNNI, AVX512BITALG, AVX512VPOPCNTDQ, GFNI) y extensiones 64-bit. Esta opción está disponible a partir de GCC 12.3 y Clang 16. |
znver5 |
Procesadores basados en AMD Family 1ah core con soporte de instrucciones x86-64 (BMI, BMI2, CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID, WBNOINVD, PKU, VPCLMULQDQ, VAES, AVX512F, AVX512DQ, AVX512IFMA, AVX512CD, AVX512BW, AVX512VL, AVX512BF16, AVX512VBMI, AVX512VBMI2, AVX512VNNI, AVX512BITALG, AVX512VPOPCNTDQ, GFNI, AVXVNNI, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, PREFETCHI) y extensiones 64-bit. Esta opción está disponible a partir de GCC 14. |
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/gcc14/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)" |
Eliminar los símbolos innecesarios para la ejecución del programa |
$ export
LDFLAGS+=" -Wl,-s" |
Establecer la variable de entorno de uso de compilador para Clang |
$ export CC=clang CXX=clang++ |
Compilación
$ make PREFIX=/usr help=1 exif=1 inotify=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.
inotify=1 : Recarga de forma automática los archivos de imagen modificados en modo presentación.
Parámetros de compilación opcionales
-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 -c "make PREFIX=/usr help=1 exif=1 inotify=1 app=1 install" |
Explicación
de los
comandos
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 Ryzen 5 5500 |
MHz |
3600 (BoostMax=4457) |
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.9.7-ml SMP PREEMPT_DYNAMIC x86_64 |
Modo de frecuencia de la CPU |
powersave (balance performance) |
Planificador de CPU |
BMQ |
Versión de Glibc |
2.39 |
Enlazador dinámico |
LLD 18.1.8 |
Compilador |
Clang 18.1.8 |
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 |
-j12 |
Tiempo de compilación |
2" |
Archivos instalados |
19 |
|
Ocupación de espacio en disco |
528 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:
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-3.10.3-scripts.tar.gz
$ su
# tar zxvf feh-3.10.3-scripts.tar.gz
# cd feh-3.10.3-scripts
# ./Desinstalar_feh-3.10.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-3.10.3-scripts.tar.gz
# cd feh-3.10.3-scripts
# ./Respaldar_feh-3.10.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-3.10.3
|
Opciones
de
línea de comandos
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.
--on-last-slide quit Finaliza el modo
presentación al mostrar la última imagen cargada.
--on-last-slide hold Detiene la
presentación al final y al comienzo de la lista de
imágenes cargadas.
-R, --reload
NÚM Recarga las imágenes
después de
NÚM segundos.
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) y none (ninguno).
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 no se 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.
--conversion-timeout INT Carga archivos
desconocidos con ImageMagick o Dcraw. 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
--cache-size NÚMERO Tamaño de la caché de Imlib2 en MB.
--auto-reload Recarga
de forma automática la imagen mostrada si el archivo ha sido
modificado
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:
o éste, lo mismo da,
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,
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 |
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) |
L |
Guarda la lista de imágenes
actual cómo "feh_PID_ID_lista_de_archivo" |
g, G |
Activa/desactiva el redimensionado automático de la ventana cuando se cambia de imagen. |
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" |
f, F |
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 -F -D2 -. ~/Fotos |
Examina de forma recursiva (-r)
el directorio ~/Fotos
y muestra todas las imágenes en modo presentación a pantalla completa (-F), cambiando de imagen cada 2 segundos (-D2) y, redimensionando las imágenes más grandes al tamaño de la pantalla (-.).
Si quitamos el retardo, cambiaremos de imagen haciendo clic con el
botón izquierdo sobre la imagen, o con la barra de espacio del
teclado.
$
feh -rSname -F -D2 -. ~/Fotos |
Lo mismo que el anterior, pero esta vez, ordenándolas de forma
alfabética (Sname).
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).
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 ~/Fondos/16x9/891.jpg |
feh
--bg-center ~/Fondos/16x9/891.jpg |
feh
--bg-scale ~/Fondos/16x9/891.jpg |
feh --bg-fill ~/Fondos/16x9/891.jpg |
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:
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.
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.
Iniciamos
Feh
Enlaces
http://feh.finalrewind.org >> La web
del continuador del desarrollo del programa.
|