GNOME Terminal is a terminal emulator for the GNOME desktop environment written by Havoc Pennington and others. Terminal emulators allow users to access a UNIX shell while remaining on their graphical desktop.
Features
GNOME Terminal (<code>gnome-terminal</code> from the command line or GNOME's Alt-F2 launcher) emulates the xterm terminal emulator and provides some of the same features.
Profiles
GNOME Terminal supports multiple profiles. A user can create multiple profiles for their account. Users can then set configuration options on a per-profile basis and assign a name to each profile. The available configuration options range from different fonts, different colors, emission of the terminal bell, the behavior of scrolling, and how the terminal handles compatibility with the backspace and delete key.
When GNOME Terminal starts, it can be configured to launch the user's default shell or run a custom command. These options can be configured per profile, allowing users to execute different commands depending on the profile. For example, some users may have one profile to launch their default shell, another profile that connects to another computer remotely through SSH, and finally a profile that opens a GNU Screen session.
Compatibility
GNOME Terminal supports a couple of different compatibility options for interfacing with older software that depends on varying keyboard-to-ASCII assignments. In computing, there has been ambiguity between the backspace key and delete key. When the user presses the backspace key, the computer can either delete the character before the cursor, or the character at the cursor, which introduces this ambiguity. GNOME Terminal allows the user specify which control character or escape sequence the delete and the backspace keys should generate.
As of version 3.12, it also supports RGB direct true colors.
Background
GNOME Terminal allows changing background settings on per profile basis. Available options are solid color.
Older versions also included transparent background option, which allowed to see windows beneath terminal window. Although this option was dropped shortly after 3.6 release, several Linux distributions including Ubuntu and Fedora patch their packages of GNOME Terminal to re-enable this feature.
Mouse events
Although GNOME Terminal is primarily a command-line interface and uses the keyboard for most input, GNOME Terminal has limited support for mouse events. GNOME Terminal can capture mouse scrolls and both left and right clicks.
URL detection
GNOME Terminal parses the output and automatically detects snippets of text that appear to be URLs or email addresses.) library, which provides much of the functionality needed to implement a terminal emulator using GObject and GTK. GNOME Terminal and VTE are both written in C.
Several other terminal emulators, such as Xfce Terminal, ROXTerm, evilvte, guake, sakura, terminator, and vala-terminal, depend on VTE.
Console
thumb|Screenshot of GNOME Console
Console, known internally as kgx, is the default terminal emulator in GNOME. It originated as a terminal emulator for the Phosh mobile interface, which needed an adaptive terminal emulator. It replaced Terminal in GNOME's official core app set with the release of GNOME 42, however Fedora Linux and other distributions refused to adopt it due to its poor feature set, lacking functionality like profiles and the ability to customize the color palette., Red Hat Enterprise Linux, Debian and Ubuntu include it by default in their GNOME package sets.
Dependencies:
- C compiler (e.g., GCC, Clang)
- Meson (version 1.0.0 or newer)
- Ninja
- GLib (version 2.80 or newer, e.g., libglib2.0-dev)
- GTK4 (version 4.14 or newer, e.g., libgtk-4-dev)
- libadwaita (version 1.6 or newer, e.g., libadwaita-1-dev)
- JSON-GLib (version 1.6 or newer, e.g., libjson-glib-dev)
- VTE (GTK4 version, 0.79 or newer, e.g., libvte-2.91-gtk4-dev) gitlab.gnome.org/…/vte
- a LGPL2+-licensed library containing a virtual terminal emulator widget for GTK
- written in C++
- two versions: libvte-2.91.so for GTK+ 3 and libvte-2.91-gtk4.so is a library which implements a terminal emulator widget for GTK-4
- widely adopted, e.g. Xfce Terminal (Xfce), lxterminal (LXDE), …
- libportal-gtk4 (on Linux, e.g., libportal-gtk4-dev)
See also
- List of terminal emulators
- ANSI escape code
References
External links
- Page at Free Software Foundation
- Git Repository of GNOME Terminal
- Git Repository of the VTE Widget
- wiki.gnome.org
