Пользователь имеет возможность работать с несколькими xterm терминалами, запущенными в одно и то же время на одном и том же дисплее. Каждый из виртуальных терминалов предоставляет независимый ввод-вывод для процессов, запущенных в каждом из них (обычно это Unix shell процессы).
Разработка xterm была начата ещё до начала работ над X Window System. Первоначально xterm была разработана как самостоятельная программа-эмулятор терминала для VAXStation 100 (VS100) Марком Вандервурдом[англ.], студентом Джима Геттиса, летом 1984 года, когда были начаты работы над X. Сразу стало ясно, что xterm будет более полезен, если станет частью X, нежели если останется самостоятельной программой; так разработка xterm была перенацелена на X Window System. Джим Геттис рассказывает[6]: «одной из причин, почему внутренности xterm выглядят так ужасно, является то, что первоначально планировалось, что xterm будет работать как единственный процесс, способный управлять несколькими терминалами VS100».
В течение многих лет программа xterm была частью эталонной реализации X, но около 1996 основной процесс разработки сместился в сторону XFree86 (которая сама по себе является развитием X11R6.3); в настоящее время разработка поддерживается Томасом Дикки[англ.].
Существует множество вариантов xterm. Большинство эмуляторов терминала для X начинали разрабатываться как варианты xterm.
Интерфейс
По умолчанию у xterm отсутствует строка меню. Для того, чтобы получить доступ к одному из трёх меню xterm, пользователь должен, удерживая клавишу Control, нажать левую, среднюю или правую клавишу мыши. Поддержку строки меню можно задать во время компиляции программы; в этом случае указанные выше меню, будут доступны из строки меню.