- ENTRADA 054 -
Empoderando xterm
Esto es la guerra fría, si no frenamos su poder, nos comerán, ¿entendido Sr. Philby?
--- Fecha: dom 20 oct 2024 17:24:32 CEST
Siguiendo con el monográfico sobre emuladores de terminal, hoy voy a hablar del veterano emulador de terminal Xterm.
Puedes ver el anterior artículo aquí:
Xterm tiene ya unos cuantos años. Fue desarrollado originalmente como un emulador de terminal independiente para la VAXStation 100 (VS100) por Mark Vandevoorde, un estudiante de Jim Gettys, en 1984, al mismo tiempo que se iniciaba el proyecro X Window System, y fue adoptado por este para formar parte de los programas X11.
Si, es un emulador de terminal muy mayor, pero ha ido actualizándose desde entonces, sin perder su sencillez.
Pero la gente prefiere otros emuladores de terminal más "modernos", sin saber que el betusro xterm es un patito feo que puede convertirse en cisne (y yo me voy a vomitar por haber puesto ese símil).
Lo que se pide hoy en día es un terminal con funcionalidades de editor de texto, donde poder copiar/pegar, cambiar los colores, ah, y que tenga transparencias, y xterm no lo trae.... ¿pero lo puede soportar?, la respuesta es SI.
Cuando estás en xterm, puedes mantener pulsada la tecla SHIFT y hacer click izquierdo, derecho y central para acceder a 3 menús diferentes para cambiar su configuración, pero por defecto no se guardan, y cada vez que vuelves a entrar, esas configuraciones se han perdido.
.Xresources
Por suerte, se pueden dejar en un archivo llamado .Xresources (ojo con el punto y la X mayúscula) de nuestro /home.
Xresources es como un archivo centralizado de configuración para programas creados con el kit de herramientas X.
Xterm leerá ese archivo cuando lo ejecutes y aplicará la configuración que quieras.
NOTA: La configuración de .Xresources queda fuera de este artículo, pero te recomiendo que le eches un ojo porque es muy flexible.
Para decirle a los programas que existe a su disposición un archivo de configuración, hay que instalar xrdb, que es un programa que carga los recursos en el servidor X. Se escribió originalmente cuando era más común ejecutar programas X11 fuera de servidores en red.
Suele venir con el propio Xorg, pero en algunas distros viene a parte, por lo que hay que instalarlo (en algunas viene como xrdb y en otras dentro del paquete x11-xserver-utils o x11-apps).
Este comando hay que cargarlo al inicio de la sesión, por lo que lo más recomendable es meterlo dentro de ~/.xinitrc o ~/.xsession
xrdb ~/.Xresources
NOTA: En algunas distros hay que poner xrdb -load ~/.Xresources
Xrdb ha cargado .Xresources y ahora todos los programas X que tengan entrada en él se someterán a su poder ;-)
.Xresources en xterm
Yo puse color de fondo oscuro y lo configuré para que usara 256 colores.
Además configuré el ya famoso combo de otros emuladores: CTRL + SHIFT + c y CTRL + SHIFT + v para copiar/pegar. También especifico tipo de letra, tamaño, barra de scroll y un caché de 2000 lineas. Aquí dejo mi código:
*.foreground: #ffffff *.background: #0c0d0e *.cursorColor: #ffffff ! black *.color0: #0c0d0e *.color8: #737475 ! red *.color1: #e31a1c *.color9: #e31a1c ! green *.color2: #10df50 *.color10: #10df50 ! yellow *.color3: #dca060 *.color11: #dca060 ! blue *.color4: #3182bd *.color12: #3182bd ! magenta *.color5: #756bb1 *.color13: #756bb1 ! cyan *.color6: #80b1d3 *.color14: #80b1d3 ! white *.color7: #b7b8b9 *.color15: #fcfdfe xterm*faceName: DejaVuSansMono xterm*faceSize: 10 xterm*saveLines: 2000 xterm*termName: xterm-256color xterm*VT100.Translations: #override \ Ctrl Shift <Key>V: insert-selection(CLIPBOARD) \n\ Ctrl Shift <Key>C: copy-selection(CLIPBOARD)
Para la combinación de colores he usado la web terminal.sexy. Hay otras webs similares, elige la que más te guste.
Transparencia
Xterm no trae transparencia de forma nativa, pero las X tienen un modo de pseudo transparencia a través del programa transset, que se configura en el archivo ~/.bashrc
Esto hace que se aplique un porcentaje de transparencia que tu quieras a xterm, en este ejmplo, el 90%:
[ -n "$XTERM_VERSION" ] && transset --id "$WINDOWID" 0.9 >/dev/null
Abre ahora xterm y tendrás la transparencia que quieres, aunque hay que tener en cuenta que es una pseudo transparencia y que tiene sus limitaciones.
Multiplexer
Para finalizar, xterm no es multiplexer o multiterminal, no se puede partir en horizontal o vertical para abrir otras sesiones de xterm en el mismo terminal, pero podemos echar mano de tmux para ello.
Abre xterm, ejecuta tmux y ya tienes xterm listo para ser multiplexado:
- Con CTRL + b y luego " se parte en horizontal.
- Con CTRL + b y luego % se parte en vertical
- Con CTRL + b y luego las flechas te moverás por los diferentes emuladores.
- Para salir teclea exit
NOTA: Si ves que tmux no inicia, devolviendo un error, pon esto en ~/tmux.conf : set -g default-command "${SHELL}"
Si quieres saber un poco más sobre tmux, te dejo una guía básica del amigo SL1200:
Y aquí finaliza este artículo. Si le das una segunda oportunidad a xterm con .Xresources no te defraudará.
Tags #xterm #xresources #xrdb
/blog/