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

Entornos GráficosAplicaciones

DesarrolloEmuladoresInternetJuegosMultimediaSistema

Emuladores de Terminal - MrxvtExtractores de Archivos - Deco

Emuladores de Terminal - Urxvt




Emuladores de Terminal - Urxvt




Copyright

Copyright © José Luis Lara Carrascal  2008-2023   http://manualinux.es



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 - (13.1.0) o Clang - (16.0.6)
* CMake - (3.26.4)
* M4 - (1.4.19)
* Make - (4.4.1)
* Automake - (1.16.5)
* Autoconf - (2.71)
* Pkg-config - (0.29.2)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 21.1.8)
   LibICE - (1.1.1)
   LibX11 - (1.8.6)
   LibXrender - (0.9.11)
* Gdk-Pixbuf - (2.42.10)
* Libptytty - (2.0)
* Perl - (5.38.0)
* Startup-Notification - (0.12)

Aplicaciones

* Wget - (1.21.4) [1]

[1] Requerido para poder descargarnos los iconos del archivo desktop desde internet.



Descarga

rxvt-unicode-9.31.tar.bz2  |  libptytty-2.0.tar.gz  |  urxvt_tab.patch

Optimizaciones

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

Donde pone znver3 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

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
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/gcc13/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 Mold
$ export LDFLAGS+=' -fuse-ld=mold'

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  Bloc de Notas Información general sobre el uso de los comandos

$ tar zxvf libptytty-2.0.tar.gz
$ cd libptytty-2.0
$ mkdir build; cd build
$ cmake ..

Compilación

$ make

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 5 5500
MHz 3593.250 (BoostMax=4457.000)
RAM 32 GB
Sistema de archivos XFS
Versión del Kernel 6.4.2-ml SMP PREEMPT_DYNAMIC x86_64
Modo de frecuencia de la CPU powersave (balance performance)
Versión de Glibc 2.37
Enlazador dinámico LLD 16.0.6
Compilador Clang 16.0.6
Parámetros de optimización -03 -march=znver3 -mtune=znver3 -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 -j12
Tiempo de compilación > 1"
Archivos instalados 4
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 1
/usr/local/lib64/libptytty.so
Ocupación de espacio en disco 44 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.

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  Bloc de Notas Información general sobre el uso de los comandos

$ tar jxvf rxvt-unicode-9.31.tar.bz2
$ cd rxvt-unicode-9.31
$ sed -i '402s:"":"C":' src/rxvtperl.xs
$ patch -Np1 -i ../urxvt_tab.patch
$ ./configure --disable-xft --libdir=/usr/local/lib64

Explicación de los comandos

sed -i '402s:"":"C":' src/rxvtperl.xs : Modifica el archivo correspondiente para que las locales se muestren de forma correcta con la última versión de Perl.

patch -Np1 -i ../urxvt_tab.patch : Aplica este parche personal, derivado del ubicado en esta web, que nos permitirá abrir las pestañas de terminal en el mismo directorio en el que estemos trabajando.

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

$ make

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

Explicación de los comandos

for i in /usr/local/share/icons/hicolor ... : Descarga, crea e instala los iconos del archivo desktop del programa.

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, creamos el correspondiente archivo desktop con cat:

# cat > urxvt.desktop << "EOF"
[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
EOF

Luego lo instalamos en /usr/local/share/applications. La desinstalación y respaldo de este archivo viene incluida en los scripts correspondientes proporcionados en este manual.

# 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 5 5500
MHz 3593.250 (BoostMax=4457.000)
RAM 32 GB
Sistema de archivos XFS
Versión del Kernel 6.4.2-ml SMP PREEMPT_DYNAMIC x86_64
Modo de frecuencia de la CPU powersave (balance performance)
Versión de Glibc 2.37
Enlazador dinámico LLD 16.0.6
Compilador Clang 16.0.6
Parámetros de optimización -03 -march=znver3 -mtune=znver3 -mllvm -polly -mllvm -polly-vectorizer=stripmine -flto=thin -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=memcpyopt
Parámetros de compilación -j12
Tiempo de compilación 3"
Archivos instalados 68
Mostrar/Ocultar la lista de archivos instalados
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.31-scripts.tar.gz

$ su
# tar zxvf rxvt-unicode-9.31-scripts.tar.gz
# cd rxvt-unicode-9.31-scripts
# ./Desinstalar_rxvt-unicode-9.31

Copia de Seguridad como root

$ su
# tar zxvf rxvt-unicode-9.31-scripts.tar.gz
# cd rxvt-unicode-9.31-scripts
# ./Respaldar_rxvt-unicode-9.31

Restaurar la Copia de Seguridad como root

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_rxvt-unicode-9.31



Configuración de Urxvt  Bloc de Notas  

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.  


Captura - Urxvt - 1




Enlaces  


http://software.schmorp.de/pkg/rxvt-unicode.html >> La web de Urxvt.


Foro Galería Blog


Actualizado el 08-07-2023

Emuladores de Terminal - Urxvt

Emuladores de Terminal - MrxvtExtractores de Archivos - Deco