xterm - X Window System Terminal Emulator¶
xterm ist der Standard-Terminal-Emulator für das X Window System, der als Grundlage für viele moderne Terminalanwendungen dient. Ursprünglich 1984 entwickelt, bleibt xterm einer der am weitesten verbreiteten und funktionsreichen Terminal-Emulatoren in Unix-ähnlichen Systemen. Es bietet umfangreiche Anpassungsmöglichkeiten, Unicode-Unterstützung und dient als Referenz-Implementierung für Terminal-Emulationsstandards.
Installation¶
Linux (Debian/Ubuntu)¶
bash
sudo apt update
sudo apt install xterm
_
Linux (Red Hat/CentOS/Fedora)¶
```bash sudo dnf install xterm
or on older systems:¶
sudo yum install xterm ```_
Linux (Arch)¶
bash
sudo pacman -S xterm
_
macOS (mit X11)¶
```bash
Install XQuartz first, then:¶
brew install xterm ```_
FreeBSD¶
bash
pkg install xterm
_
Basisnutzung¶
Starting xterm¶
```bash
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 ```_
Kommandozeilenoptionen¶
```bash
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 ```_
Keyboard Shortcuts¶
Textauswahl und Zwischenablage¶
```bash
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 ```_
Fenster- und Schriftsteuerung¶
```bash
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¶
```bash
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 ```_
Terminal Control¶
```bash
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 Operationen¶
Kontextmenüs¶
```bash
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 ```_
Auswahlmodus¶
```bash
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 ```_
Konfiguration¶
Konfiguration der Befehlszeile¶
```bash
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 Ressourcenkonfiguration (~/.Xresources)¶
```bash ! 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 ```_
X Ressourcen anwenden¶
```bash
Load resources¶
xrdb -merge ~/.Xresources
Load and replace all resources¶
xrdb -load ~/.Xresources
View current resources¶
xrdb -query
Remove all resources¶
xrdb -remove ```_
Erweiterte Funktionen¶
Unicode und Internationalisierung¶
```bash
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 ```_
Terminal Emulationsmodi¶
```bash
VT100 mode¶
xterm -tn vt100
VT220 mode¶
xterm -tn vt220
Linux console mode¶
xterm -tn linux
Set terminal type¶
export TERM=xterm-256color ```_
Protokollierung und Sitzungsaufzeichnung¶
```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¶
```_
Sicherheitsmerkmale¶
```bash
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 ```_
Anwendungsbeispiele¶
Farbschemata¶
```bash
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 ```_
Schriftkonfigurationen¶
```bash
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 ```_
Integration von Windows¶
```bash
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 ```_
Fehlerbehebung¶
Gemeinsame Themen¶
```bash
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 ```_
Leistungsoptimierung¶
```bash
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¶
```bash
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 ```_
Integration mit anderen Tools¶
Terminal Multiplexer¶
```bash
With tmux¶
xterm -e tmux
With screen¶
xterm -e screen
With specific session¶
xterm -e "tmux attach-session -t main" ```_
Integration von Shell¶
```bash
Specific shell¶
xterm -e bash xterm -e zsh xterm -e fish
Login shell¶
xterm -ls
Execute command and exit¶
xterm -e "ls -la; read" ```_
Fenstermanager Scripts¶
```bash
!/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" & ```_
Best Practices¶
Konfigurationsmanagement¶
```bash
Use version control for configs¶
cd ~ git init git add .Xresources git commit -m "Initial xterm configuration"
Backup configurations¶
cp ~/.Xresources ~/.Xresources.backup ```_
Sicherheitsüberlegungen¶
```bash
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 ```_
Leistungsspitzen¶
```bash
Optimize for speed¶
XTerm*jumpScroll: true XTerm*multiScroll: true XTerm*fastScroll: true
Limit resource usage¶
XTerm*saveLines: 2000 XTerm*buffered: true ```_
xterm bleibt der Goldstandard für Terminal-Emulation in Unix-ähnlichen Systemen, bietet unvergleichliche Anpassung und Kompatibilität. Seine umfangreichen Feature-Set- und Konfigurationsoptionen machen es für alles von grundlegender Kommandozeilenarbeit bis hin zu komplexen Entwicklungsumgebungen geeignet. Xterms Fähigkeiten und Konfigurationsoptionen zu verstehen ist für jeden ernsthaften Unix/Linux-Benutzer unerlässlich.