Предисловие
Как-то в обсуждениях у нас промелькнула мысль о том, что было бы неплохо провести сравнение различных эмуляторов терминала Линукс, обсудить их функционал и возможности, попытаться разобраться в особенностях и необходимости применения на своей системе.
Статья, прежде всего, будет направлена на потребности рядового пользователя, которому эмулятор нужен для запуска команд оболочки и, возможно, для работы некоторых терминальных приложений. Сравнение не будет полным, охватывающим все и вся, предлагаю отталкиваться от штатных терминалов, коими укомплектованы все рабочие окружения (desktop environment), а также рассмотреть наиболее популярные эмуляторы среди пользователей оконных менеджеров (window manager).
Предлагаю начать с определений.
Терминал компьютера — устройство, которое используется для осуществления взаимодействия пользователя с системой компьютера посредством физических устройств (клавиатура, дисплей, печатающее устройство, звуковое устройство, устройство хранения данных), подключаемых к компьютеру через интерфейсный порт (например, широко-распространенный последовательный порт RS-232).
Эмулятор терминала — это программа, которая эмулирует терминал компьютера и дает возможность пользователю взаимодействовать с операционной системой (локально или удаленно).
VT100 — графический компьютерный терминал, набор команд которого (набор символов ASCII и управляющих ESCAPE последовательностей) стандартизован ANSI, а позже стал неофициальным стандартом для эмуляторов терминала.
VTE (виртуальный эмулятор терминала) — это библиотека с открытым исходным кодом, предоставляющая виджет для инструментария GTK+ 2.0 (или выше). На базе VTE построены такие эмуляторы терминала, как: gnome terminal, xfce4-terminal, roxterm, guake, sakura terminal, terminator.
Обзор штатных эмуляторов терминала
GNOME Terminal — эмулятор терминала по-умолчанию в одноименной среде рабочего стола. Набор функций идентичен xterm. Дополнения коснулись графической настройки внешнего вида (цвет, фон, шрифт, курсор...), поддержке профилей с возможностью индивидуальной настройки каждого, встроенной поддержке мыши с функциями копирования/вставки, поддержке ссылок с возможностью открытия их из окна терминала в браузере по-умолчанию, поддержке вкладок, а также поддержке комбинаций клавиш с возможностью их индивидуальной настройки.

Прикол в том, что все тоже самое можно сказать и про konsole, xfce4-terminal, lxterminal... и далее все эмуляторы других известных окружений рабочего стола, с которыми они поставляются и в которые они интегрированы по-умолчанию. К исключениям можно отнести разве что terminology, в котором сделан упор на безопасность и он, хотя бы внешне, чуть больше отличается от остальных, впрочем как и сам enlightenment.

Поэтому, не вижу большого смысла рассматривать каждый из них в отдельности, а предлагаю объединить в одну группу: "штатные эмуляторы терминала". Предлагаю такой вариант еще и потому, что считаю, что в каждом рабочем окружении рядовому пользователю стоит пользоваться тем эмулятором терминала, который является для него "родным". Помните, в начале статьи мы определили основные требования, предъявляемые рядовым пользователем к эмулятору терминала? Согласитесь, что для удовлетворения этих требований более чем сгодится штатный терминал. Да и было бы нелепо в среду Gnome тащить konsole или наоборот. При расширении же круга задач, имеет смысл обратить свой взор на другие продукты, подобрав нужный из них под конкретные цели.
Обзор альтернативных эмуляторов терминала
В среде оконных менеджеров ситуация выглядит немного иначе, там изначально пользователю не "навязывается" эмулятор терминала и он должен выбрать один (а может и не один) из них. Вполне возможна ситуация, когда кто-то уже привыкший, например к xfce4-terminal, его именно и выберет. Тем не менее популярность таких эмуляторов терминала, как alacritty, kitty, urxvt (и других альтернативных) среди пользователей оконных менеджеров гораздо выше, что косвенно подтверждается большим количеством dotfiles-настроек этих эмуляторов на популярных git-сервисах.
Alacritty — простой, минималистичный эмулятор терминала, использующий OpenGL для обработки графики, написанный на Rust. Все настройки задаются в файле конфигурации, в котором использован синтаксис toml (ранее был yaml). Минимализм и скорость - вот его главные козыри. В нем нет поддержки вкладок; он не предлагает по-умолчанию упрощенный вариант копирования-вставки с помощью мыши или стандартных сочетаний клавиш; в нем нет графических настроек, а существующая документация может показаться сложной.
Когда первый раз его установил (давно уже было), был крайне взбешен отсутствием копирования/вставки с помощью мыши, а также стандартных Ctrl-c/Ctrl-v. Теперь то понимаю, что так задумано во-благо. Но с alacritty все быстро меняется, - достаточно чуточку погрузиться в его нутро, ощутить прелести минимализма и скорости, - как начинаешь относится к нему совершенно иначе. В двух словах можно сказать, что устанавливая alacritty, - "получаешь терминал" и ничего больше.

Kitty — другой эмулятор терминала, использующий OpenGL для обработки графики, написанный на Python. Все настройки также задаются в файле конфигурации. В отличие от alacritty, он предлагает более расширенный функционал, такой как поддержка вкладок, встроенный вывод графики, настройки тем и шрифтов и многое другое. Все это реализовано путем вызова команды kitten с различными ключами.
Для себя нахожу некоторые из функций не только удобными, но и полезными. Например, в терминальных файловых менеджерах, которые я активно использую (в частности vifm), для реализации предпросмотра графических изображений удобно использовать встроенную функцию kitten icat. Для реализации подобного в alacritty, например, приходится устанавливать сторонний софт, типа ueberzugpp.
Настройка цветовых тем в kitty выполняется встроенной командой kitten themes, после вызова которой открывается псевдографический интерфейс с опцией предпросмотра загруженных тем на выбор пользователя. Вкладки, может кому-то это и нужно; лично мне никогда не требовался данный функционал и соответственно мной не используется. В то же время все это не мешает kitty оставаться простым, минималистичным и довольно быстрым эмулятором терминала с поддержкой GPU.

GNOME Console — попытка создать простой эмулятор терминала для среды рабочего стола gnome с уклоном на интерактивность. Из всех перечисленных эмуляторов терминала gnome console самый медленный, что особенно заметно при "холодном" старте. Внешне он похож на gnome terminal, у которого отрезали настройки и раскрасили рамку окна в зависимости от применения (красный - root или sudo, фиолетовый - при удаленном подключении по ssh), улучшили всплывающие окна предупреждений. На этом все его "фишки" заканчиваются, а скорость работы, проблемы при масштабировании, сложность какой-либо настройки (считай отсутствие таковой) - оставляют вопросы.


ST — оптимизированный эмулятор терминала, предлагаемый в качестве замены устаревшим xterm и rxvt. Написан на языке С, развивается под эгидой проекта suckless, в котором разработчиками делается упор на минимализм, простоту и ясность. Широко известные dwm и dmenu также развивается этим сообществом. Минимализм в нем такой, что даже прокрутки в терминале нет; добавляется установкой патча. На фоне остальных его выделяет минимум задержек и крайне малое потребление ресурсов. Если поиграться с масштабированием, то не сложно заметить, что обновление выполняется не полное. Зато все действия выглядят молниеносными, и в тестах st оказывается в лидерах. Смотрите сами:

Тестирование, анализ
Для интересующихся различными тестами и сравнительным анализом на их основе, предлагаю следующие статьи к прочтению:
Мой выбор
В окружениях рабочего стола (Gnome, KDE, XFCE...) наиболее приемлемыми и достаточными для меня, как рядового пользователя, выглядят штатные эмуляторы терминала. В средах, построенных на базе оконных менеджеров, предпочитаю alacritty и kitty. И тот и другой одинаково для меня хороши, один из них используется в качестве рабочего варианта, второй (как правило с совершенно другой темой оформления) в качестве "плавающего" терминала, вызываемого совместно с каким-нибудь терминальным приложением (nmtui, btop...) или скриптом оболочки. Всей прелести крайней степени минимализма и супер скорости st терминала так и не ощутил, предпочтение в таком случае отдаю комфорту. GNOME Console воспринимается мной как этакий франкенштейн; почему бы просто хорошие идеи не перенести в головной терминал в таком случае, а не плодить непонятно что и непонятно для кого?
Комментарии
10:04
+
10:07
Самым лучшим долгое время считал Sakura. Потому что он настраивается и через конфиг и через графический интерфейс и имеет зависимости только от gtk и libvte. Я и сейчас его считаю одним из лучших эмуляторов. А вернее он теперь для меня на втором месте.
Потому что на первом месте теперь для меня ST (о котором идет речь в статье). Он еще более минималистичный (примитивно и легко собирается из исходников), и действительно круто выглядит. До него я сидел какое-то время на alacritty (ужасный ужас). После того, как пересел на ST, я наконец-то вспомнил, что такое "немыльные" буквы в терминале. Изображение четкое и контрастное.
В общем, не переусложняйте! :D
11:04
11:16
В Арче надо ставить через аур и так пакет "st" и называется;
В федоре вроде бы тоже просто "st".
13:09
Потому что проще редактировать config.h и перекомпилировывать.
11:45
11:01
11:03
Действительно у ST очень высокий контраст. Для меня - это скорее минус, глаза намного быстрее устают. Помните, microsoft когда-то ввел сглаживание экранных шрифтов и предложил индивидуальную настройку каждому пользователю? Мой выбор всегда был где-то посередине, так как чрезмерный контраст, также как и откровенное "мыло" сильно нагружают мои глаза. Все очень индивидуально в данном контексте.
13:10
23:52
И чем же это Вам не угодил молодой студент из Женевы?
11:22
11:29
Но я не фанат терминала - так что без рюшечек ))
11:33
11:41
Для этого хватает и стандартной консоли которая поставляется в DE.
Заморачивается с выборм ST, kitty и прочими имеет смысл если большая часть работы в linux осуществялется через терминал.
11:59
Да это как всегда )) Можно и через Сунаптик обновить. Но лень запускать. А консоль команды запомнила - просто выбираешь )
12:13
Ещё понравилось, что не предлагается менять эмуляторы в DE на какой-то другой, который чем-то лучше - спокойный подход.
А добавить хочу, что по Ctrl-Alt-F1(-F6) будут вам терминалы и, казалось бы, зачем тогда нужен его эмулятор? А просто там строки "убегают" вверх безвозвратно, их не отмотать назад, а иногда хочется.
14:53
Так как бы по Ctrl-Alt-F1 это и есть эмулятор терминала)) Но не суть, я о другом. Можно таки пропатчить ядро и вернуть скролл, либо взять tmux/screen
P.S.: помниться, где-то тут мы уже обсуждали fbcon
16:40
Эмулятор в DE оставить, но пропатчить ядро ... - откомментировали комментарий!
16:55
Если у Вас до сих пор в /dev/tty1 имеется физический телепринтер, то да, терминал. Если всё таки /dev/tty1 программно эмулирует телепринтер, то эмулятор. Он же - виртуальная консоль!
Второй абзац расшифровать не смог!)
17:28
нет такого, давно уже нет, и консоль tty и "графические пакеты" - все есть эмуляторы терминала.
> Второй абзац расшифровать не смог!)
Видимо речь, про предложенный Вами патч с целью реализации обратной прокрутки в консоли tty. Как сюда пришел "Эмулятор в DE" для меня также остается загадкой.
18:21
18:29
Отсутствие "перемотки" решается патчем или tmux, вдруг Вам захотелось хардкора)
17:55
/dev/tty[0-N] — это просто виртуальная консоль, на которую вы можете переключиться из главного терминала, если вы используете систему с графическим интерфейсом, где N представляет номер телетайпа. Они моделируют несколько консолей поверх драйвера устройства физической консоли.
13:36
kitty — 90-95 МБ ОЗУ
ghostty — то ли 200+, то ли вообще 300+ МБ
xfce4-terminal — скромные 50-55 МБ ОЗУ
22:15
38.6 MiB + 8.2 MiB = 46.8 MiB alacritty
28.0 MiB + 27.5 MiB = 55.5 MiB konsole
74.1 MiB + 11.2 MiB = 85.3 MiB ghostty
13:54
ST ещё сильно меньше... Так "вам шашечки или ехать"?
14:15
14:39
16:25
если Минор найдет название фильма или кто-то из вас, буду признателен. Картинка якобы с мема, но там нет ни названия, ничего...
16:37
Это не фильм, это шоу) Тайная кухня Энтони Бурдена
17:00
Спасибо за название шоу - гляну что-нибудь.
18:00
Авто вчера нашёл через tineye.com
18:17
18:20
20:35
20:54
22:08
+ за статью вам от меня, но для стариков однако она не полностью раскрыта ) Хотя старикам и раскрывать не нужно а для молодых плюс. Я извиняюсь.
23:03
В моем примере, смысл совершенно иной. Это часть моего мировоззрения, основанного на китайской философии. В жизни мы часто встречаем профессионалов в том или ином деле. Что отличает профи? К базовым знаниям, доступным всем, он смог добавить маленькие нюансы и вышел на новый уровень. Он смог постичь искусство макияжа, ведь всем известно, что косметика может сделать с даже некрасивым человеком. Но также часто сегодняшние профи, завтра становятся заурядными "знатоками". Это происходит потому, что люди, однажды поднявшись на вершину, начинают эти достижения оберегать. Они никогда не поделятся секретами с другими, полагая, что достигнутого уровня хватит на всю оставшуюся жизнь. Наступает период стагнации, а потом и деградации. Всегда найдется тот, кто в таком случае станет лучше (быстрее, сильнее). В моем сравнении с полупустым стаканом, я пытаюсь донести, что не нужно бояться отдать добытые секреты другим. В таком случае освобождается полный стакан и в нем появляется место для новых открытий и человек сможет развиваться дальше, ведь у него всегда будет место куда он сможет "залить" новые знания.
17:53
Почему-то всегда забывают про наличие третьего варианта: стакан может быть не того размера.
21:40
В линукс минт пользуюсь штатным гноме терминал вроде. Нет попровте. В альт линуксе тоже штатный, там разрабы намудрили и что-то и комманды не работают, все команды с нета просто не работают. Потыкался ради эксперемента и забыл. В роса линукс когда удалял сбойный пакет из-за которого не обновлялась система пользовался штатным котрол с, контрол v работали и прокрутка тоже. Воббще как новичек в мире линукс стараюсь избегать терминала и больше через гуи. Рассказал свое видение ос которыми пользуюсь. Может быть что не приметил по неопытности или из-за пивандрия. Не обесудьте.
23:05
23:20
Если речь про копирование/вставку, то советую избегать подобных действий, так как легко вшить в вебе под <span> невидимый текст, который при вставке запустит далеко небезобидную команду в терминале. Поэтому в целях безопасности такая опция отключена или выводится предупреждение о вставке. Проверить можно, вставив сначала скопированный код в текстовый редактор, и только потом после проверки - в терминал.
23:47
Эту станцию можно найти в приложениях с мобилы, но мне нужен сейчас их десктоп сайт, а он у них просроченный...и как на него попасть не знаю
00:00
Правда я видел ролик в yt что кто-то пытается "уничтожить интернет архив", видать Рокфеллеру не выгодно(((
00:04
00:09
03:59
Самый "лучший" backdoor - это пользователь!)
11:01
05:46
06:09
10:26
10:30
11:04
в fish это намного удобней
03:54
05:54
06:08
Это вряд ли можно назвать "изучением"!)
12:03
12:33
https://pingvinus.ru/notes/commands
А можно и отсюда:
https://selectel.ru/blog/basic-linux-commands/
Вариаций море, было бы желание.
11:43
11:47
11:05
17:10
11:08
18:14
18:42
18:56
19:22
Я например тоже, как сетевик, могу подключаться к оборудованию используя клиенты ssh, telnet, minicom из стандартного эмулятора терминалов, но мне удобнее putty или сеансовые менеджеры по типу supperputty (к сожалению на винде). Кстати в Konsole есть неплохой встроенный "Диспетчер SSH".
05:45
06:06
20:09
20:32
Это о чем вообще и кому адресовано, поясните
21:41
21:46
22:24
Пожалуй, это лидер по количеству "лишних строк в выводе"
https://pingvinus.ru/gallery/5101
00:55
14:07
16:06
Если нужно установить «минимальную» систему, их отключают.
https://russianfedora.github.io/FAQ/package-manager.html#dnf-weakdeps
Раньше так было, с выходом dnf 5 как-то перестал следить за дистром.
00:11
15:43
10:59
08:21
15:26