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

Entornos GráficosAplicaciones

DesarrolloEmuladoresInternetJuegosMultimediaSistema

Emuladores de Terminal - EtermEmuladores de Terminal - GTKTerm2

Emuladores de Terminal - FbTerm




Emuladores de Terminal - FbTerm




Copyright

Copyright © José Luis Lara Carrascal  2008-2018   http://manualinux.eu



Sumario

Introducción
Características
Preliminares
Instalación
Opciones de línea de comandos de FbTerm
Configuración
Fbv
Opciones de línea de comandos de Fbv
Iniciamos FbTerm
Enlaces




Introducción  

FbTerm es un emulador de terminal para el dispositivo framebuffer de GNU/Linux, y supera en rendimiento y características a la terminal del kernel de GNU/Linux, una excelente y original opción de la cual trataremos su instalación desde código fuente en este manual.



Características  

* Mucho más rapido que la terminal del kernel cuando la aceleración del desplazamiento vertical está activada.
* Selección de fuente mediante Fontconfig y renderizado de ésta mediante Freetype2, al igual que cualquier aplicación con interfaz gráfica.
* Puede crear y destruir de forma dinámica hasta 10 ventanas, corriendo como intérprete por defecto.
* Guarda el historial del texto desplazado por cada ventana.
* Autodetecta las locales actuales y convierte la codificación de caracteres del texto, doble soporte con scripts como Chino, Japonés, etc.
* Puede conmutar al vuelo entre diferentes codificaciones de caracteres de texto previamente configuradas.
* Puede copiar y pegar el texto seleccionado con el ratón entre diferentes ventanas cuando el servidor gpm está corriendo.
* Soporte de rotación de pantalla.
* Ligero framework de método de entrada con arquitectura cliente/servidor.
* Soporte de imagen en el fondo de la pantalla.



Preliminares  

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


Abrimos una ventana de terminal y ejecutamos el siguiente comando:

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

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

#!/bin/sh

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

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

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

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

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

2) Desinstalar versiones anteriores del programa ubicadas en el directorio /usr

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



Instalación  

Dependencias

Herramientas de Compilación


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

* GCC - (8.1.0) o Clang - (6.0.0)
* Gawk - (4.2.1)
* M4 - (1.4.18)
* Make - (4.2.1)
* Automake - (1.16.1)
* Autoconf - (2.69)
* Pkg-config - (0.29.2)

Librerías de Desarrollo

* Fontconfig - (2.12.6)
* Freetype2 - (2.8)
* Libx86 - (1.1) - opcional



Descarga

fbterm-1.8.tar.gz

Optimizaciones

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

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

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

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

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

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

Optimizaciones adicionales

Optimizaciones adicionales
GCC
Graphite
$ export {C,CXX}FLAGS+=' -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block'
LTO
$ export AR=gcc-ar RANLIB=gcc-ranlib NM=gcc-nm
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=2'
Donde pone 2 se indica el número de núcleos de nuestro procesador, si sólo tiene uno, utilizar el parámetro -flto

Clang
Polly
$ export {C,CXX}FLAGS+=' -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine'
LTO
$ export AR=llvm-ar RANLIB=llvm-ranlib NM=llvm-nm
$ export {C,CXX}FLAGS+=' -flto'
ThinLTO
$ export AR=llvm-ar RANLIB=llvm-ranlib NM=llvm-nm
$ export {C,CXX}FLAGS+=' -flto=thin'
La aplicación de esta optimización es alternativa a la tradicional LTO, a partir de Clang 3.9, y por lo tanto, no es combinable con la misma.

Parámetros adicionales

Parámetros adicionales de eliminación de avisos específicos en el proceso de compilación
Clang
$ export {C,CXX}FLAGS+=' -Qunused-arguments'

Parámetros adicionales de eliminación de errores específicos en el proceso de compilación
GCC 6 y superiores
$ export CXXFLAGS+=' -Wno-narrowing'
Clang 6
$ export CXXFLAGS+=' -Wno-c++11-narrowing'

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"

Establecer el RPATH correspondiente si utilizamos una versión de GCC que no es la principal del sistema
$ export LDFLAGS+=" -Wl,-rpath,/opt/gcc8/lib64 -lstdc++"
Sustituir /opt/gcc8/lib64 por la ruta de instalación de la versión de GCC alternativa que se vaya a utilizar en el proceso de compilación de este paquete.

Establecer la variable de entorno de uso de compilador para Clang
$ export {CC,CXX}=clang

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

$ tar zxvf fbterm-1.8.tar.gz
$ cd fbterm-1.8
$ sed -i '46s:AR:&?:' src/lib/Makefile.in
$ ./configure --disable-dependency-tracking

Explicación de los comandos

sed -i '46s:AR:&?:' src/lib/Makefile.in : Modificamos el archivo base de configuración src/lib/Makefile.in, para poder hacer uso de la variable de entorno AR establecida en el manual, para que la optimización LTO pueda aplicarse de forma correcta en el proceso de compilación del paquete. Si no tenemos pensado aplicar este tipo de optimización, omitiremos esta acción a realizar. 

--disable-dependency-trackingAcelera el tiempo de compilación.

Compilación

$ make
$ rm -f ~/.fbtermrc (si tenemos una versión anterior instalada)

Parámetros de compilación opcionales  

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

Instalación como root

$ su
# make install-strip
# setcap 'cap_sys_tty_config+ep' /usr/local/bin/fbterm

Explicación de los comandos

setcap 'cap_sys_tty_config+ep' /usr/local/bin/fbterm : Requerido para poder ejecutar el programa como usuario normal.

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

Estadísticas de Compilación e Instalación de FbTerm
CPU AMD Phenom(tm) II X4 965 Processor
MHz 3415.709
RAM 4096 MB
Sistema de archivos XFS
Versión del Kernel 4.16.15-ck1 SMP PREEMPT x86_64
Modo de frecuencia de la CPU ondemand
Versión de Glibc 2.27
Enlazador dinámico LLD 6.0.0
Compilador Clang 6.0.0
Parámetros de optimización -03 -march=amdfam10 -mtune=amdfam10 -mllvm -polly -mllvm -polly-vectorizer=stripmine -flto=thin
Parámetros de compilación -j4
Tiempo de compilación 2"
Archivos instalados 2
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 136 KB

Consumo inicial de CPU y RAM de FbTerm

Consumo inicial de CPU y RAM de FbTerm
Proceso
CPU Memoria física
fbterm 0 % 7,1 MB

Archivo de configuración personal

~/.fbtermrc Es el archivo de configuración personal de FbTerm en nuestro home.

Desinstalación como root

1) MODO TRADICIONAL

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

$ su -c "make uninstall"

2) MODO MANUALINUX

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

fbterm-1.8-scripts.tar.gz

$ su
# tar zxvf fbterm-1.8-scripts.tar.gz
# cd fbterm-1.8-scripts
# ./Desinstalar_fbterm-1.8

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 fbterm-1.8-scripts.tar.gz
# cd fbterm-1.8-scripts
# ./Respaldar_fbterm-1.8

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_fbterm-1.8



Opciones de línea de comandos de FbTerm 

[jose@localhost ~]$ fbterm -h
Uso: fbterm [opciones] [--] [comando [argumentos]]
Un emulador de terminal muy rápido para linux que funciona en los modos de vídeo: framebuffer y vesa

  -h, --help                      muestra esta ayuda y termina
  -V, --version                   muestra la versión de FbTerm y termina
  -v, --verbose                   muestra información extra
  -n, --font-names=TEXTO          especifica los nombres de una familia de fuentes de texto
  -s, --font-size=NÚM             especifica el tamaño de píxel de la fuente de texto
  -W, --font-width=NÚM            fuerza la anchura de la fuente de texto
  -H, --font-height=NÚM           fuerza la altura de la fuente de texto
  -B, --font-baseline=NÚM         fuerza la línea base de la fuente de texto
  -f, --color-foreground=NÚM      especifica un color de frente 
  -b, --color-background=NÚM      especifica un color de fondo
  -e, --text-encodings=TEXTO      especifica las codificaciones adicionales de texto
  -a, --ambiguous-wide            trata la anchura de los caracteres CJK ambiguos como ancho
  -r, --screen-rotate=NÚM         especifica la orientación de la pantalla
  -i, --input-method=TEXTO        especifica un programa para el método de entrada
  -c, --cursor-shape=NÚM          establece la forma del cursor predefinida
  -C, --cursor-interval=NÚM       establece el intervalo del parpadeo del cursor
      --vesa-mode=NÚM             fuerza un modo de vídeo VESA
                  list            muestra los modos de vídeo VESA disponibles

Ver comentarios en ~/.fbtermrc para los detalles de las opciones.

 La opción de modo de vídeo VESA es incompatible con el framebuffer y requiere de la ejecución de Fbterm como root.



Configuración de FbTerm  Bloc de Notas  

1) Optimizar el rendimiento de FbTerm


Para poder aprovechar las capacidades de FbTerm lo primero que tenemos que hacer es activar la aceleración del desplazamiento vertical y las MTRR del controlador de gráficos vesafb del kernel, mediante la edición de los archivos de configuración de los respectivos cargadores, GRUB o LILO.

a) GRUB >> /boot/grub/menu.lst ó /boot/grub/grub.cfg según versiones


title GNU/Linux
    root (hd0,0)
    kernel /boot/vmlinuz ro root=LABEL=GNU/Linux splash vga=0x317 video=vesafb:ywrap,mtrr:3
    initrd /boot/initrd.img 

b) LILO >> /etc/lilo.conf


# File generated by DrakX/drakboot
# WARNING: do not forget to run lilo after modifying this file

default="Linux"
boot=/dev/hda
map=/boot/map
vga=791
keytable=/boot/es-latin1.klt
menu-scheme=wb:bw:wb:bw
prompt
nowarn
timeout=100
message=/boot/message
image=/boot/vmlinuz-3.16.0
    label="Linux"
    root=/dev/hda1
    initrd=/boot/initrd-3.16.0.img
    append="quiet noapic acpi=off video=vesafb:ywrap,mtrr:3"
    vga=791
    read-only

$ su -c "lilo"

El programa funciona igual con cualquier otro controlador de gráficos para el framebuffer. En el caso de Nouveau, éste se conmuta de forma automática, desactivando por defecto la configuración que tengamos respecto al controlador de gráficos que hayamos establecido en los parámetros del kernel, en el correspondiente gestor de inicio que utilicemos.

2) Edición del archivo de configuración >> ~/.fbtermrc

Este archivo se crea de forma automática al ejecutar por primera vez el programa, a continuación un ejemplo con los comentarios traducidos al español.

# Configuración de fbterm

# Las líneas que empiezan con '#' son ignoradas.
# Tener en cuenta que los comentarios al final de línea NO están soportados. Éstos tienes que ir en su propia línea.


# fuente familia/tamaño en píxeles usada por fbterm, si se añade más de una separarlas con comas ','
font-family=mono
font-size=12

# fuerza la anchura/altura/línea base de la fuente, normalmente para las fuentes con anchura variable
# formato de valor correcto: n (fw_new = n), +n (fw_new = fw_old + n), -n (fw_new = fw_old - n)
#font-width=
#font-height=
#font-baseline=

# color por defecto para el frente/fondo del texto
# colores disponibles: 0 = negro, 1 = rojo, 2 = verde, 3 = marrón, 4 = azul, 5 = magenta, 6 = cian, 7 = blanco
color-foreground=7
color-background=0

# historial máximo de líneas desplazadas por cada ventana, el valor tiene que ser [0 - 65535], 0 lo desactiva.
history-lines=1000

# Hasta 5 codificaciones de texto adicional, si se añade más de una separarlas con comas ','
# ejecutar 'iconv --list' para obtener las codificaciones disponibles.
text-encoding=

# cursor shape (forma): 0 = subrayado, 1 = bloque
# intervalo del parpadeo del cursor en milisegundos, 0 lo desactiva.
cursor-shape=0
cursor-interval=500

# caracteres ascii adicionales considerados como parte de las palabras cuando se autoselecciona el texto, excepto ' ', 0-9, a-z, A-Z
word-chars=._-

# cambia el ángulo de orientación de la pantalla
# valores disponibles: 0 = 0 grados, 1 = 90 grados, 2 = 180 grados, 3 = 270 grados
screen-rotate=0

# especifica el programa de método de entrada favorito a ser ejecutado
input-method=

# trata la anchura de los caracteres ambiguos como ancho
#ambiguous-wide=yes

# Establece la variable de entorno TERM a 'linux' en lugar de la predefinida 'fbterm'
#term-is-linux=no


3) Atajos del teclado de FbTerm

Esta es la parte del manual que tendremos que aprendernos cuanto antes, porque es fundamental saber los atajos del teclado para poder salir del programa, crear nuevas ventanas, cambiar entre las mismas, etc.

Atajo del teclado Acción
CTRL + ALT + E Salir de FbTerm
CTRL + ALT + C Crea una nueva ventana
CTRL + ALT + D Destruye la ventana actual
CTRL + ALT + 1 Conmuta a la ventana 1
CTRL + ALT + 2 Conmuta a la ventana 2
CTRL + ALT + 3 Conmuta a la ventana 3
CTRL + ALT + 4 Conmuta a la ventana 4
CTRL + ALT + 5 Conmuta a la ventana 5
CTRL + ALT + 6 Conmuta a la ventana 6
CTRL + ALT + 7 Conmuta a la ventana 7
CTRL + ALT + 8 Conmuta a la ventana 8
CTRL + ALT + 9 Conmuta a la ventana 9
CTRL + ALT + 0 Conmuta a la ventana 10
MAYÚSC + FLECHA IZQUIERDA Conmuta a la ventana previa
MAYÚSC + FLECHA DERECHA Conmuta a la ventana siguiente
MAYÚSC + Repág Desplazamiento hacia arriba del historial de líneas de texto
MAYÚSC + Avpág Desplazamiento hacia abajo del historial de líneas de texto
CTRL + ALT + F1 Conmuta a la codificación de caracteres de las locales por defecto
CTRL + ALT + F2 a CTRL + ALT + F6 Conmuta a las codificaciones de caracteres adicionales
CTRL + ALT + K Mata el servidor de mensajería instántanea en caso de bloqueo del mismo
Ratón Acción
Mover con el botón izquierdo presionado Selecciona texto
Doble clic con el botón izquierdo del ratón Selección automática de texto
Clic con el botón derecho del ratón Pega el texto seleccionado



Fbv  

Desde la versión 1.5 de FbTerm, se puede utilizar una imagen de fondo para este emulador de terminal. Para poder hacerlo necesitamos un programa que coloque la imagen en el fondo y la creación de un script lanzador cuyo ejemplo viene reflejado en el man de FbTerm, para que todo esto se haga de forma automatizada. El programa se llama Fbv, es un visor de imágenes para el framebuffer y a continuación explico su instalación.

Instalación

Dependencias

Herramientas de Compilación


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

* GCC - (8.1.0) o Clang - (6.0.0)
* Make - (4.2.1)

Librerías de Desarrollo

* Libjpeg - (9c)
* Libpng - (1.6.34)



Descarga

fbv-1.0b.tar.gz  |  fbv-1.0b_libpng15.diff

Optimizaciones

Optimizaciones adicionales

Optimizaciones adicionales
GCC
Graphite
$ export {C,CXX}FLAGS+=' -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block'
LTO
$ export {C,LD}FLAGS+=' -fuse-linker-plugin -flto=2'
Donde pone 2 se indica el número de núcleos de nuestro procesador, si sólo tiene uno, utilizar el parámetro -flto

Clang
Polly
$ export {C,CXX}FLAGS+=' -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine'
LTO
$ export {C,LD}FLAGS+=' -flto'
ThinLTO
$ export {C,CXX}FLAGS+=' -flto=thin'
La aplicación de esta optimización es alternativa a la tradicional LTO, a partir de Clang 3.9, y por lo tanto, no es combinable con la misma.

Parámetros adicionales

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"

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

Establecer la variable de entorno de uso de compilador para Clang
$ export {CC,CXX}=clang

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

$ tar zxvf fbv-1.0b.tar.gz
$ cd fbv-1.0b
$ sed -e '8s:=:?&:' -e '9s:= -O2:+=:' -i Makefile
$ patch -Np1 -i ../fbv-1.0b_libpng15.diff
$ ./configure --without-libungif --mandir=/usr/local/share/man

Explicación de los comandos

sed -e '8s:=?&:' -e '9s:= -O2:+=:' -i Makefile : Modificamos el archivo Makefile correspondiente para que el paquete acepte las variables de entorno de optimización y uso de compilador.

patch -Np1 -i ../fbv-1.0b_libpng15.diff : Aplicamos este parche personal para poder compilar el paquete con Libpng 1.5 >> 1.6. El error que soluciona es el siguiente:

png.c: En la función 'fh_png_getsize':
png.c:164:25: error: puntero deferenciado a tipo de dato incompleto
make: *** [png.o] Error 1

--without-libungif : Desactivamos el soporte de Giflib al no ser compatible con las versiones de la serie 5.1 y producir errores de compilación.

--mandir=/usr/local/share/manInstala el archivo man del programa en /usr/local/share/man, en lugar de /usr/local/man.

Compilación

$ make

Parámetros de compilación opcionales

Instalación como root

$ su -c "make install"

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

Estadísticas de Compilación e Instalación de Fbv
CPU AMD Phenom(tm) II X4 965 Processor
MHz 3415.709
RAM 4096 MB
Sistema de archivos XFS
Versión del Kernel 4.16.15-ck1 SMP PREEMPT x86_64
Modo de frecuencia de la CPU ondemand
Versión de Glibc 2.27
Enlazador dinámico LLD 6.0.0
Compilador Clang 6.0.0
Parámetros de optimización -03 -march=amdfam10 -mtune=amdfam10 -mllvm -polly -mllvm -polly-vectorizer=stripmine -flto=thin
Parámetros de compilación -j4
Tiempo de compilación 1"
Archivos instalados 2
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 48 KB

Consumo inicial de CPU y RAM de Fbv

Consumo inicial de CPU y RAM de Fbv
Proceso
CPU Memoria física
fbv 0 % 4,2 MB

Desinstalación como root

1) MODO TRADICIONAL

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

$ su -c "make uninstall"

2) MODO MANUALINUX

fbv-1.0b-scripts.tar.gz

$ su
# tar zxvf fbv-1.0b-scripts.tar.gz
# cd fbv-1.0b-scripts
# ./Desinstalar_fbv-1.0b

Copia de Seguridad como root

$ su
# tar zxvf fbv-1.0b-scripts.tar.gz
# cd fbv-1.0b-scripts
# ./Respaldar_fbv-1.0b

Restaurar la Copia de Seguridad como root

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_fbv-1.0b

Creación del script para la imagen de fondo

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

#!/bin/bash

# fbterm-bi: un script lanzador para activar una imagen de fondo con fbterm
# uso: fbterm-bi /ruta/a la/imagen opciones de fbterm

echo -ne "\e[?25l" # hide cursor

fbv -ciuker "$1" << EOF
q
EOF

shift
export FBTERM_BACKGROUND_IMAGE=1
exec fbterm "$@"

Lo guardamos con el nombre fbterm-bi, y lo instalamos en /usr/local/bin. La desinstalación y respaldo de este archivo viene incluida en los scripts correspondientes proporcionados en este manual.

$ su
# install -m755 fbterm-bi /usr/local/bin

Ahora sólo nos queda usarlo del siguiente modo, un ejemplo:

$ fbterm-bi ~/Fotos/imagen-1.jpg (opciones de fbterm)

Si tenemos pensado usar una imagen fija definida, podemos crear otro script con el comando de arriba, las opciones de uso son muy variadas. Las opciones de FbTerm siempre van a continuación de la ruta de la imagen de fondo a utilizar, si es que queremos pasarle alguna mediante la línea de comandos.



Opciones de línea de comandos de Fbv  

A continuación pongo las opciones de línea de comandos del programa para facilitar su uso como visor de imágenes. Recordar que sólo funciona con el framebuffer activado. He añadido más atajos de teclado de los que muestran las opciones del programa, extraídos del código fuente del mismo.

[jose@localhost fbv-1.0b]$ fbv -h
Uso: fbv [opciones] imagen1 imagen2 imagen3 ...

Opciones disponibles:
 --help        | -h : Muestra esta ayuda
 --alpha       | -a : Utiliza el canal alfa (si es aplicable)
 --dontclear   | -c : No limpia la pantalla antes de mostrar la imagen
 --donthide    | -u : No oculta el cursor antes y después de mostrar la imagen
 --noinfo      | -i : Suprime la información de la imagen
 --stretch     | -f : Redimensiona (usando una rutina de redimensionado simple) las imágenes grandes al tamaño de la pantalla
 --colorstretch| -k : Redimensiona (usando una rutina de redimensionado de 'promedio de color') las imágenes grandes al tamaño de la pantalla
 --enlarge     | -e : Redimensiona las imágenes pequeñas al tamaño de la pantalla
 --ignore-aspect| -r : Ignora el aspecto de la imagen cuando se redimensiona
 --delay <d>   | -s <retardo> : Presentación, 'retardo' es el retardo en décimas de segundo de la presentación de imágenes.

Atajos de teclado:
 r            : Redibuja la imagen 
 a, d, w, x   : Navega por la imagen cuando ésta es de mayor resolución que la pantalla
 f            : Activa/desactiva el redimensionado de la imagen
 k            : Activa el redimensionado de calidad
 e            : Activa/desactiva la ampliación de la imagen
 i            : Activa/desactiva la razón de aspecto de la imagen
 n            : Rota la imagen 90 grados a la izquierda
 m            : Rota la imagen 90 grados a la derecha
 p            : Desactiva todas las transformaciones
 >            : Avanza a la siguiente imagen si hemos cargado más de una
 <            : Retrocede a la imagen anterior si hemos cargado más de una
 q            : Finaliza el programa



Iniciamos FbTerm  

Si estamos ejecutando una sesión gráfica, ejecutamos por ejemplo, CTRL + ALT + F2 y saldremos a una consola de texto libre, introducimos nuestro nombre de usuario y contraseña y posteriormente ejecutamos el comando fbterm y el programa se iniciará, recordar que sin el framebuffer activado este programa no funciona en el modo de vídeo predefinido. Si queremos usar una imagen de fondo, usaremos el script fbterm-bi con la ruta a la imagen indicada como ya he explicado en la sección anterior.


Captura - FbTerm - 1




Enlaces  


https://github.com/sfzhi/fbterm >> La web de FbTerm.

http://www.eclis.ch/fbv/ >> La web de Fbv.


Foro Galería Blog


Actualizado el 14-06-2018

Emuladores de Terminal - FbTerm

Emuladores de Terminal - EtermEmuladores de Terminal - GTKTerm2