Copyright
Copyright © José
Luis Lara Carrascal 2007-2022 
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 - (12.1.0) o Clang - (14.0.6)
* Gawk - (5.1.1)
* M4 - (1.4.19)
* Libtool - (2.4.7)
* Make - (4.3)
* Automake - (1.16.5)
* Autoconf - (2.71)
Librerías de Desarrollo
*
Xorg - (7.7 / xorg-server 21.1.4)
LibICE - (1.0.10)
LibX11 - (1.8.1)
* Imlib2 - (1.9.1)
* PCRE - (8.45)
Descarga
libast-0.7.tar.gz
Optimizaciones
$ export
{C,CXX}FLAGS='-O3 -march=znver2 -mtune=znver2'
|
Donde pone znver2
se indica el procesador respectivo de cada sistema
seleccionándolo de la siguiente tabla: |
Nota informativa sobre las optimizaciones para GCC
|
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado.
* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.
* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
|
Nota informativa sobre las optimizaciones para Clang
|
* La opción '-mtune=' está soportada a partir de la versión 3.4 de Clang.
* Los valores de color azul no son compatibles con Clang.
* Las filas con el fondo de color amarillo son valores exclusivos de Clang y, por lo tanto, no son aplicables con GCC.
|
Valores |
CPU |
Genéricos |
generic |
Produce un código
binario optimizado para la mayor parte de procesadores existentes.
Utilizar este valor si no sabemos el nombre del procesador que
tenemos en nuestro equipo. Este valor sólo es aplicable en
la opción '-mtune=', si utilizamos GCC. Esta opción está disponible a
partir de GCC 4.2. |
native |
Produce un código
binario optimizado para el procesador que tengamos en nuestro sistema,
siendo éste detectado utilizando la instrucción cpuid.
Procesadores antiguos pueden no ser detectados utilizando este valor.
Esta opción está disponible a
partir de GCC 4.2. |
x86-64 |
Procesador genérico con extensiones 64-bit. Esta opción está disponible a
partir de GCC 8 y Clang 1.9. |
x86-64-v2 |
Procesador
genérico con con soporte de instrucciones X86-64 (MMX, SSE,
SSE2, LAHFSAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3) y extensiones
64-bit. Esta opción está disponible a partir de GCC 11 y Clang 12. |
x86-64-v3 |
Procesador
genérico con con soporte de instrucciones X86-64 (MMX, SSE,
SSE2, LAHFSAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3, AVX, AVX2, F16C,
FMA, LZCNT, MOVBE, XSAVE, XSAVEC, FMA4) y extensiones 64-bit. Esta
opción está disponible a partir de GCC 11 y Clang 12. |
x86-64-v4 |
Procesador
genérico con con soporte de instrucciones X86-64 (MMX, SSE,
SSE2, LAHFSAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3, AVX, AVX2, F16C,
FMA, LZCNT, MOVBE, XSAVE, XSAVEC, AVX512*, FMA4) y extensiones 64-bit.
Esta opción está disponible a partir de GCC 11 y Clang 12. |
Intel |
alderlake |
Intel Alderlake con
soporte de instrucciones x86-64 (MOVBE, MMX, SSE, SSE2, SSE3, SSSE3,
SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND,
FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC,
XSAVES, AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD,
AVX512VNNI, AVX512BF16, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD,
CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, UINTR, AMX-BF16,
AMX-TILE, AMX-INT8, AVX-VNNI) y extensiones 64-bit. Esta opción
está disponible a partir de GCC 11 y Clang 12. |
atom |
Intel Atom
con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y
extensiones 64-bit. Esta opción está disponible
desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición bonnell. |
bonnell |
Intel Bonnell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3 y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
broadwell |
Intel Broadwell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT,
AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2,
F16C, RDSEED, ADCX, PREFETCHW y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9 y Clang 3.6. |
cannonlake |
Intel Cannonlake Server con soporte de instrucciones MOVBE, MMX, SSE,
SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL,
FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW,
CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ,
AVX512CD, AVX512VBMI, AVX512IFMA, SHA, UMIP y extensiones 64-bit. Esta opción está disponible a
partir de GCC 8 y Clang 3.9. |
cascadelake |
Intel Cascadelake con
soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI,
BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES,
AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI y
extensiones 64-bit. Esta opción está disponible a
partir de GCC 9 y Clang 8. |
cooperlake |
Intel
Cooper Lake con
soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3,
SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI,
BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, CLWB,
AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI, AVX512BF16 y
extensiones 64-bit. Esta opción está disponible a
partir de GCC 10 y Clang 9. |
core2 |
Intel Core2
con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y
extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.3. |
core-avx2 |
Intel Core (Haswell). Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición haswell. |
core-avx-i |
Intel Core (ivyBridge)
con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1, SSE4.2, AVX, AES, PCLMUL, FSGSBASE, RDRND, F16C y
extensiones 64-bit. Esta opción está disponible
desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición ivybridge. |
corei7 |
Intel Core i7 con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1 y SSE4.2 y extensiones 64-bit. Soporta también los procesadores Intel
Core i3 e i5. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición nehalem. |
corei7-avx |
Intel Core i7 con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1, SSE4.2, AVX, AES y PCLMUL y
extensiones 64-bit. Soporta también los
procesadores Intel Core i3 e i5. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición sandybridge. |
goldmont |
Intel Goldmont con soporte
de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2,
POPCNT, AES, PCLMUL, RDRND, XSAVE, XSAVEOPT, FSGSBASE y extensiones
64-bit. Esta opción está disponible a
partir de GCC 9 y Clang 5. |
goldmont-plus |
Intel Goldmont Plus con
soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
SSE4.2, POPCNT, AES, PCLMUL, RDRND, XSAVE, XSAVEOPT, FSGSBASE, PTWRITE,
RDPID, SGX, UMIP y extensiones 64-bit. Esta opción está disponible a
partir de GCC 9 y Clang 7. |
haswell |
Intel Haswell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT,
AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2,
F16C y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
i386 |
Intel i386.
|
i486 |
Intel i486. |
i586, pentium |
Intel Pentium sin soporte de instrucciones MMX. |
i686 |
Produce un código binario optimizado para la mayor parte de
procesadores compatibles con la serie 80686 de Intel. Todos los actuales lo son. |
icelake-client |
Intel Icelake Client con soporte de instrucciones MOVBE, MMX, SSE,
SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL,
FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW,
CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ,
AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI,
AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ,
VAES y extensiones 64-bit. Esta opción está disponible a
partir de GCC 8 y Clang 7. |
icelake-server |
Intel Icelake Server con soporte de instrucciones MOVBE, MMX, SSE,
SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL,
FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW,
CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ,
AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI,
AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ,
VAES, PCONFIG, WBNOINVD y extensiones 64-bit. Esta opción está disponible a
partir de GCC 8 y Clang 7. |
intel |
Intel Haswell y Silvermont. Este valor sólo es aplicable en
la opción '-mtune='. Esta opción está disponible a partir
de GCC 4.9. |
ivybridge |
Intel Ivy Bridge con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX,
AES, PCLMUL, FSGSBASE, RDRND, F16C y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
knl |
Intel Knights Landing con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2,
AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX,
PREFETCHW, AVX512F, AVX512PF, AVX512ER y extensiones 64-bit. Esta opción está disponible a partir
de GCC 5 y Clang 3.4. |
knm |
Intel Knights Mill con soporte de instrucciones MOVBE, MMX, SSE, SSE2,
SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE,
RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, AVX512F,
AVX512PF, AVX512ER, AVX512CD, AVX5124VNNIW, AVX5124FMAPS,
AVX512VPOPCNTDQ y extensiones 64-bit. Esta opción está disponible a
partir de GCC 8 y Clang 6. |
lakemont |
Intel Quark Lakemont MCU, basado en el procesador Intel Pentium. Esta opción está disponible a partir
de GCC 6 y Clang 3.9. |
nehalem |
Intel Nehalem con soporte de instrucciones MMX,
SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT y extensiones
64-bit. Esta opción está disponible a partir
de GCC 4.9. |
nocona |
Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2, SSE3 y extensiones 64-bit. |
penryn |
Intel
Penryn con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3 y SSE4.1. |
pentiumpro |
Intel PentiumPro. |
pentium2 |
Intel Pentium2 basado en PentiumPro con soporte de instrucciones MMX. |
pentium3, pentium3m |
Intel Pentium3 basado en PentiumPro con soporte de instrucciones MMX y SSE. |
pentium4, pentium4m |
Intel Pentium4 con soporte de instrucciones MMX, SSE y SSE2. |
pentium-m |
Versión de bajo
consumo de Intel Pentium3 con soporte de instrucciones MMX, SSE y SSE2.
Utilizado por los portátiles Centrino. |
pentium-mmx |
Intel PentiumMMX basado en Pentium con soporte de instrucciones MMX. |
prescott |
Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2 y SSE3. |
rocketlake |
Intel Rocket Lake con soporte de instrucciones x86-64 (MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI, AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ, VAES) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11 y Clang 13. |
sandybridge |
Intel Sandy Bridge con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX,
AES, PCLMUL y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9 y Clang 3.6. |
sapphirerapids |
Intel Sapphire Rapids
con soporte de instrucciones x86-64 (MOVBE, MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE,
RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT,
XSAVEC, XSAVES, AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD,
AVX512VNNI, AVX512BF16, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD,
CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, UINTR, AMX-BF16,
AMX-TILE, AMX-INT8 and AVX-VNNI) y extensiones 64-bit. Esta
opción está disponible a partir de GCC 11 y Clang 12. |
silvermont |
Intel Silvermont con soporte de instrucciones
MOVBE, MMX, SSE, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
SSE4.2, POPCNT, AES, PCLMU, RDRND y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9 y Clang 3.6. |
skylake |
Intel Skylake con soporte de instrucciones MOVBE, MMX, SSE, SSE2,
SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE,
RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT,
XSAVEC, XSAVES y extensiones 64-bit. Esta opción está disponible a partir
de GCC 6 y Clang 3.6. |
skylake-avx512 |
Intel Skylake Server
con soporte de instrucciones MOVBE, MMX, SSE, SSE2,
SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE,
RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT,
XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD y
extensiones 64-bit. Esta opción está disponible a partir
de GCC 6 y Clang 3.9. |
tigerlake |
Intel
Tiger Lake con soporte de instrucciones OVBE, MMX, SSE, SSE2, SSE3,
SSSE3,
SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND,
FMA, BMI,
BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES,
AVX512F,
AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VBMI, AVX512IFMA, SHA,
CLWB, UMIP,
RDPID, GFNI, AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI,
VPCLMULQDQ,
VAES, PCONFIG, WBNOINVD, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT y
extensiones 64-bit. Esta opción está disponible a partir
de GCC 10 y Clang 10. |
tremont |
Intel Tremont con soporte
de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2,
POPCNT, AES, PCLMUL, RDRND, XSAVE, XSAVEOPT, FSGSBASE, PTWRITE, RDPID,
SGX, UMIP, GFNI-SSE, CLWB, ENCLV y extensiones 64-bit. Esta opción está disponible a
partir de GCC 9 y Clang 7. |
westmere |
Intel Westmere con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES,
PCLMUL y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
yonah |
Procesadores
basados en la microarquitectura de Pentium M, con soporte de
instrucciones MMX, SSE, SSE2 y SSE3. |
AMD |
amdfam10, barcelona |
Procesadores basados en
AMD Family 10h core con soporte de instrucciones x86-64 (MMX, SSE,
SSE2, SSE3, SSE4A, 3DNow!, enhanced 3DNow!, ABM y extensiones
64-bit). Esta opción está disponible a partir de GCC 4.3. La definición barcelona está disponible a partir de Clang 3.6. |
athlon, athlon-tbird |
AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y SSE prefetch. |
athlon4, athlon-xp, athlon-mp |
Versiones mejoradas de AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y full SSE. |
bdver1 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.7. |
bdver2 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (BMI, TBM, F16C, FMA, LWP, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.7. |
bdver3 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.8 y Clang 3.4. |
bdver4 |
Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64
(BMI, BMI2, TBM, F16C, FMA, FMA4, FSGSBASE, AVX, AVX2, XOP,
LWP, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A,
SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está
disponible a partir de GCC 4.9 y Clang 3.5. |
btver1 |
Procesadores basados en
AMD Family 14h core con soporte de instrucciones x86-64 (MMX, SSE,
SSE2, SSE3, SSE4A, CX16, ABM y extensiones 64-bit). Esta opción está disponible a partir
de GCC 4.6. |
btver2 |
Procesadores basados en
AMD Family 16h core con soporte de instrucciones x86-64 (MOVBE, F16C,
BMI, AVX, PCL_MUL, AES, SSE4.2, SSE4.1, CX16, ABM, SSE4A, SSSE3, SSE3,
SSE2, SSE, MMX y extensiones 64-bit). Esta opción
está disponible a partir
de GCC 4.8. |
geode |
AMD integrado con soporte de instrucciones MMX y 3DNow!. Esta opción está disponible a partir de GCC 4.3. |
k6 |
AMD K6 con soporte de instrucciones MMX. |
k6-2, k6-3 |
Versiones mejoradas de AMD K6 con soporte de instrucciones MMX y 3DNow!. |
k8, opteron, athlon64, athlon-fx |
Procesadores basados en
AMD K8 core con soporte de instrucciones x86-64 (MMX, SSE, SSE2,
3DNow!, enhanced 3DNow! y extensiones 64-bit). |
k8-sse3, opteron-sse3, athlon64-sse3 |
Versiones mejoradas de
AMD K8 core con soporte de instrucciones SSE3. Esta opción
está disponible a partir de GCC 4.3. |
znver1 |
Procesadores basados en
AMD Family 17h core con soporte de instrucciones x86-64 (BMI, BMI2,
F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES,
PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1,
SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT y extensiones
64-bit). Esta opción está disponible a partir de GCC 6 y Clang 4. |
znver2 |
Procesadores basados en
AMD Family 17h core con soporte de instrucciones x86-64 (BMI, BMI2,
,CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA,
CLZERO, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3,
SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT y extensiones
64-bit). Esta opción está disponible a partir de GCC 9 y Clang 9. |
znver3 |
Procesadores basados en
AMD Family 19h core con soporte de instrucciones x86-64 (BMI, BMI2,
CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA,
CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3,
SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID,
WBNOINVD, PKU, VPCLMULQDQ, VAES) y extensiones 64-bit. Esta
opción está disponible a partir de GCC 11 y Clang 12. |
Optimizaciones adicionales
Optimizaciones adicionales |
GCC |
Graphite
|
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
|
IPA
|
$ export {C,CXX}FLAGS+=' -fipa-pta'
|
LTO |
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=auto'
|
En versiones inferiores a GCC
10, sustituir auto
por el número de núcleos que tenga nuestro
procesador. Si sólo tiene uno, utilizar el parámetro -flto
|
Clang |
New Pass Manager |
$ export {C,CXX}FLAGS+=' -fexperimental-new-pass-manager' |
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 en el proceso de compilación |
$ export {C,CXX}FLAGS+=' -w' |
Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura |
$ export
LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64 -L/opt/gcc12/lib64" |
Cada usuario tendrá
que establecer la ruta de búsqueda de directorios, en
función de la distribución que utilice. |
Establecer la variable de entorno de uso de compilador para Clang |
$ export CC=clang CXX=clang++ |
Extracción y
Configuración 
$ tar zxvf libast-0.7.tar.gz
$ cd libast-0.7
$ ./configure --prefix=/usr --disable-static --libdir=/usr/lib64 |
Explicación de los
comandos
--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. La ubicación y el nombre de este
directorio, puede variar en función de la distribución que
cada usuario use.
Compilación
Parámetros de compilación opcionales
-j$(nproc):
Establece el número de procesos de compilación en
paralelo, en función del número de
núcleos e hilos que tenga nuestro procesador, tomando como
referencia la información mostrada por el sistema con el comando
correspondiente. Si nuestro procesador es mononúcleo de un solo
hilo, no añadir esta opción.
Instalación
como root
$ su
# 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 Ryzen 3 3100 4-Core Processor |
MHz |
3593.246 (BoostMax=+500) |
RAM |
32 GB |
Sistema de archivos |
XFS |
Versión de Glibc |
2.35 |
Versión del Kernel |
5.18.15-ml SMP PREEMPT_DYNAMIC x86_64 |
Modo de frecuencia de la CPU |
performance |
Enlazador dinámico |
GNU gold (Binutils 2.38) 1.16 |
Compilador |
Clang 14.0.6 |
Parámetros de optimización |
-03 -march=znver2 -mtune=znver2 -fexperimental-new-pass-manager -mllvm -polly -mllvm -polly-vectorizer=stripmine -flto=thin |
Parámetros de compilación |
-j8 |
Tiempo de compilación |
1" |
Archivos instalados |
22 |

|
Enlaces simbólicos creados |
2 |

|
Ocupación de espacio en disco |
464 KB |
Desinstalación
como root
1)
MODO TRADICIONAL
En el directorio de compilación
ejecutamos el siguiente comando:
2)
MODO MANUALINUX
El principal inconveniente del comando anterior es
que
tenemos que tener el directorio de compilación en nuestro
sistema para poder desinstalar el programa. En algunos casos esto
supone muchos megas de espacio en disco. Con el paquete de scripts que
pongo a continuación logramos evitar
el único inconveniente que tiene la compilación
de
programas, y es el tema de la desinstalación de los mismos
sin
la necesidad de tener obligatoriamente una copia de las fuentes
compiladas.
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 - (12.1.0) o Clang - (14.0.6)
* Gawk - (5.1.1)
* M4 - (1.4.19)
* Libtool - (2.4.7)
* Make - (4.3)
* Automake - (1.16.5)
* Autoconf - (2.71)
Librerías
de Desarrollo
*
Xorg - (7.7 / xorg-server 21.1.4)
LibICE - (1.0.10)
LibX11 - (1.8.1)
LibXext - (1.3.4)
LibXRes - (1.2.1)
* Imlib2 - (1.9.1)
* LibAST - (0.7)
Aplicaciones
* Wget - (1.21.3) [1]
* Convert (ImageMagick) - (7.1.0-44) [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+=' -ftree-loop-linear -floop-strip-mine -floop-block'
|
IPA
|
$ export {C,CXX}FLAGS+=' -fipa-pta'
|
LTO |
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=auto'
|
En versiones inferiores a GCC
10, sustituir auto
por el número de núcleos que tenga nuestro
procesador. Si sólo tiene uno, utilizar el parámetro -flto
|
Clang |
New Pass Manager |
$ export {C,CXX}FLAGS+=' -fexperimental-new-pass-manager' |
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 en el proceso de compilación |
$ export {C,CXX}FLAGS+=' -w' |
Parámetros adicionales de eliminación de errores específicos en el proceso de compilación |
Clang |
$ export CFLAGS+=' -std=gnu89' |
Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura |
$ export
LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64 -L/opt/gcc12/lib64" |
Cada usuario tendrá
que establecer la ruta de búsqueda de directorios, en
función de la distribución que utilice. |
Establecer la variable de entorno de uso de compilador para Clang |
$ export CC=clang CXX=clang++ |
Extracción y
Configuración 
$ tar zxvf Eterm-0.9.6.tar.gz
$ cd Eterm-0.9.6
$ sed -i 's:imlib_strerror:eterm_&:g' src/pixmap.{c,h}
$ ./configure --prefix=/usr --mandir=/usr/share/man \
--disable-static --libdir=/usr/lib64 |
Explicación de los
comandos
sed -i 's:imlib_strerror:eterm_&:g' src/pixmap.{c,h} : Soluciona el siguiente mensaje de error con las últimas versiones de Imlib2:
$ pixmap.h:224:20: error: conflicting types for 'imlib_strerror'; have 'const char *(Imlib_Load_Error'
224 | extern const char *imlib_strerror(Imlib_Load_Error); |
--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. La ubicación y el nombre de este
directorio, puede variar en función de la distribución que
cada usuario use.
Compilación
Parámetros de compilación opcionales
Instalación
como root
$ wget -c --no-check-certificate https://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 Ryzen 3 3100 4-Core Processor |
MHz |
3593.246 (BoostMax=+500) |
RAM |
32 GB |
Sistema de archivos |
XFS |
Versión de Glibc |
2.35 |
Versión del Kernel |
5.18.15-ml SMP PREEMPT_DYNAMIC x86_64 |
Modo de frecuencia de la CPU |
performance |
Enlazador dinámico |
GNU gold (Binutils 2.38) 1.16 |
Compilador |
Clang 14.0.6 |
Parámetros de optimización |
-03 -march=znver2 -mtune=znver2 -fexperimental-new-pass-manager -mllvm -polly -mllvm -polly-vectorizer=stripmine -flto=thin |
Parámetros de compilación |
-j8 |
Tiempo de compilación |
3" |
Archivos instalados |
50 |

|
Enlaces simbólicos creados |
5 |

|
Ocupación de espacio en disco |
1,2 MB |
Consumo inicial de CPU y RAM de Eterm
Consumo inicial de CPU y RAM de DOSBox |
Programa
|
CPU |
RAM |
Eterm |
0 % |
5,4 MB |
Para medir el consumo de CPU se utiliza el programa top, y para medir
el consumo de RAM se utiliza el script de Python, ps_mem.py, creado por Pádraig Brady, que podemos encontrar en este enlace. |
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:
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
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.
Enlaces
http://www.eterm.org >> La web archivada de Eterm.
http://themes.effx.us/packages/eterm/ >> Temas.
|