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

Entornos GráficosAplicaciones

DesarrolloEmuladoresInternetJuegosMultimediaSistema

Editores de Texto - TEAEmuladores de Terminal - FbTerm

Emuladores de Terminal - Eterm




Emuladores de Terminal - Eterm




Copyright

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



Sumario

Introducción
LibAST
Eterm
Configuración de Eterm
Temas
Iniciamos Eterm
Enlaces




Introducción  

Aunque tenía pensado incluir la información sobre este emulador de terminal en el manual de Enlightenment - E16, he preferido no sobrecargar dicho manual y crear uno específico para esta excelente alternativa al conocido Xterm. Entre sus principales características se encuentra la posibilidad de usar temas, con lo que su integración con el administrador de ventanas Enlightenment - E16 es perfecta. Hay que decir también que con Eterm se instala el mejor 'setter' o traducido al español, el mejor activador de fondos de pantalla que existe en GNU/Linux, que es Esetroot.



LibAST

Librería de la que depende Eterm y desarrollada por el mismo creador del programa.

Instalación

Dependencias

Herramientas de Compilación


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

* GCC - (8.1.0) o Clang - (6.0.0)
* Gawk - (4.2.1)
* M4 - (1.4.18)
* Libtool - (2.4.6)
* Make - (4.2.1)
* Automake - (1.16.1)
* Autoconf - (2.69)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 1.20.0)
   LibICE - (1.0.9)
   LibX11 - (1.6.5)
* Imlib2 - (1.5.1)
* PCRE - (8.42)



Descarga

libast-0.7.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 {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 CC+=' -flto'
ThinLTO
$ export CC+=' -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.
Aplicar los parámetros referentes a LTO o ThinLTO después de haber establecido la variable de entorno de uso de compilador para Clang.

Parámetros adicionales

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

Establecer 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 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 libast-0.7.tar.gz
$ cd libast-0.7
$ ./configure --disable-dependency-tracking --prefix=/usr \
--disable-static --libdir=/usr/lib64

Explicación de los comandos

--disable-dependency-tracking
: Acelera el tiempo de compilación.
--prefix=/usr : Instala la librería en el directorio principal /usr.
--disable-static : Desactiva la compilación de las librerías estáticas, al no ser necesarias para la ejecución de Eterm.

--libdir=/usr/lib64
: Instala la librería en /usr/lib64, en sistemas de 64 bits multiarquitectura.

Compilación

$ make

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
# ldconfig -v

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

Estadísticas de Compilación e Instalación de LibAST
CPU AMD Phenom(tm) II X4 965 Processor
MHz 3415.709
RAM 4096 MB
Sistema de archivos XFS
Versión del Kernel 4.16.12-ck1 SMP PREEMPT x86_64
Modo de frecuencia de la CPU ondemand
Versión de Glibc 2.27
Enlazador dinámico GNU gold (Binutils 2.30) 1.15
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 3"
Archivos instalados 22
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 2
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 424 KB

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.

libast-0.7-scripts.tar.gz

$ su
# tar zxvf libast-0.7-scripts.tar.gz
# cd libast-0.7-scripts
# ./Desinstalar_libast-0.7

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 libast-0.7-scripts.tar.gz
# cd libast-0.7-scripts
# ./Respaldar_libast-0.7

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_libast-0.7



Eterm  

Instalación

Dependencias

Herramientas de Compilación


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

* GCC - (8.1.0) o Clang - (6.0.0)
* Gawk - (4.2.1)
* M4 - (1.4.18)
* Libtool - (2.4.6)
* Make - (4.2.1)
* Automake - (1.16.1)
* Autoconf - (2.69)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 1.20.0)
   LibICE - (1.0.9)
   LibX11 - (1.6.5)
   LibXext - (1.3.3)
   LibXRes - (1.2.0)
* Imlib2 - (1.5.1)
* LibAST - (0.7)

Aplicaciones

* Wget - (1.19.5) [1]
* Convert (ImageMagick) - (7.0.7-35) [2]

[1] Requerido para poder descargarnos un icono desde internet.
[2] Requerido para poder crear los iconos del archivo desktop.



Descarga

Eterm-0.9.6.tar.gz

Optimizaciones

Optimizaciones adicionales

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

Clang
Polly
$ export {C,CXX}FLAGS+=' -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine'
LTO
$ export CC+=' -flto'
ThinLTO
$ export CC+=' -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.
Aplicar los parámetros referentes a LTO o ThinLTO después de haber establecido la variable de entorno de uso de compilador para Clang.

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
Clang
$ export CFLAGS+=' -std=gnu89'

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 Eterm-0.9.6.tar.gz
$ cd Eterm-0.9.6
$ ./configure --disable-dependency-tracking --prefix=/usr \
--mandir=/usr/share/man --disable-static --libdir=/usr/lib64

Explicación de los comandos

--disable-dependency-tracking
: Acelera el tiempo de compilación.
--prefix=/usr : Instala el programa en el directorio principal /usr.
--mandir=/usr/share/man : Instala la página de manual del programa en /usr/share/man, en lugar de /usr/man.
--disable-static : Desactiva la compilación de las librerías estáticas, al no ser necesarias para la ejecución de Eterm.

--libdir=/usr/lib64
: Instala la librería en /usr/lib64, en sistemas de 64 bits multiarquitectura.

Compilación

$ make

Parámetros de compilación opcionales

Instalación como root

wget -c http://png.findicons.com/files/icons/1262/amora/256/terminal.png -O Eterm.png
$ su
# make install
# ldconfig -v
# for i in /usr/share/icons/hicolor ; do \
install -dm755 $i/{16x16,24x24,32x32,\
48x48,64x64,128x128,256x256}/apps ; \
install -m644 Eterm.png $i/256x256/apps; \
convert -resize 128 Eterm.png $i/128x128/apps/Eterm.png ; \
convert -resize 64 Eterm.png $i/64x64/apps/Eterm.png ; \
convert -resize 48 Eterm.png $i/48x48/apps/Eterm.png ; \
convert -resize 32 Eterm.png $i/32x32/apps/Eterm.png ; \
convert -resize 24 Eterm.png $i/24x24/apps/Eterm.png ; \
convert -resize 16 Eterm.png $i/16x16/apps/Eterm.png ; \
gtk-update-icon-cache -tf $i &> /dev/null ; \
done

Creación del archivo Eterm.desktop

Para que Eterm sea detectado por los menús de entornos gráficos como XFce 4 o paneles como LXPanel o Fbpanel, abrimos un editor de texto y añadimos lo siguiente:

[Desktop Entry]
Name=Eterm
GenericName=Emulador de terminal
Comment=El emulador de terminal de E16
Exec=Eterm
Icon=Eterm
Categories=Application;System;TerminalEmulator
Type=Application

Lo guardamos con la codificación de caracteres UTF-8, y con el nombre Eterm.desktop. Luego lo instalamos como root en /usr/share/applications. La desinstalación y respaldo de este archivo viene incluida en los scripts correspondientes proporcionados en este manual. 

$ su -c "install -m644 Eterm.desktop /usr/share/applications"

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

Estadísticas de Compilación e Instalación de Eterm
CPU AMD Phenom(tm) II X4 965 Processor
MHz 3415.709
RAM 4096 MB
Sistema de archivos XFS
Versión del Kernel 4.16.12-ck1 SMP PREEMPT x86_64
Modo de frecuencia de la CPU ondemand
Versión de Glibc 2.27
Enlazador dinámico GNU gold (Binutils 2.30) 1.15
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 8"
Archivos instalados 50
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 5
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 1,0 MB


Directorio de configuración personal

~/.Eterm Es el directorio de configuración personal de Eterm en nuestro home.
~/.Eterm/themes Es el directorio donde debemos de copiar los temas a utilizar por Eterm.

Desinstalación como root

1) MODO TRADICIONAL

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

$ su -c "make uninstall"

2) MODO MANUALINUX

Eterm-0.9.6-scripts.tar.gz

$ su
# tar zxvf Eterm-0.9.6-scripts.tar.gz
# cd Eterm-0.9.6-scripts
# ./Desinstalar_Eterm-0.9.6

Copia de Seguridad como root

$ su
# tar zxvf Eterm-0.9.6-scripts.tar.gz
# cd Eterm-0.9.6-scripts
# ./Respaldar_Eterm-0.9.6

Restaurar la Copia de Seguridad como root

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_Eterm-0.9.6



Configuración de Eterm  Bloc de Notas  

Las opciones de línea de comandos de Eterm son las siguientes:

 -t   --theme                       (str)  selecciona un tema
 -X   --config-file                 (str)  elige un archivo de configuración alternativo
 -d   --display                     (str)  Servidor X al que conectar
      --debug                       (int)  nivel de información de depuración mostrado en pantalla (0-4)
      --install                     (bool) instala un mapa de color privado
 -h   --help                        (str)  muestra la ayuda para su uso
      --version                     (str)  muestra la versión y la información de la configuración
 -r   --reverse-video               (bool) invierte los colores de la pantalla
 -b   --background-color            (str) color del fondo
 -f   --foreground-color            (str)  color del frente
      --color0                      (str)  color 0
      --color1                      (str)  color 1
      --color2                      (str)  color 2
      --color3                      (str)  color 3
      --color4                      (str)  color 4
      --color5                      (str)  color 5
      --color6                      (str)  color 6
      --color7                      (str)  color 7
      --color8                      (str)  color 8
      --color9                      (str)  color 9
      --color10                     (str)  color 10
      --color11                     (str)  color 11
      --color12                     (str)  color 12
      --color13                     (str)  color 13
      --color14                     (str)  color 14
      --color15                     (str)  color 15
      --colorBD                     (str)  color de la letra en negrita
      --colorUL                     (str)  color del subrayado
      --pointer-color               (str)  color del puntero del ratón
 -c   --cursor-color                (str)  color del cursor
      --cursor-text-color           (str)  color del texto del cursor
 -g   --geometry                    (str)  WxH+X+Y = tamaño y posición
 -i   --iconic                      (bool) inicia minimizado
 -n   --name                        (str)  definición del título, icono e instancia del cliente
 -T   --title                       (str)  cadena del título
      --icon-name                   (str)  nombre del icono
 -B   --scrollbar-type              (str)  elige un tipo de barra de desplazamiento (motif, next, xterm)
      --scrollbar-width             (int)  elige el ancho (en píxeles) de la barra de desplazamiento
 -D   --desktop                     (int)  escritorio donde iniciarse (requiere un entorno gráfico compatible)
      --line-space                  (int)  número de espaciados entre líneas
      --bold-font                   (str)  fuente del texto en negrita
 -F   --font                        (str)  fuente del texto normal
      --default-font-index          (int)  ajusta el index de la fuente por defecto
      --font1                       (str)  fuente 1
      --font2                       (str)  fuente 2
      --font3                       (str)  fuente 3
      --font4                       (str)  fuente 4
      --proportional                (bool) optimizaciones de fuente proporcionales para la barra.
      --font-fx                     (str)  especifique efectos de fuente para las fuentes de la terminal
 -P   --background-pixmap           (str)  archivo de imagen del fondo
 -I   --icon                        (str)  archivo de imagen del icono
      --up-arrow-pixmap             (str)  archivo de imagen de la flecha arriba
      --down-arrow-pixmap           (str)  archivo de imagen de la flecha abajo
      --trough-pixmap               (str)  archivo de imagen del fondo (canal) de la barra de desplazamiento
      --anchor-pixmap               (str)  archivo de imagen del ancla de la barra de desplazamiento
      --menu-pixmap                 (str)  archivo de imagen del menú
 -o   --opacity                     (int)  opacidad de la ventana (0-255; requiere extensión X COMPOSITE)
 -O   --trans                       (bool) crea una Eterm pseudotransparente
 -0   --itrans                      (bool) usa la transparencia immotile-optimizada
      --viewport-mode               (bool) use el modo viewport para la imagen de fondo
      --shade                       (int)  porcentaje de sombra anticuado (desaprobado)
      --tint                        (str)  máscara de tinte anticuada (desaprobada)
      --cmod                        (str)  modificador de color de imagen ("brillo contraste gamma")
      --cmod-red                    (str)  
modificador del color rojo solo ("brillo contraste gamma")
      --cmod-green                  (str)  modificador del color verde solo ("brillo contraste gamma")
      --cmod-blue                   (str)  modificador del color azul solo ("brillo contraste gamma")
 -p   --path                        (str)  ruta de búsqueda de archivo de imagen
      --cache                       (int)  ajusta el tamaño de la caché del pixmap/imagen Imlib2
 -N   --anim                        (str)  un retardo y lista de los pixmaps para el ciclo
 -M   --mfont                       (str)  fuente multicarácter para texto normal
      --mfont1                      (str)  fuente multicarácter 1
      --mfont2                      (str)  
fuente multicarácter 2
      --mfont3                      (str)  fuente multicarácter 3
      --mfont4                      (str)  fuente multicarácter 4
      --mencoding                   (str)  modo de codificación multicarácter (eucj/sjis/euckr/big5/gb)
      --input-method                (str)  método de entrada XIM
      --preedit-type                (str)  tipo preeditado XIM
 -l   --login-shell                 (bool) login shell, prepend - al nombre del shell 
 -s   --scrollbar                   (bool) muestra la barra de desplazamiento
 -u   --utmp-logging                (bool) hace una entrada utmp
 -v   --visual-bell                 (bool) campana visual
 -H   --home-on-output              (bool) saltar al fondo sobre la salida
      --home-on-input               (bool) saltar al fondo sobre la entrada
 -q   --no-input                    (bool) configurar sólo la salida
      --scrollbar-right             (bool) muestra la barra de desplazamiento a la derecha
      --scrollbar-floating          (bool) muestra la barra de desplazamiento sin el canal
      --scrollbar-popup             (bool) emerge la barra de desplazamiento sólo cuando recibe el enfoque.
 -x   --borderless                  (bool) fuerza a Eterm a iniciarse sin bordes
      --overstrike-bold             (bool) simular en negrita caracteres overstriking
      --bold-brightens-foreground   (bool) el atributo "bold" aclara el color del frente
      --blink-brightens-background  (bool)
el atributo "blink" aclara el color del fondo
      --colors-suppress-bold        (bool) no pone los colores ANSI 0-16 en negrita
 -m   --map-alert                   (bool) uniconificado con pitido
 -8   --meta-8                      (bool) Meta atajo activado de 8-bit
      --double-buffer               (bool) reduce la exposición usando doble buffer (y más memoria)
      --no-cursor                   (bool) desactiva el cursor del texto
      --pause                       (bool) pausa después de las salidas del proceso hijo
      --xterm-select                (bool) comportamiento de la selección de los xterm duplicados
      --select-line                 (bool) el triple-clic selecciona la línea entera
      --select-trailing-spaces      (bool) no salta los espacios que se arrastran al seleccionar
      --report-as-keysyms           (bool) divulgar los atajos especiales como keysyms
      --buttonbar                   (bool) activa la muestra de todas las barras de botones
      --resize-gravity              (bool) activa la gravitación a la esquina más cercana y reescala
      --secondary-screen            (bool) activa el uso de una pantalla secundaria
      --big-font-key                (str)  incrementa el tamaño de la fuente de keysim
      --small-font-key              (str)  decrementa el tamaño de la fuente de keysim
      --meta-mod                    (int)  modificar el intérprete de la llave Meta
      --alt-mod                     (int)  modificar el intérprete de la llave Alt
      --numlock-mod                 (int)  modificar el intérprete de la llave Numlock
      --app-keypad                  (bool) modo keypad aplicación
      --app-cursor                  (bool) modo llave cursor aplicación
 -L   --save-lines                  (int)  líneas a guardar en el búffer del desplazamiento hacia atrás
      --min-anchor-size             (int)  tamaño mínimo del ancho de la barra de desplazamiento
 -w   --border-width                (int)  ancho del borde de la ventana de la terminal
      --print-pipe                  (str)  comando de impresión
      --cut-chars                   (str)  separadores para la selección del doble-clic
      --finished-title              (str)  post-terminación del texto del título de la ventana 
      --finished-text               (str)  post-terminación del texto de la terminal 
      --term-name                   (str)  valor a usar para los ajustes $TERM
      --pipe-name                   (str)  normbre de archivo de tubería de consola a emular -C
      --beep-command                (str)  comando a lanzar antes del normal pitido
 -U   --url                         (str)  un URL que señala a una sesión de la pantalla a tomar
 -Z   --firewall                    (str)  conectar la sesión vía puerto redireccionado
 -z   --delay                       (int)  retardo del inicio en segundos
 -a   --attribute                   (str)  analizar un atributo en el contexto especificado
 -C   --console                     (bool) graba los mensajes de la consola
 -e   --exec                        (strs) ejecutar un comando mejor que un shell

Los archivos de configuración de usuario se guardan en ~/.Eterm/themes/Etem/user.cfg al seleccionar en el menú de Eterm la opción Save User Settings..., luego se pueden editar con un editor de texto aquellas opciones que no sean configurables desde el menú del programa.



Temas 

En este enlace podemos encontrar todos los temas disponibles actualmente para Eterm, un ejemplo de instalación con el tema Summer.tar.gz.

$ mkdir -p ~/.Eterm/themes
$ tar zxvf Summer.tar.gz -C ~/.Eterm/themes

Ahora con ejecutar Eterm -t Summer ya podremos iniciar el tema que nos hemos bajado y usarlo con el tema del administrador de ventanas.



Iniciamos Eterm  

Sólo nos queda teclear en una terminal o en un lanzador el comando Eterm, y el programa aparecerá en la pantalla.


Captura - Eterm - 1
Eterm -t Summer




Enlaces  


http://www.eterm.org >> La web de Eterm.

http://themes.effx.us/packages/eterm/ >> Temas.


Foro Galería Blog


Actualizado el 27-05-2018

Emuladores de Terminal - Eterm

Editores de Texto - TEAEmuladores de Terminal - FbTerm