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

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-2013   http://manualinux.freehostia.com



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 - (4.8.1) o Clang - (3.2)
* Make - (3.82)

Librerías de Desarrollo

* Xorg o XFree86 - (Xorg 7.7 / xorg-server 1.14.1)
   LibX11 - (1.5.0)
   LibXinerama - (1.1.2)
* Imlib2 - (1.4.5)
* Curl - (7.30.0)
* Libpng - (1.4.12)
* Giblib - (1.4.2)
* Libexif - (0.6.21)

Aplicaciones

* Jpegtran (Libjpeg) - (9)
* Convert (ImageMagick) - (6.8.1-9)



Descarga

feh-2.9.3.tar.bz2

Extracción  Bloc de Notas

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

Optimizaciones

GCC
$ export {CFLAGS,CXXFLAGS}='-O3 -march=amdfam10 -mtune=amdfam10'

Clang
$ export {CFLAGS,CXXFLAGS}='-O3 -march=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.x e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
Nota informativa sobre las optimizaciones para Clang
* La opción '-mtune=' no está soportada por 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
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='. Esta opción está disponible a partir de GCC 4.2.x.
i386 Intel i386.
i486 Intel i486.
i586, pentium Intel Pentium sin soporte de instrucciones MMX.
pentium-mmx Intel PentiumMMX basado en Pentium con soporte de instrucciones MMX.
pentiumpro Intel PentiumPro.
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.
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.
pentium-m Versión de bajo consumo de Intel Pentium3 con soporte de instrucciones MMX, SSE y SSE2. Utilizado por los portátiles Centrino.
pentium4, pentium4m Intel Pentium4 con soporte de instrucciones MMX, SSE y SSE2.
x86-64 Procesadores AMD y compatibles con soporte de instrucciones x86-64, SSE2 y extensiones 64-bit.
yonah Procesadores basados en la microarquitectura de Pentium M, con soporte de instrucciones MMX, SSE, SSE2 y SSE3.
prescott Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2 y SSE3.
nocona Versión mejorada de Intel Pentium4 con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2 y SSE3.
core2 Intel Core2 con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3 y SSSE3. Esta opción está disponible a partir de GCC 4.3.x.
penryn Intel Penryn con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y SSE4.1.
corei7 Intel Core i7 con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 y SSE4.2. Soporta también los procesadores Intel Core i3 e i5. Esta opción está disponible a partir de GCC 4.6.x.
nehalem Procesadores basados en la microarquitectura de procesador Nehalem de Intel.
westmere Procesadores basados en la microarquitectura de procesador Westmere de Intel.
corei7-avx Intel Core i7 con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AES y PCLMUL. Soporta también los procesadores Intel Core i3 e i5. Esta opción está disponible a partir de GCC 4.6.x.
core-avx-i Intel Core (ivyBridge) con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AES, PCLMUL, FSGSBASE, RDRND y F16C. Esta opción está disponible a partir de GCC 4.7.x.
core-avx2 Intel Core (Haswell). Esta opción está disponible a partir de GCC 4.7.x.
atom Intel Atom con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3 y SSSE3. Esta opción está disponible a partir de GCC 4.5.x.
k6 AMD K6 con soporte de instrucciones MMX.
k6-2, k6-3 Versiones mejoradas de AMD K6 con soporte de instrucciones MMX y 3DNow!.
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.
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.x.
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.x.
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.x.
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.x.
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.x.
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.x.
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.x.
winchip-c6 IDT Winchip C6, que equivale a un i486 con soporte de instrucciones MMX.
winchip2 IDT Winchip2, que equivale a un i486 con soporte de instrucciones MMX y 3DNow!.
c3 Via C3 con soporte de instrucciones MMX y 3DNow!.
c3-2 Via C3-2 con soporte de instrucciones MMX y SSE.
geode AMD integrado con soporte de instrucciones MMX y 3DNow!. Esta opción está disponible a partir de GCC 4.3.x.
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.x.

Compilación

$ export {CC,CXX}=clang
$ make PREFIX=/usr help=1 exif=1

Explicación de los comandos

export {CC,CXX}=clang : Si vamos a compilar el paquete con Clang, establecemos la correspondiente variable de entorno.

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.

Instalación como root

$ su
# make PREFIX=/usr help=1 exif=1 install

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 eval `cat $HOME/.fehbg`

Desinstalación como root

1) MODO TRADICIONAL

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

$ su
# make uninstall


2) MODO MANUALINUX  

El principal inconveniente del comando anterior es que tenermos 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.9.3-scripts.tar.gz

$ su 
# tar zxvf feh-2.9.3-scripts.tar.gz
# cd feh-2.9.3-scripts
# ./Desinstalar_feh-2.9.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.9.3-scripts.tar.gz
# cd feh-2.9.3-scripts
# ./Respaldar_feh-2.9.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.9.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, es recomendable leerse el man del programa, al no actualizarse de una manera correcta, estas opciones de línea de comandos.

[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               No muestra los avisos de cargas fallidas
                           Los modos verboso y silencioso no son mutuamente exclusivos,
                           el primero controla los mensajes informativos, el
                           segundos sólo los errores.
 -T, --theme TEMA          Carga las opciones desde un archivo config con el nombre TEMA
                           ver man feh para más información.
 -r, --recursive           Examina recursivamente el contenido de todos los directorios ubicados en
                           ARCHIVO
 -z, --randomize           Cuando se está viendo múltiples archivos en una presentación,
                           aleatoriza la lista de archivos antes de mostrarlos.
 --no-jump-on-resort       No salta a la primera imagen cuando la lista de archivos
                           es reordenada.
 -g, --geometry TEXTO      Limita (y no cambia) el tamaño de la ventana. Toma
                           una cadena de texto de geometría estilo-X como 640x480.
                           Tener en cuenta que las imágenes grandes serán redimensionadas al tamaño
                           indicado. Con un clic del botón central del ratón se restaurará el tamaño
                           original de la imagen.                          
 -f, --filelist ARCHIVO    Esta opción es similar a las listas de reproducción usadas por el software
                           musical. Si el ARCHIVO existe, se leerá para una lista
                           de archivos a cargar, en el orden de aparición.
                           El formato es una lista de nombres de archivos de imagen absoluto o relativo al
                           directorio actual, un nombre de archivo por línea.
                           Si el ARCHIVO no existe, será creado desde la lista de 
                           archivos interna al final de la sesión de visionado.
                           Esto es mejor usarlo para guardar los resultados de clasificaciones
                           complejas (-Spixels por ejemplo) para un visionado posterior.
                           Todos los cambios de la lista de archivos interna (como
                           borrar un archivo o excluirlo por no estar soportado)
                           será guardado al ARCHIVO cuando feh termine.
                           Usted puede añadir archivos a las listas de archivos usando las mismas
                           opciones de línea de comandos, que serán incluidas en dichas listas.
 -|, --start-at POSICIÓN   Inicia en una POSICIÓN en la lista de archivos
 -p, --preload             Precarga las imágenes. Esto no significa más consumo de 
                           RAM, significa ejecutar a través de y eliminar las imágenes no soportadas
                           primero.
 -.,  --scale-down         Redimensiona automáticamente las imágenes demasiado grandes para la pantalla.
                           Actualmente sólo funciona con -P
 -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, si es afectado con la opción --stretch
     --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á a el tamaño.
 -w, --multiwindow         Desactiva el modo presentación. Con esta opción,
                           en lugar de abrir múltiples archivos en modo presentación,
                           múltiples ventanas serán abiertas.
 -x, --borderless          Crea una ventana sin decoración
 -d, --draw-filename       Dibuja el nombre de archivo en la parte superior izquierda de la imagen.
     --title TÍTULO        Usa TÍTULO como título de la ventana en modo presentación.
 -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.
 -Q, --builtin             Usa el grabador http interno para grabar los archivos remotos
                           en lugar de wget.
                           opción útil si no está instalado wget.
 -k, --keep-http           Cuando se está viendo archivos usando http, feh normalmente
                           borra las copias locales después del visionado, o,
                           si está cacheado, al salir. Esta opción previene esto y permite
                           que usted pueda guardar las copias locales.
                           Éstas estarán en el directorio de trabajo actual con "feh"
                           en el nombre.
 -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),
                           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 cadena como una acción a realizar en la imagen.
                           En los modos presentación o multiventana, la acciónthe action
                           en modo lista, o modos cargable|descargable, la
                           acción será ejecutada por cada archivo.
                           La acción será ejecutada por /bin/sh. UsarUse
                           especificadores de formato para referirse a la información de imagen. Ver
                           ESPECIFICADORES DE FORMATOS para los ejemplos
                           Ej. -A "mv %f ~/imagenes/%n"
                           En modo presentación, la siguiente imagen será mostrada
                           depués de ejecutar el comando, en modo multiventana,
                           la ventana será cerrada.
     --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
 -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

     --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 "eval `cat $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.
 ESPECIFICADORES DE FORMATO
                           %f ruta de imagen/nombre de archivo
                           %n nombre de imagen
                           %s tamaño de imagen (bytes)
                           %S tamaño de imagen (en kilobytes)
                           %p resolución de imagen
                           %w anchura de imagen
                           %h altura de imagen
                           %t formato de imagen
                           %P imprime feh
                           %v imprime la versión
                           %m imprime el modo (presentación, multiventana...)
                           %l imprime el número total de archivos en la lista de archivos
                           %u imprime el número de archivo actual
                           \n imprime una nueva línea
                           Ej. feh -A "mv %f ~/imágenes/%n" *
 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 esté 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


 
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
p, P , Retroceso, Flecha izquierda Retrocede la presentación.
n, N , Espacio, Flecha derecha Avanza la presentación.
r, R Recarga la imagen en curso. Útil para las webcams.
v, V Activa la pantalla completa.
m, M Despliega el menú de Feh.
c, C Activa el modo de edición de subtítulos (caption). Si --caption-path ha 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.
w, W Ajusta el tamaño de la ventana al tamaño original de la imagen.
h, H Pausa la presentación. Sólo funciona si el cambio automático de imagen ha sido especificado.
z, Z Salta a una posición aleatoria en la lista de archivos actual.
a, A Activa el despliegue de la acción (--draw-actions)
d, D Activa el despliegue del nombre de archivo (--draw-filename)
s, S Guarda la imagen actual a un único nombre de archivo.
f, F Guarda la lista de imágenes actual a un único nombre de archivo.
< , > En modo de edición de imágenes, gira la imagen 90 grados a la izquierda o a la derecha.
Inicio Va al comienzo de la presentación.
Fin Va al final de la presentación.
Esc , Q Finaliza la presentación.
+ , = Incrementa el retardo de recarga.
- , _ Decrementa el retardo de recarga.
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.
x, X Cierra la ventana actual.
Teclado numérico
Flecha izquierda Mueve la imagen hacia la izquierda.
Flecha derecha Mueve la imagen hacia la derecha.
Flecha arriba Mueve la imagen hacia arriba.
Flecha abajo Mueve la imagen hacia abajo
Inicio Suaviza la imagen.
+ Amplía la imagen.
- Reduce la imagen.
* Muestra la imagen a tamaño original.
/ Ajusta la imagen al tamaño de la ventana.
Intro, 0 Ejecuta una acción especificada con la opción --action.
1-9 Ejecuta una acción 1-9 especificada con las opciones [1-9]
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.

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:

--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.
--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. 

Ejemplos (imagen: 1680x1050 >> pantalla: 1024x768)

feh --bg-tile
 feh --bg-tile ~/Fondos/Kelly_Brook_Widescreen_001.jpg
feh --bg-center
feh --bg-center ~/Fondos/Kelly_Brook_Widescreen_001.jpg

feh --bg-scale
  feh --bg-scale ~/Fondos/Kelly_Brook_Widescreen_001.jpg
feh --bg-fill
feh --bg-fill ~/Fondos/Kelly_Brook_Widescreen_001.jpg

feh --bg-max
feh --bg-max ~/Fondos/Kelly_Brook_Widescreen_001.jpg



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

#!/bin/sh

sleep 5 && pypanel &
xbindkeys &
eval `cat $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 archivo ~/.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 archivo ~/.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 ~/.mc/bindings, archivo que se crea de forma automática (el archivo sí, el directorio lo tenemos que crear nosotros) cuando seleccionamos Utilidades >> editar el archivo de 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 341 y cambiamos GQview por Feh como visor de imágenes por defecto para el modo gráfico.

include/image
    Open=if [ "$DISPLAY" = "" ]; then zgv %f; else (feh -Tvisor %f &); fi
    View=%view{ascii} identify %f
    #View=%view{ascii} asciiview %f

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://linuxbrit.co.uk/feh/ >> La web del autor original de Feh.

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


Foro Galería Blog


Actualizado el 15-06-2013

Visores Gráficos - Feh

Visores Gráficos - DanpeiVisores Gráficos - Geeqie