GNOME Terminal — это эмулятор терминала для среды рабочего стола GNOME, написанный Havoc Pennington и другими. Эмуляторы терминала позволяют пользователям получать доступ к оболочке UNIX , оставаясь на своем графическом рабочем столе. [2]
Терминал GNOME ( gnome-terminal
из командной строки или средства запуска GNOME Alt-F2) эмулирует эмулятор терминала xterm и предоставляет некоторые из тех же функций. [3]
Терминал GNOME поддерживает несколько профилей. [4] Пользователь может создать несколько профилей для своей учетной записи. Затем пользователи могут задать параметры конфигурации для каждого профиля и назначить имя каждому профилю. Доступные параметры конфигурации варьируются от различных шрифтов, различных цветов, излучения звонка терминала, поведения прокрутки и того, как терминал обрабатывает совместимость с клавишами backspace и delete.
При запуске GNOME Terminal его можно настроить на запуск оболочки пользователя по умолчанию или выполнение пользовательской команды. Эти параметры можно настроить для каждого профиля, что позволит пользователям выполнять различные команды в зависимости от профиля. Например, у некоторых пользователей может быть один профиль для запуска оболочки по умолчанию, другой профиль для удаленного подключения к другому компьютеру через SSH и, наконец, профиль для открытия сеанса GNU Screen .
Терминал GNOME поддерживает несколько различных вариантов совместимости для взаимодействия со старым программным обеспечением, которое зависит от различных назначений клавиатуры и ASCII. В вычислительной технике существовала неоднозначность между клавишами backspace и delete. Когда пользователь нажимает клавишу backspace, компьютер может либо удалить символ перед курсором, либо символ под курсором, что и приводит к этой неоднозначности (см. ASCII ). Терминал GNOME позволяет пользователю указать, какой управляющий символ или escape-последовательность должны генерировать клавиши delete и backspace. [2] Пользователи могут указать эту опцию для каждого профиля.
Цветной текст доступен в GNOME Terminal, хотя пользователи могут отключить эту функцию. GNOME Terminal поддерживает базовый набор из 16 цветов, которые пользователь может выбрать. [2] Кроме того, GNOME Terminal по умолчанию поддерживает палитру из 256 цветов. Некоторые программы, такие как vim , могут использовать столько цветов. [5]
Начиная с версии 3.12, он также поддерживает RGB Direct True Colors.
Терминал GNOME позволяет изменять настройки фона для каждого профиля. Доступные параметры — сплошной цвет.
Более старые версии также включали опцию прозрачного фона , которая позволяла видеть окна под окном терминала. Хотя эта опция была удалена вскоре после выпуска 3.6, несколько дистрибутивов Linux, включая Ubuntu и Fedora, исправили свои пакеты GNOME Terminal, чтобы снова включить эту функцию. [6] [7]
Хотя GNOME Terminal в первую очередь является интерфейсом командной строки и использует клавиатуру для большинства операций ввода, GNOME Terminal имеет ограниченную поддержку событий мыши. GNOME Terminal может захватывать прокрутку мыши, а также щелчки левой и правой кнопкой мыши. [2] [ требуется лучший источник ] В настоящее время он не может определять местоположение мыши, но некоторые терминальные приложения могут использовать события мыши, такие как aptitude или vim . В настоящее время поддержка жестов на основе касания отсутствует.
Начиная с версии 3.12 (включая версию 0.35 виджета VTE), GNOME Terminal поддерживает переформатирование текста при изменении размера (длинные строки текста, уже напечатанные на стандартном выходе терминала, переформатируются для соответствия новой ширине строки при изменении размеров окна терминала). Такое поведение похоже на поведение GNU Screen и других приложений на основе curses, таких как less . [8]
Терминал GNOME анализирует вывод и автоматически обнаруживает фрагменты текста, которые выглядят как URL-адреса или адреса электронной почты. [2] Когда пользователь указывает на URL-адрес, текст автоматически подчеркивается, указывая, что пользователь может щелкнуть. После щелчка откроется соответствующее приложение для доступа к этому ресурсу.
Несколько сеансов терминала могут быть организованы в одном окне терминала GNOME в виде вкладок . [2] Переключение между активными сеансами возможно либо с помощью сочетаний клавиш, либо с помощью панели вкладок — ряда кнопок, каждая из которых соответствует активному сеансу, который появляется в верхней части окна терминала GNOME при использовании нескольких вкладок. Подобно функции профиля, каждой вкладке можно присвоить имя.
В последних версиях, когда пользователь пытается выйти из всего графического приложения, GNOME Terminal выводит диалоговое окно с запросом подтверждения. [2] Эта функция предназначена для снижения риска случайного закрытия окна терминала (например, нажатием кнопки закрытия окна) при работающем задании. Если задание выполняется и пользователь закрывает окно, задание будет завершено, и пользователю придется перезапустить задание, если выход был случайным.
Эта функция присутствует только тогда, когда пользователь закрывает приложение через графический интерфейс. Если пользователь пытается выйти с помощью команды оболочки выхода, оболочка пользователя должна подтвердить выход. Хотя это и не функция терминала GNOME, некоторые оболочки, например tcsh и bash , предлагают похожую [ оригинальное исследование? ] функциональность и уведомляют пользователя о наличии остановленных заданий.
Терминал GNOME во многом основан на виджете VTE (который заменил старый виджет zvt). [9] VTE, часть проекта GNOME, имеет виджеты, которые реализуют полнофункциональный эмулятор терминала. Терминал GNOME и VTE написаны на языке C. [ 10]
VTE — это библиотека (libvte), реализующая виджет эмулятора терминала для GTK , и минимальный пример приложения (vte), использующий его. VTE в основном используется в gnome-terminal, но также может использоваться для встраивания консоли/терминала в игры, редакторы, IDE и т. д.
Библиотека VTE предоставляет виджет эмулятора терминала VteTerminal для приложений, использующих инструментарий GTK. Она также предоставляет объект VtePTY, содержащий функции для запуска нового процесса на новом псевдотерминале и для манипулирования псевдотерминалами.
По крайней мере терминал GNOME, терминал XFCE , ROXTerm, evilvte, guake , sakura, terminator и vala-terminal полагаются на VTE.
GNOME Console — это эмулятор терминала для среды рабочего стола GNOME. Он возник как эмулятор терминала специально для мобильного интерфейса Phosh , которому требовался адаптивный эмулятор терминала. [11] Начиная с версии GNOME 42 он стал частью набора приложений по умолчанию для GNOME, заменив GNOME Terminal. [12] [13]