Copyright
Copyright © José
Luis Lara Carrascal 2008-2022 
Sumario
Introducción
Características
Preliminares
Instalación
Configuración
Iniciamos Urxvt
Enlaces
Introducción
Urxvt es
la versión Unicode (UTF-8) del emulador de terminal, Rxvt.
Además de esta característica soporta
pestañas (un poco feas, la verdad) con lo que
sus similitudes con Mrxvt
son bastantes coincidentes excepto el soporte de UTF-8. Hay que decir
también que el desarrollo del emulador de terminal, Aterm,
ha sido fusionado con el de Urxvt.
Características
* Almacena el texto en formato Unicode (UCS-2 o UCS-4).
* Uso correcto de la entrada y salida de las locales respetando su anchura.
* Modo en segundo plano: un proceso en segundo plano puede abrir
múltiples ventanas en múltiples sesiones con un uso
optimizado de la memoria.
* Soporte embebido de perl con las siguientes características:
1) Soporte multiterminal con pestañas.
2) Selecciones personalizadas asociadas a comandos de ejecución.
3) Selección-transformación con la opción de menús emergentes.
4) Transforma una vez de forma automática la selección hecha.
5) Caché de búsqueda incremental de desplazamiento hacia atrás.
6) Subrayado automático de enlaces y ejecución de éstos.
* Soporte de Xft y fuentes normales en cualquier combinación.
* Optimizado para conexiones locales y remotas.
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) Comprobar que la variable de entorno XDG_DATA_DIRS incluye el directorio /usr/local/share
Esta variable se aplica para que los archivos desktop
ubicados en un directorio específico del sistema puedan ser
leídos por los menús de entornos gráficos
como XFce 4, o
paneles como LXPanel o Fbpanel.
Este aspecto es bastante delicado porque cada distribución es un
mundo y lo mejor que podemos hacer es establecer una variable de
entorno global que incluya todos los directorios predefinidos del
sistema que incluyen archivos desktop, siempre y cuando el directorio /usr/local/share
no esté incluido por defecto en la distribución de turno.
Para saberlo basta abrir el menú de aplicaciones en cualquiera
de los programas antes comentados y comprobar que aparece la entrada
correspondiente a la aplicación tratada en este manual. Si no es
así, en el mismo archivo /etc/profile.d/variables.sh, añadimos lo que está en rojo:
#!/bin/sh
export PATH=/usr/local/bin:$PATH
export XDG_DATA_DIRS=/usr/share:/usr/local/share:$HOME/.local/share:$XDG_DATA_DIRS |
3) 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 Urxvt
para la elaboración de este documento.
* GCC - (12.1.0) o Clang - (14.0.6)
* CMake - (3.23.3)
* M4 - (1.4.19)
* Make - (4.3)
* Automake - (1.16.5)
* Autoconf - (2.71)
* Pkg-config - (0.29.2)
Librerías
de Desarrollo
*
Xorg - (7.7 / xorg-server 21.1.4)
LibICE - (1.0.10)
LibX11 - (1.8.1)
LibXrender - (0.9.10)
* Gdk-Pixbuf - (2.42.8)
* Libptytty - (2.0)
* Perl - (5.36.0)
* Startup-Notification - (0.12)
Aplicaciones
* Wget - (1.21.2) [1]
[1] Requerido para poder descargarnos los iconos del archivo desktop desde internet.
Descarga
rxvt-unicode-9.30.tar.bz2 | libptytty-2.0.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 {C,CXX,LD}FLAGS+=' -flto' |
ThinLTO |
$ export {C,CXX,LD}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 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 el uso de enlazador dinámico para LLD |
Clang |
$ export LDFLAGS+=' -fuse-ld=lld' |
Optimizaciones complementarias LTO/ThinLTO de LLD |
$ export LDFLAGS+=' -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=memcpyopt' |
Optimizaciones complementarias LTO de LLD |
$ export LDFLAGS+=" -Wl,--lto-partitions=$(nproc)" |
Optimizaciones complementarias ThinLTO de LLD |
$ export LDFLAGS+=" -Wl,--thinlto-jobs=$(nproc)" |
Eliminar los símbolos innecesarios para la ejecución del programa |
$ export
LDFLAGS+=" -Wl,-s" |
Sólo es necesario con el paquete de Urxvt. |
Establecer la variable de entorno de uso de compilador para Clang |
$ export CC=clang CXX=clang++
|
Extracción y Configuración de Libptytty 
$ tar zxvf libptytty-2.0.tar.gz
$ cd libptytty-2.0
$ mkdir build; cd build
$ cmake .. |
Compilación
Parámetros de compilación opcionales
VERBOSE=1 : Muestra más información en el proceso de compilación.
-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 Libptytty
Estadísticas de Compilación e Instalación de Libptytty |
CPU |
AMD Ryzen 3 3100 4-Core Processor |
MHz |
3593.246 (BoostMax=+500) |
RAM |
32 GB |
Sistema de archivos |
XFS |
Versión del Kernel |
5.19.0-ml SMP PREEMPT_DYNAMIC x86_64 |
Modo de frecuencia de la CPU |
performance |
Versión de Glibc |
2.36 |
Enlazador dinámico |
LLD 14.0.6 |
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 -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=memcpyopt |
Parámetros de compilación |
VERBOSE=1 -j8 |
Tiempo de compilación |
1" |
Archivos instalados |
4 |

|
Enlaces simbólicos creados |
1 |
/usr/local/lib64/libptytty.so
|
Ocupación de espacio en disco |
48 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.
libptytty-2.0-scripts.tar.gz
$ su
# tar zxvf libptytty-2.0-scripts.tar.gz
# cd libptytty-2.0-scripts
# ./Desinstalar_libptytty-2.0 |
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 libptytty-2.0-scripts.tar.gz
# cd libptytty-2.0-scripts
# ./Respaldar_libptytty-2.0 |
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_libptytty-2.0
|
Extracción
y
Configuración de Urxvt 
$ tar jxvf rxvt-unicode-9.30.tar.bz2
$ cd rxvt-unicode-9.30
$ ./configure --disable-xft --libdir=/usr/local/lib64 |
Explicación de los
comandos
--disable-xft
: Desactiva el soporte de fuentes truetype y el suavizado
en las fuentes, que ralentiza la ejecución del
programa y aumenta su consumo de memoria. Si se tiene equipo de sobra,
no añadir esta opción. Necesitaremos las devel de LibXft para compilar este soporte.
--libdir=/usr/local/lib64 : Instala el directorio de plugins /usr/local/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
# for i in /usr/local/share/icons/hicolor ; do \
install -dm755 $i/{16x16,24x24,32x32,48x48,64x64,128x128}/apps ; \
wget -c --no-check-certificate https://findicons.com/files/icons/66/ethereal/128/terminal.png \
-O $i/128x128/apps/urxvt.png ; \
wget -c --no-check-certificate https://findicons.com/files/icons/66/ethereal/64/terminal.png \
-O $i/64x64/apps/urxvt.png ; \
wget -c --no-check-certificate https://findicons.com/files/icons/66/ethereal/48/terminal.png \
-O $i/48x48/apps/urxvt.png ; \
wget -c --no-check-certificate https://findicons.com/files/icons/66/ethereal/32/terminal.png \
-O $i/32x32/apps/urxvt.png ; \
wget -c --no-check-certificate https://findicons.com/files/icons/66/ethereal/24/terminal.png \
-O $i/24x24/apps/urxvt.png ; \
wget -c --no-check-certificate https://findicons.com/files/icons/66/ethereal/16/terminal.png \
-O $i/16x16/apps/urxvt.png ; \
gtk-update-icon-cache -tf $i &> /dev/null ; \
done
|
Creación del archivo
urxvt.desktop
Para que Urxvt 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=Urxvt
GenericName=Emulador de terminal
Comment=Un emulador de terminal con soporte de UTF-8
Exec=urxvt
Icon=urxvt
Categories=Application;System;TerminalEmulator;Utility
Type=Application |
Lo guardamos con la codificación de caracteres UTF-8, y con el nombre urxvt.desktop. Luego lo instalamos como root en /usr/local/share/applications. La desinstalación y respaldo de este archivo viene incluida en
los scripts correspondientes proporcionados en este manual.
$ su
# install -dm755 /usr/local/share/applications
# install -m644 urxvt.desktop /usr/local/share/applications
|
Estadísticas de Compilación e Instalación de Urxvt
Estadísticas de Compilación e Instalación de Urxvt |
CPU |
AMD Ryzen 3 3100 4-Core Processor |
MHz |
3593.246 (BoostMax=+500) |
RAM |
32 GB |
Sistema de archivos |
XFS |
Versión del Kernel |
5.19.0-ml SMP PREEMPT_DYNAMIC x86_64 |
Modo de frecuencia de la CPU |
performance |
Versión de Glibc |
2.36 |
Enlazador dinámico |
LLD 14.0.6 |
Compilador |
Clang 14.0.6 |
Parámetros de optimización |
-03 -march=znver2
-mtune=znver2 -mllvm -polly -mllvm -polly-vectorizer=stripmine
-flto=thin -Wl,--lto-aa-pipeline=globals-aa
-Wl,--lto-newpm-passes=memcpyopt |
Parámetros de compilación |
-j8 |
Tiempo de compilación |
3" |
Archivos instalados |
66 |

|
Ocupación de espacio en disco |
3,6 MB |
Consumo inicial de CPU y RAM de Urxvt
Consumo inicial de CPU y RAM de Urxvt |
Programa
|
CPU |
RAM |
urxvt |
0 % |
10,0 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. |
Desinstalación
como root
1)
MODO TRADICIONAL
Este programa no tiene soporte para desinstalación con el
comando 'make uninstall'
2)
MODO MANUALINUX
rxvt-unicode-9.30-scripts.tar.gz
$ su
# tar zxvf rxvt-unicode-9.30-scripts.tar.gz
# cd rxvt-unicode-9.30-scripts
# ./Desinstalar_rxvt-unicode-9.30 |
Copia de Seguridad
como root
$ su
# tar zxvf rxvt-unicode-9.30-scripts.tar.gz
# cd rxvt-unicode-9.30-scripts
# ./Respaldar_rxvt-unicode-9.30 |
Restaurar la Copia de Seguridad
como root
$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_rxvt-unicode-9.30
|
Configuración de Urxvt
Las opciones de línea de comandos de Urxvt son
las siguientes:
-display
texto
Servidor X a
conectar. (urxvt*display:
)
-tn
texto
valor
de la variable de entorno TERM. (urxvt*termName:
)
-geometry
geometría
tamaño (en caracteres) y
posición.(urxvt*geometry:
)
-C
intercepta los
mensajes de la consola.
-iconic
inicia minimizado.
-cd
texto
inicia
el prompt en este directorio.(urxvt*chdir:
)
-dockapp
inicia como una dockapp.
-/+rv
conmuta on/off
el vídeo inverso.(urxvt*reverseVideo:
)
-/+ls
conmuta on/off el acceso de usuario mediante login.(urxvt*loginShell: )
-mc número
tiempo máximo en milisegundos entre selecciones de varios clics. (urxvt*multiClickTime: )
-/+j
conmuta on/off el salto en el desplazamiento.(urxvt*jumpScroll: )
-/+ss
conmuta on/off la omisión del desplazamiento.(urxvt*skipScroll: )
-/+ptab
conmuta on/off los caracteres de la pestaña son
pegables.(urxvt*pastableTabs:
)
-/+sb
conmuta on/off la barra de desplazamiento.(urxvt*scrollBar: )
-/+sr
conmuta on/off la barra de desplazamiento en la derecha.(urxvt*scrollBar_right: )
-/+st
conmuta on/off la barra de desplazamiento sin el borde.(urxvt*scrollBar_floating: )
-sbt
número
espesor y
anchura en píxeles de la barra de desplazamiento.
-/+si
conmuta on/off la inhibición del desplazamiento en
la salida de
la tty.(urxvt*scrollTtyOutput:
)
-/+sk
conmuta on/off el desplazamiento al presionar una tecla.(urxvt*scrollTtyKeypress: )
-/+sw
conmuta on/off el desplazamiento con buffer.(urxvt*scrollWithBuffer: )
-/+ip
conmuta on/off la pseudotransparencia.(urxvt*transparent: )
-/+tr
conmuta on/off la pseudotransparencia.(urxvt*transparent: )
-tint
color
color de mezcla.(urxvt*tintColor: )
-sh
número
porcentaje
en número del sombreado del fondo.(urxvt*shading: )
-blr
HxV
Radio de
desenfoque gaussiano a aplicar al fondo raíz.(urxvt*blurRadius: )
-fade
número
porcentaje en
número de desvanecimiento de los colores cuando pierden el
enfoque.(urxvt*fading:
)
-fadecolor
color
color a usar para el
desvanecimiento.(urxvt*fadeColor:
)
-/+ut
conmuta on/off la inhibición utmp.(urxvt*utmpInhibit: )
-/+vb
conmuta on/off
la campanilla visual.(urxvt*visualBell:
)
-/+dpb
conmuta on/off la secuencia de pegado de corchetes.(urxvt*disablePasteBrackets:
)
-/+tcw
conmuta on/off
el triple clic en la selección de palabras.(urxvt*tripleclickwords: )
-/+insecure
conmuta on/off la activación posible insegura de
secuencias de
escape.(urxvt*insecure:
)
-/+uc
conmuta on/off el subrayado del cursor.(urxvt*cursorUnderline: )
-/+bc
conmuta on/off el parpadeo del cursor.(urxvt*cursorBlink: )
-/+pb
conmuta on/off la desactivación del puntero
después de un
retardo.(urxvt*pointerBlank:
)
-bg
color
color de fondo.(urxvt*background: )
-fg color
color de frente.(urxvt*foreground: )
-hc
color
color del
resaltado.(urxvt*higlightColor:
)
-cr
color
color del cursor.(urxvt*cursorColor: )
-pr
color
color de frente
del puntero.(urxvt*pointerColor:
)
-pr2
color
color de fondo
del puntero.(urxvt*pointerColor2:
)
-bd
color
color del borde.(urxvt*borderColor: )
-pixmap
archivo[;geom]
archivo de imagen del fondo.(urxvt*backgroundPixmap: )
-fn fuente
fuente del texto normal.(urxvt*font:
)
-fb
fuente
fuente en negrita.(urxvt*boldFont:
)
-fi
fuente
fuente cursiva.(urxvt*italicFont:
)
-fbi
fuente
fuente cursiva en negrita.(urxvt*boldItalicFont:
)
-/+is
conmuta on/off
los estilos de fuente, implica intensidad de
cambios.(urxvt*intensityStyles:
)
-im nombre
nombre del
método de entrada.(urxvt*inputMethod:
)
-pt
estilo
estilo
de entrada: estilo = OverTheSpot|OffTheSpot|Root.(urxvt*preeditType: )
-imlocale
texto
locales a usar para el
método de entrada.(urxvt*imLocale:
)
-imfont
fuente
grupo de fuentes para los
estilos OverTheSpot y OffTheSpot.(urxvt*imFont: )
-name
texto
instancia de
cliente, icono y textos del título.
-title
texto
nombre
del título para la ventana.(urxvt*title: )
-n
texto
nombre
del icono para la ventana.(urxvt*iconName:
)
-sl
número
número de líneas desplazadas a guardar.(urxvt*saveLines: )
-embed
windowid
id de ventana
para empotrar la terminal dentro.(urxvt*transient-for: )
-depth
número
profundidad de visual para solicitar.(urxvt*depth: )
-visual
número
id
visual para solicitar.(urxvt*visual:
)
-/+override-redirect
conmuta on/off
ajusta sustituye-redirecciona en la ventana de terminal.(urxvt*override-redirect: )
-pty-fd
nº/archivo
archivo descriptor de la pty a usar
-/+hold
conmuta on/off
la retención de la ventana después de la
salida del shell.(urxvt*hold:
)
-w
número
borde externo en
píxeles.(urxvt*externalBorder:
)
-b
número
borde interno en
píxeles.(urxvt*internalBorder:
)
-/+bl
conmuta on/off
la ventana sin bordes.(urxvt*borderLess:
)
-lsp
número
número extra de píxeles entre las
líneas.(urxvt*lineSpace:
)
-letsp
número
ajusta el
tamaño del espacio entre las letras.(urxvt*letterSpace:
)
-/+sbg
conmuta on/off
no usar glyphs internos.(urxvt*skipBuiltinGliphs:
)
-mod
modificador
meta modificador =
alt|meta|hyper|super|mod1|...|mod5.(urxvt*modifier: )
-/+ssc
conmuta on/off
la activación de la pantalla secundaria.(urxvt*secondaryScreen: )
-/+ssr
conmuta on/off
la activación del desplazamiento en la pantalla secundaria.(urxvt*secondaryScroll: )
-pe
texto
lista
separada por comas de extensiones de perl a activar para
esta instancia.(urxvt*perl-ext:
)
-blt texto
tipo
de
fusión de la imagen de fondo - alpha, tint, etc...(urxvt*blendType: )
-icon
archivo
Ruta a un
archivo de icono de aplicación.(urxvt*iconFile: )
-e comando
arg ...
comando a ejecutar.
-/+background-border
respeta el borde de la terminal. (urxvt*background.border:
)
-background-expr
texto
expresión de fondo . (urxvt*background.expr:
)
-background-interval
segundos tiempo mínimo entre actualizaciones . (urxvt*background.interval:
)
-bell-command
texto
el fragmento de shell a ejecutar . (urxvt*bell-command:
)
-kuake-hotkey
texto
activación de teclas rápidas keysym.
-matcher-button
texto
el botón del ratón utilizado para activar un patrón . (urxvt*matcher.button:
)
-matcher-launcher
texto
comando lanzador predefinido para un patrón . (urxvt*matcher.launcher:
)
-matcher-launcher-...
texto lanzador personalizado para un
patrón . (urxvt*matcher.launcher.*:
)
-matcher-pattern-...
texto patrón extra añadido al predefinido . (urxvt*matcher.pattern.*:
)
-matcher-rend-...
texto
interpretación personalizada para un
patrón . (urxvt*matcher.rend*:
)
-remote-clipboard-fetch
texto el comando usado para obtener la
selección . (urxvt*remote-clipboard.fetch:
)
-remote-clipboard-store
texto el comando usado para guardar la
selección . (urxvt*remote-clipboard.store:
)
-searchable-scrollback
texto tecla de acceso rápido para
activar . (urxvt*searchable-scrollback:
)
-selection-autotransform-...
cadena de expresión de
autotransformación . (urxvt*selection.autotransform.*:
)
-selection-pastebin-cmd
texto el comando para crear un nuevo pastebin . (urxvt*selection-pastebin.cmd:
)
-selection-pastebin-url
texto la plantilla de url para nuevos pastebins . (urxvt*selection-pastebin.url:
)
-selection-pattern-0
texto primera
selección de un patrón . (urxvt*selection-pattern-0:
)
-tab-bg
color
color de fondo de la pestaña . (urxvt*tab-bg: )
-tab-fg
color
color de frente de la pestaña . (urxvt*tab-fg: )
-tabbar-bg
color
color de fondo de la barra de pestañas . (urxvt*tabbar-bg:
)
-tabbar-fg
color
color de frente de la barra de pestañas . (urxvt*tabbar-fg:
)
-url-launcher
texto
comando de shell para utilizar . (urxvt*url-launcher:
)
|
Entre paréntesis y de color azul he añadido los
parámetros a utilizar en el caso de que queramos establecer por defecto las
opciones de ejecución de Urxvt
sin necesidad de añadirlas en el comando de ejecución del
programa. Para ello nos servimos del archivo de configuración, ~/.Xdefaults
al que añadiremos todos los parámetros indicados.
En mi
caso particular lo he tenido bastante fácil, simplemente he
copiado y pegado la configuración de Aterm,
que ya tenía en ese archivo renombrando el prefijo
correspondiente y además, para poder utilizar el soporte de
multiterminal con pestañas, he añadido el
parámetro urxvt*perl-ext-common: default,tabbed, dejándolo como se muestra a continuación.
Tener en cuenta que mi configuración personal es para una
resolución de pantalla de 1920x1080, tamaño que obliga a
modificar los parámetros geometry y font.
aterm*font: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1
aterm*transparent: true
aterm*transpscrollbar: true
aterm*shading: 70
aterm*background: black
aterm*foreground: white
aterm*scrollBar: false
aterm*saveLines: 5555
aterm*geometry: 100x30
urxvt*font: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1
urxvt*transparent: true
urxvt*transpscrollbar: true
urxvt*shading: 70
urxvt*background: black
urxvt*foreground: white
urxvt*scrollBar: false
urxvt*saveLines: 5555
urxvt*perl-ext-common: default,tabbed
urxvt*geometry: 100x30 |
Para saber qué valores son booleanos (true/false) basta ejecutar el
comando urxvt --help en cualquier ventana de terminal. No creo que
existan muchos problemas a la hora de configurar mediante este archivo
las opciones de ejecución de Uxrvt.
También es muy recomendable leerse las páginas de manual del programa, sobre
todo por los ejemplos que trae en relación al uso de fuentes, el
de preguntas y respuestas, lo ejecutamos con el comando siguiente: man 7 urxvt.
Otro ejemplo más extenso, extraído del archivo de configuración personal de usuario, ~/.Xdefaults, de la fenecida distribución Vector Linux.
#Urxvt settings
#Geometry
#URxvt.geometry: 105x30
#Scrollbar
URxvt.scrollBar: true
URxvt.scrollstyle: plain
URxvt.scrollBar_right: true
URxvt.scrollTtyKeypress: true
#Transparency
URxvt.transparent: true
URxvt.shading: 20
URxvt.fading: 40
#URxvt.fadeColor: colour
#URxvt.tintColor: colour
URxvt.blendType: alphablend
#URxvt.blurRadius: number
#URxvt.background: colour
#URxvt.foreground: colour
#URxvt.backgroundPixmap: image path
#Pointer & cursor
URxvt.pointerBlank: true
#URxvt.cursorBlink: true
#URxvt.pointerColor:
#URxvt.pointerColor2:
URxvt.pointerBlankDelay: 3
#Borders
URxvt.internalBorder: 2
#URxvt.externalBorder: 2
URxvt.borderLess: false
#Fonts
Xft*dpi: 96
Xft*antialias: true
Xft*hinting: full
#URxvt*font: 10x20
#URxvt*boldFont: 10x20
urxvt.font: xft:Liberation Mono:pixelsize=14
urxvt.boldFont: xft:Liberation Mono:bold:pixelsize=14
#Misc
URxvt*reverseVideo: true
URxvt*color12: #6661ee
#Perl
##Tabs
URxvt.perl-ext-common: default,tabbed
URxvt.tabbed.tabbar-fg: 8
URxvt.tabbed.tabbar-bg: 0
URxvt.tabbed.tab-fg: 3
URxvt.tabbed.tab-bg: 0
##Open URL
URxvt.perl-ext: default,matcher
URxvt.urlLauncher: opera
URxvt.keysym.C-Delete: perl:matcher
URxvt.matcher.button: 1
URxvt.matcher.pattern.1: \\bwww\\.[\\w-]+\\.[\\w./?&@#-]*[\\w/-]
|
Iniciamos Urxvt
Sólo
nos
queda teclear en una terminal
ó en un lanzador el comando urxvt,
y el programa
aparecerá en la pantalla.
Enlaces
http://software.schmorp.de/pkg/rxvt-unicode.html >> La web de Urxvt.
|