Saltar a contenido

xterm - Emulador de Terminal del Sistema de Ventanas X

xterm es el emulador de terminal estándar para el Sistema de Ventanas X, sirviendo como base para muchas aplicaciones de terminal modernas. Originalmente desarrollado en 1984, xterm sigue siendo uno de los emuladores de terminal más utilizados y con más funciones en sistemas tipo Unix. Proporciona extensas opciones de personalización, soporte Unicode y sirve como implementación de referencia para estándares de emulación de terminal.

Instalación

Linux (Debian/Ubuntu)

sudo apt update
sudo apt install xterm

Linux (Red Hat/CentOS/Fedora)

sudo dnf install xterm
# or on older systems:
sudo yum install xterm

Linux (Arch)

sudo pacman -S xterm

macOS (con X11)

# Install XQuartz first, then:
brew install xterm

FreeBSD

pkg install xterm

Uso Básico

Iniciando xterm

# Basic xterm window
xterm

# Start with specific title
xterm -title "My Terminal"

# Start with specific geometry
xterm -geometry 80x24+100+100

# Start with specific font
xterm -fn "fixed"

# Start in fullscreen
xterm -fullscreen

Opciones de Línea de Comandos

# Display options
xterm -display :0.0
xterm -geometry 132x43
xterm -iconic
xterm -maximized

# Font options
xterm -fn "9x15"
xterm -fa "Monospace:size=12"
xterm -fs 14

# Color options
xterm -fg white -bg black
xterm -rv  # Reverse video
xterm -cm  # Color mode

# Scrolling options
xterm -sb  # Enable scrollbar
xterm -sl 1000  # Set scrollback lines
xterm -si  # Scroll on input
xterm -sk  # Scroll on key press

# Logging options
xterm -l  # Enable logging
xterm -lf logfile.txt  # Log to specific file

Atajos de Teclado

Selección de Texto y Portapapeles

# Text selection
Left Click + Drag          # Select text
Double Click               # Select word
Triple Click               # Select line
Shift + Left Click         # Extend selection

# Clipboard operations
Ctrl + Shift + C           # Copy (modern xterm)
Ctrl + Shift + V           # Paste (modern xterm)
Middle Click               # Paste selection (traditional)
Shift + Insert             # Paste clipboard

# Traditional X11 clipboard
Select text                # Automatically copies to primary selection
Middle Click               # Paste primary selection

Control de Ventana y Fuente

# Font size control
Ctrl + Right Click         # Font menu
Ctrl + Plus                # Increase font size
Ctrl + Minus               # Decrease font size
Ctrl + 0                   # Reset font size

# Window operations
Alt + F4                   # Close window
Alt + F10                  # Maximize window
Alt + F9                   # Minimize window
Alt + F5                   # Restore window

Desplazamiento

# Scrollback navigation
Shift + Page Up            # Scroll up one page
Shift + Page Down          # Scroll down one page
Shift + Home               # Scroll to top
Shift + End                # Scroll to bottom
Shift + Up Arrow           # Scroll up one line
Shift + Down Arrow         # Scroll down one line

Control de Terminal

# Terminal reset and clear
Ctrl + L                   # Clear screen
reset                      # Reset terminal state
clear                      # Clear screen content

# Process control
Ctrl + C                   # Interrupt (SIGINT)
Ctrl + Z                   # Suspend (SIGTSTP)
Ctrl + D                   # EOF/Exit
Ctrl + \                   # Quit (SIGQUIT)

Operaciones con Ratón

# Main menu (Ctrl + Left Click)
- New Window
- Print Window
- Redraw Window
- Send Signal
- Quit

# VT Options menu (Ctrl + Middle Click)
- Enable/Disable Scrollbar
- Enable/Disable Jump Scroll
- Enable/Disable Reverse Video
- Enable/Disable Auto Wraparound
- Enable/Disable Reverse Wraparound
- Enable/Disable Auto Linefeed
- Enable/Disable Application Cursor Keys
- Enable/Disable Application Keypad
- Scroll to Bottom on Output
- Scroll to Bottom on Key
- Allow 80/132 Column Switching
- Keep Selection
- Select to Clipboard

# VT Fonts menu (Ctrl + Right Click)
- Default Font
- Tiny Font
- Small Font
- Medium Font
- Large Font
- Huge Font
- Escape Sequence Font
- Selection Font

Modos de Selección

# Selection types
Single Click               # Position cursor
Double Click               # Select word
Triple Click               # Select line
Quadruple Click            # Select all

# Extended selection
Shift + Click              # Extend selection
Ctrl + Click               # Rectangular selection
Alt + Click                # Line selection mode

Configuración

Configuración de Línea de Comandos

# Resource file options
xterm -xrm "XTerm*background: black"
xterm -xrm "XTerm*foreground: white"
xterm -xrm "XTerm*font: 9x15"
xterm -xrm "XTerm*scrollBar: true"

# Multiple resources
xterm -xrm "XTerm*background: black" \
      -xrm "XTerm*foreground: green" \
      -xrm "XTerm*font: fixed"

Configuración de Recursos X (~/.Xresources)

! Basic appearance
XTerm*background: black
XTerm*foreground: white
XTerm*cursorColor: yellow
XTerm*pointerColor: red
XTerm*borderColor: blue

! Font configuration
XTerm*font: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1
XTerm*boldFont: -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-1
XTerm*faceName: Liberation Mono:size=12:antialias=false
XTerm*faceSize: 12

! Scrolling
XTerm*scrollBar: true
XTerm*scrollbar.width: 8
XTerm*rightScrollBar: true
XTerm*saveLines: 10000
XTerm*scrollTtyOutput: false
XTerm*scrollKey: true

! Bell configuration
XTerm*visualBell: true
XTerm*bellIsUrgent: true

! Selection and clipboard
XTerm*highlightSelection: true
XTerm*trimSelection: true
XTerm*cutNewline: false
XTerm*cutToBeginningOfLine: false
XTerm*charClass: 33:48,35:48,37:48,43:48,45-47:48,64:48,95:48,126:48

! Terminal behavior
XTerm*loginShell: true
XTerm*jumpScroll: true
XTerm*multiScroll: true
XTerm*toolBar: false
XTerm*titeInhibit: false

! Color scheme (Solarized Dark example)
XTerm*color0: #073642
XTerm*color1: #dc322f
XTerm*color2: #859900
XTerm*color3: #b58900
XTerm*color4: #268bd2
XTerm*color5: #d33682
XTerm*color6: #2aa198
XTerm*color7: #eee8d5
XTerm*color8: #002b36
XTerm*color9: #cb4b16
XTerm*color10: #586e75
XTerm*color11: #657b83
XTerm*color12: #839496
XTerm*color13: #6c71c4
XTerm*color14: #93a1a1
XTerm*color15: #fdf6e3

Aplicar Recursos X

# Load resources
xrdb -merge ~/.Xresources

# Load and replace all resources
xrdb -load ~/.Xresources

# View current resources
xrdb -query

# Remove all resources
xrdb -remove

Características Avanzadas

Unicode e Internacionalización

# UTF-8 support
xterm -u8

# Locale-specific startup
LC_ALL=en_US.UTF-8 xterm

# Font configuration for Unicode
XTerm*utf8: 1
XTerm*locale: true
XTerm*utf8Title: true
XTerm*fontMenu*fontdefault*Label: Default
XTerm*faceName: DejaVu Sans Mono:size=11
XTerm*faceNameDoublesize: WenQuanYi Zen Hei Mono:size=11

Modos de Emulación de Terminal

# VT100 mode
xterm -tn vt100

# VT220 mode
xterm -tn vt220

# Linux console mode
xterm -tn linux

# Set terminal type
export TERM=xterm-256color

Registro y Grabación de Sesión

Would you like me to continue with the remaining sections?```bash

Enable logging

xterm -l -lf ~/xterm.log

Logging with timestamp

xterm -l -lf ~/xterm-$(date +%Y%m%d-%H%M%S).log

Session recording with script

script -f ~/session.log

Then start xterm within the script session

### Características de Seguridadbash

Disable dangerous features

XTerm*allowSendEvents: false XTerm*allowWindowOps: false XTerm*allowTitleOps: false XTerm*allowFontOps: false

Secure keyboard input

XTerm*secureKeyboard: true

Disable menu access

XTerm*omitTranslation: popup-menu ## Ejemplos de Personalizaciónbash

Solarized Light

XTerm*background: #fdf6e3 XTerm*foreground: #657b83 XTerm*fadeColor: #fdf6e3 XTerm*cursorColor: #586e75 XTerm*pointerColorBackground: #93a1a1 XTerm*pointerColorForeground: #586e75

Monokai

XTerm*background: #272822 XTerm*foreground: #f8f8f2 XTerm*cursorColor: #f8f8f0 XTerm*color0: #272822 XTerm*color1: #f92672 XTerm*color2: #a6e22e XTerm*color3: #f4bf75 XTerm*color4: #66d9ef XTerm*color5: #ae81ff XTerm*color6: #a1efe4 XTerm*color7: #f8f8f2

Gruvbox Dark

XTerm*background: #282828 XTerm*foreground: #ebdbb2 XTerm*color0: #282828 XTerm*color1: #cc241d XTerm*color2: #98971a XTerm*color3: #d79921 XTerm*color4: #458588 XTerm*color5: #b16286 XTerm*color6: #689d6a XTerm*color7: #a89984 ### Esquemas de Colorbash

Bitmap fonts

XTerm*font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 XTerm*boldFont: -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-1

TrueType fonts

XTerm*faceName: Inconsolata:size=12 XTerm*faceSize: 12 XTerm*renderFont: true

Multiple font sizes

XTerm*faceSize1: 8 XTerm*faceSize2: 10 XTerm*faceSize3: 12 XTerm*faceSize4: 14 XTerm*faceSize5: 16 XTerm*faceSize6: 18 ### Configuraciones de Fuentesbash

Window class and name

XTerm*iconName: Terminal XTerm*title: xterm XTerm*geometry: 80x24+0+0

Window manager hints

XTerm*allowWindowOps: true XTerm*disallowedWindowOps: 1,2,3,4,5,6,7,8,9,11,13,18,19

Session management

XTerm*sessionMgt: true ### Integración con Gestor de Ventanasbash

Font problems

xlsfonts|grep fixed # List available fonts xterm -fn fixed # Use basic fixed font fc-list : family|grep Mono # List monospace fonts

Color issues

echo $TERM # Check terminal type tput colors # Check color support xterm -tn xterm-256color # Force 256 color mode

Clipboard problems

xclip -version # Check if xclip is installed xsel --version # Check if xsel is installed echo $DISPLAY # Verify X11 display

Locale issues

locale # Check current locale xterm -u8 # Enable UTF-8 mode export LANG=en_US.UTF-8 # Set UTF-8 locale ## Resolución de Problemasbash

Disable unnecessary features

XTerm*jumpScroll: true XTerm*multiScroll: true XTerm*fastScroll: true

Reduce resource usage

XTerm*saveLines: 1000 # Limit scrollback XTerm*visualBell: false # Disable visual bell XTerm*toolBar: false # Disable toolbar

Font rendering optimization

XTerm*renderFont: true XTerm*antialias: true XTerm*faceSize: 11 ### Problemas Comunesbash

Debug mode

xterm -debug 1

Verbose output

xterm -verbose

Check resources

xrdb -query|grep -i xterm

Test configuration

xterm -xrm "XTerm*background: red" -geometry 40x10 ### Optimización de Rendimientobash

With tmux

xterm -e tmux

With screen

xterm -e screen

With specific session

xterm -e "tmux attach-session -t main" ### Depuraciónbash

Specific shell

xterm -e bash xterm -e zsh xterm -e fish

Login shell

xterm -ls

Execute command and exit

xterm -e "ls -la; read" ## Integración con Otras Herramientasbash

!/bin/bash

Launch multiple xterm windows

xterm -geometry 80x24+0+0 -title "Main" & xterm -geometry 80x24+400+0 -title "Logs" -e "tail -f /var/log/syslog" & xterm -geometry 80x24+0+300 -title "Monitor" -e "htop" & ### Multiplexores de Terminalbash

Use version control for configs

cd ~ git init git add .Xresources git commit -m "Initial xterm configuration"

Backup configurations

cp ~/.Xresources ~/.Xresources.backup ### Integración con Shellbash

Disable dangerous operations

XTerm*allowSendEvents: false XTerm*allowWindowOps: false XTerm*allowTitleOps: false

Use secure keyboard mode

XTerm*secureKeyboard: true

Limit font operations

XTerm*allowFontOps: false ### Scripts de Gestor de Ventanasbash

Optimize for speed

XTerm*jumpScroll: true XTerm*multiScroll: true XTerm*fastScroll: true

Limit resource usage

XTerm*saveLines: 2000 XTerm*buffered: true ```## Mejores Prácticas