Saltar a contenido

xterm - X Window System Terminal Emulator

"Clase de la hoja"

########################################################################################################################################################################################################################################################## Copiar todos los comandos
########################################################################################################################################################################################################################################################## Generar PDF seleccionado/button

■/div titulada

xterm es el emulador terminal estándar para el sistema X Window, que sirve como la base para muchas aplicaciones terminales modernas. Originalmente desarrollado en 1984, xterm sigue siendo uno de los emuladores terminales más utilizados y ricos en características en sistemas similares a los de Unix. Proporciona amplias opciones de personalización, soporte Unicode, y sirve como aplicación de referencia para estándares de emulación 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

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

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

# 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

Ventana y Control de Fuentes

# 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

Scrolling

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

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

Mouse Operations

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

X Recursos Configuración (~/.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 and Internationalization

# 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 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 de sesión y sesión

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

# 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ón

Esquemas de color

# 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

Configuraciones de fuentes

# 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

Window Manager Integration

# 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

Solución de problemas

Cuestiones comunes

# 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

Optimización del rendimiento

# 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

Debugging

# 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

Integración con otras herramientas

Terminal Multiplexxers

# With tmux
xterm -e tmux

# With screen
xterm -e screen

# With specific session
xterm -e "tmux attach-session -t main"

Integración Shell

# Specific shell
xterm -e bash
xterm -e zsh
xterm -e fish

# Login shell
xterm -ls

# Execute command and exit
xterm -e "ls -la; read"

Windows Manager Scripts

#!/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" &

Buenas prácticas

Configuration Management

# Use version control for configs
cd ~
git init
git add .Xresources
git commit -m "Initial xterm configuration"

# Backup configurations
cp ~/.Xresources ~/.Xresources.backup

Consideraciones de seguridad

# 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

Consejos de rendimiento

# Optimize for speed
XTerm*jumpScroll: true
XTerm*multiScroll: true
XTerm*fastScroll: true

# Limit resource usage
XTerm*saveLines: 2000
XTerm*buffered: true

xterm sigue siendo el estándar de oro para la emulación terminal en sistemas similares a Unix, ofreciendo personalización y compatibilidad sin igual. Sus extensas opciones de configuración y configuración de características lo hacen adecuado para todo desde el trabajo básico de línea de comandos hasta entornos de desarrollo complejos. Comprender las capacidades de xterm y las opciones de configuración es esencial para cualquier usuario de Unix/Linux serio.