# Install xterm with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Terminal emulator for the X Window System. Version 410 via Homebrew; verified 2026-05-25.

## Install

```sh
sudo av install brew:xterm
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install xterm
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install xterm
```

  Evidence: MacPorts ports tree: x11/xterm/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add xterm
```

  Evidence: Alpine Linux edge package indexes: xterm from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install xterm
```

  Evidence: Debian stable package indexes: xterm from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install xterm
```

  Evidence: Fedora Rawhide package metadata: xterm from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#xterm
```

  Evidence: nixpkgs package indexes: pkgs/by-name/xt/xterm/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S xterm
```

  Evidence: Arch Linux sync databases: xterm from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install xterm
```

  Evidence: openSUSE Tumbleweed package metadata: xterm from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:xterm
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/xterm>
- **Version:** 410
- **Source summary:** Terminal emulator for the X Window System
- **Homepage:** <https://invisible-island.net/xterm/>
- **Repository:** <https://github.com/ThomasDickey/xterm-snapshots>
- **Upstream docs:** <https://invisible-island.net/xterm>
- **License:** X11 AND HPND
- **Source archive:** <https://invisible-mirror.net/archives/xterm/xterm-410.tgz>
- **Last updated:** 2026-05-25T14:31:49-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- koi8rxterm (cli)
- resize (cli)
- uxterm (cli)
- xterm (cli)
- koi8rxterm (alias)
- resize (alias)
- uxterm (alias)
- xterm (alias)

## Dependencies

- fontconfig
- freetype
- libice
- libx11
- libxaw
- libxext
- libxft
- libxinerama
- libxmu
- libxpm
- libxt

## Build dependencies

- pkgconf

## Uses from macOS

- ncurses

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 410
- Package-manager updated: 2026-05-25
- Local data: ok
- Upstream repository: https://invisible-island.net/xterm/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

xterm is the canonical terminal emulator for the X Window System: a DEC VT-family and Tektronix 4014 compatible terminal window that has survived from the first X experiments into modern X.Org packaging. For package nerds, it is both a usable terminal and a reference point for terminal control sequences, terminfo behavior, and X11 terminal compatibility.

### Project history

xterm predates the X Window System in a narrow but important sense. Thomas Dickey's FAQ preserves Jim Gettys' account that Mark Vandevoorde first wrote it in the summer of 1984 as a stand-alone terminal emulator for the DEC VAXstation 100, then retargeted it to X when X became the more useful path.

The early program accumulated work from Gettys and others: Bob McNamara's ANSI parser, Tektronix graphics support from Doug Mink at the Smithsonian Astrophysical Observatory, an X11 port by Loretta Guarino, and later X Consortium maintenance. That mixed authorship explains why xterm carries both terminal-emulation and early-workstation history.

Thomas E. Dickey began sustained xterm work in the mid-1990s, initially around color behavior, ncurses needs, and XFree86 integration. His project page describes xterm's terminal-description evolution from VT102-oriented behavior to VT220 and then VT420-oriented behavior, while the changelog records continuing patch-level maintenance into the 2020s.

### Adoption history

xterm's adoption followed X11 itself. It became the standard terminal emulator shipped with X distributions, so Unix workstations, XFree86, X.Org, Cygwin/X, XQuartz-style setups, and Linux distributions inherited it as the plain X terminal even after desktop environments added newer terminal apps.

The larger adoption story is compatibility. Terminal applications, curses libraries, shell prompts, and title-setting helpers often target xterm-compatible behavior even when the actual emulator is rxvt, dtterm, GNOME Terminal, Konsole, iTerm2, or another descendant. This made xterm a de facto behavior spec as much as a package.

Dickey's upstream page links packages, historical source archives, the FAQ, control-sequence documentation, and the changelog, reflecting xterm's unusual status as an old X component still maintained as an independent upstream and still distributed by package managers.

### How it is used

Users run `xterm` to open a shell or command in an X11 window; `uxterm` wraps xterm for Unicode locales; `koi8rxterm` targets KOI8-R environments; and `resize` reports terminal dimensions to shells. Options and X resources control fonts, colors, scrollback, geometry, titles, selections, and terminal modes.

Developers use xterm as a practical testbed for terminal behavior: cursor addressing, colors, alternate-screen behavior, title operations, UTF-8, terminfo capabilities, bracketed paste, and compatibility with old DEC and Tektronix expectations.

### Why package nerds care

xterm matters because package history, protocol history, and terminal compatibility meet in one executable. Installing it is not just installing a terminal; it brings a long-lived X11 terminal behavior that many terminal programs and scripts already know how to speak.

It is also a maintenance case study. Rather than being replaced by a new framework, xterm survived by preserving old X and DEC behavior while adding color, Unicode, Xft fonts, newer DEC emulation, and safety controls around risky terminal operations.

### Timeline

- 1984: Mark Vandevoorde writes the original VS100 terminal emulator during the summer X began, then retargets it to X.
- 1985: Doug Mink adds Tektronix-style graphics support for Smithsonian Astrophysical Observatory workflows using early X systems.
- 1987: X11-era development begins; Loretta Guarino ports xterm to X11 according to the FAQ's preserved authorship history.
- Early 1996: Thomas Dickey begins sustained xterm maintenance work around color, portability, and terminal-description correctness.
- 1996: XFree86-era patches move xterm toward fuller VT220-style behavior and updated termcap/terminfo descriptions.
- 2012: The preferred xterm terminal description shifts to a VT420-oriented basis, per Dickey's project history.
- 2020s: xterm remains maintained upstream with changelog entries and package-manager distribution across Unix-like systems.

### Related projects

- X Window System and X.Org: the display-system lineage that made xterm a standard client.
- XFree86: the project through which much mid-1990s and early-2000s xterm work flowed.
- ncurses, termcap, and terminfo: terminal capability databases and libraries whose xterm entries evolved alongside the emulator.
- vttest: Thomas Dickey's related terminal test program.
- rxvt, kterm, hanterm, dtterm, GNOME Terminal, and Konsole: terminal emulators that intersect with xterm compatibility.

### Sources

- <https://github.com/ThomasDickey/xterm-snapshots>
- <https://invisible-island.net/xterm/>
- <https://invisible-island.net/xterm/ctlseqs/ctlseqs.html>
- <https://invisible-island.net/xterm/xterm.faq.html>
- <https://invisible-island.net/xterm/xterm.log.html>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** xterm
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - xterm - 398-1: normalized package name match | Debian stable package indexes: xterm from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | X terminal emulator | https://invisible-island.net/xterm/xterm.html
- Nix - xterm: normalized package name match | nixpkgs package indexes: pkgs/by-name/xt/xterm/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - xterm - 390-1ubuntu3: normalized package name match | Ubuntu 24.04 LTS package indexes: xterm from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | X terminal emulator | https://invisible-island.net/xterm/xterm.html
- apk - xterm - 410-r0: normalized package name match | Alpine Linux edge package indexes: xterm from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | X Terminal Emulator | https://invisible-island.net/xterm
- apk - xterm-doc - 410-r0: normalized package name match | Alpine Linux edge package indexes: xterm-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | X Terminal Emulator (documentation) | https://invisible-island.net/xterm
- dnf - xterm - 410-1.fc45: normalized package name match | Fedora Rawhide package metadata: xterm from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Terminal emulator for the X Window System | https://invisible-island.net/xterm
- dnf - xterm-resize - 410-1.fc45: normalized package name match | Fedora Rawhide package metadata: xterm-resize from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Set environment and terminal settings to current window size | https://invisible-island.net/xterm
- pacman - xterm - 410-1: normalized package name match | Arch Linux sync databases: xterm from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | X Terminal Emulator | https://invisible-island.net/xterm/
- zypper - xterm - 410-1.1: normalized package name match | openSUSE Tumbleweed package metadata: xterm from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | The basic X terminal program | https://invisible-island.net/xterm/xterm.html
- zypper - xterm-bin - 410-1.1: normalized package name match | openSUSE Tumbleweed package metadata: xterm-bin from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | The basic X terminal program | https://invisible-island.net/xterm/xterm.html
- zypper - xterm-resize - 410-1.1: normalized package name match | openSUSE Tumbleweed package metadata: xterm-resize from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Set environment and terminal settings to current window size | https://invisible-island.net/xterm/xterm.html
- MacPorts - xterm: normalized package name match | MacPorts ports tree: x11/xterm/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [fontconfig](https://www.automicvault.com/pkg/brew/fontconfig/) - Runtime dependency declared by Homebrew.
- [freetype](https://www.automicvault.com/pkg/brew/freetype/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [xinit](https://www.automicvault.com/pkg/brew/xinit/) - Popular package that depends on this formula.
- [libvterm](https://www.automicvault.com/pkg/brew/libvterm/) - Shares av.db curated category or tags: cli, developer-tools, terminal, terminal-emulator.
- [wy60](https://www.automicvault.com/pkg/brew/wy60/) - Shares av.db curated category or tags: cli, developer-tools, terminal, terminal-emulator.
- [xtermcontrol](https://www.automicvault.com/pkg/brew/xtermcontrol/) - Shares av.db curated category or tags: cli, developer-tools, terminal, x11.
- [xtitle](https://www.automicvault.com/pkg/brew/xtitle/) - Shares av.db curated category or tags: cli, developer-tools, terminal, x11.
- [aha](https://www.automicvault.com/pkg/brew/aha/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [amtterm](https://www.automicvault.com/pkg/brew/amtterm/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [ansifilter](https://www.automicvault.com/pkg/brew/ansifilter/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [ccat](https://www.automicvault.com/pkg/brew/ccat/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [ncurses](https://www.automicvault.com/pkg/brew/ncurses/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, terminal.
- [gptline](https://www.automicvault.com/pkg/brew/gptline/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, freetype, terminal.

## Combined YAML source

View the package source record on GitHub. [combined/xterm.yml](https://github.com/automic-vault/db/blob/main/combined/xterm.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
