GNOME Terminal: Difference between revisions
No edit summary |
Citation bot (talk | contribs) Added date. | Use this bot. Report bugs. | Suggested by Whoop whoop pull up | Category:Terminal emulator software that uses GTK | #UCB_Category 3/3 |
||
(182 intermediate revisions by 96 users not shown) | |||
Line 1: | Line 1: | ||
{{short description|Terminal emulator from GNOME}} |
|||
{{Infobox software |
{{Infobox software |
||
| name = GNOME Terminal |
| name = GNOME Terminal |
||
| title = GNOME Terminal |
|||
| logo = [[File:Gnome-terminal-non-nuvola.svg]] |
|||
| |
| logo = File:GNOME Terminal icon 2019.svg |
||
| caption |
| logo caption = |
||
| logo_size = |
|||
| developer = [[GNOME]] developers |
|||
| logo_alt = |
|||
| latest_release_version = 2.28.1 |
|||
| screenshot = GNOME Terminal 3.43.png |
|||
| latest_release_date = {{release date|2009|10|19}} |
|||
| caption = Screenshot of the GNOME Terminal 3.43 |
|||
| latest_preview_version = 2.27.92 |
|||
| screenshot_size = |
|||
| latest_preview_date = {{release date|2009|09|6}} |
|||
| screenshot_alt = |
|||
| operating_system = [[Unix-like]] |
|||
| collapsible = |
|||
| genre = [[Terminal Emulator]] |
|||
| author = |
|||
| license = [[GNU General Public License|GPL]] |
|||
| developer = [[The GNOME Project]] |
|||
| website = |
|||
| released = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> |
|||
| discontinued = |
|||
| latest release version = {{wikidata|property|preferred|references|edit|Q1533275|P348|P548=Q2804309}} |
|||
| latest release date = {{wikidata|qualifier|preferred|single|Q1533275|P348|P548=Q2804309|P577}} |
|||
| latest preview version = {{wikidata|property|preferred|references|edit|Q1533275|P348|P548=Q51930650}} |
|||
| latest preview date = {{wikidata|qualifier|preferred|single|Q1533275|P348|P548=Q51930650|P577}} |
|||
| programming language = [[C (programming language)|C]] |
|||
| operating system = [[Linux]] and [[Unix-like]] |
|||
| platform = |
|||
| size = |
|||
| language = |
|||
| language count = <!-- DO NOT include this parameter unless you know what it does --> |
|||
| language footnote = |
|||
| genre = [[Terminal Emulator]] |
|||
| license = [[GNU General Public License|GPL-3.0-or-later]] |
|||
| website = {{URL|https://wiki.gnome.org/Apps/Terminal}} |
|||
}} |
}} |
||
'''GNOME Terminal''' is a [[terminal emulator]] for the [[GNOME]] [[desktop environment]] written by [[Havoc Pennington]] and others. Terminal emulators allow users to |
'''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.<ref name="manual">{{cite web |
||
| url = https://help.gnome.org/users/gnome-terminal/stable/index.html.en |
|||
| title = GNOME Terminal Manual |
|||
| author = Sun GNOME Documentation Team}}</ref> |
|||
}}</ref> |
|||
==Features== |
==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.<ref>{{cite web |
|||
| url = https://invisible-island.net/xterm/xterm.faq.html#bug_gnometerm |
|||
GNOME Terminal emulates the [[xterm]] terminal emulator and provides some of the same features as it.<ref>{{cite web |
|||
| title = XTERM - Frequently Asked Questions |
|||
|url=http://invisible-island.net/xterm/xterm.faq.html#bug_gnometerm |
|||
| author = Thomas E. Dickey}}</ref> |
|||
|title=XTERM - Frequently Asked Questions |
|||
|author=Thomas E. Dickey |
|||
}}</ref> |
|||
===Profiles=== |
===Profiles=== |
||
GNOME Terminal supports multiple profiles.<ref>{{cite web |
GNOME Terminal supports multiple profiles.<ref>{{cite web |
||
| url = https://www.ghacks.net/2009/02/06/get-to-know-linux-gnome-terminal/ |
|||
| title = Get To Know Linux: gnome-terminal| date = 6 February 2009}}</ref> 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. |
|||
|title=Get To Know Linux: gnome-terminal |
|||
}}</ref> A user can create multiple profiles for his or her 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 [[ |
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 [[Secure Shell|SSH]], and finally a profile that opens a [[GNU Screen]] session. |
||
===Compatibility=== |
===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 (see [[ASCII]]). GNOME Terminal allows the user specify which escape sequence the delete and the backspace |
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 (see [[ASCII]]). GNOME Terminal allows the user specify which control character or escape sequence the delete and the backspace keys should generate.<ref name="manual" /> Users can specify this option on a per-profile basis. |
||
===Colored |
===Colored text=== |
||
[[File:GNOME_Terminal_3.43_Adwaita-dark.png|thumb|GNOME Terminal 3.43 with the theme set to Adwaita-dark]] |
|||
[[File:Linux command-line. Bash. GNOME Terminal. screenshot.png|thumb|300px|Colored texts in GNOME Terminal 3]] |
|||
Colored text is available in GNOME Terminal, although users may turn this feature off. GNOME Terminal supports a basic set of 16 colors, which the user can choose |
Colored text is available in GNOME Terminal, although users may turn this feature off. GNOME Terminal supports a basic set of 16 colors, which the user can choose.<ref name="manual" /> Furthermore, GNOME Terminal has support for a palette of 256 colors by default. Some programs, such as [[vim (text editor)|vim]], can use that many colors.<ref>{{cite web |
||
| url = http://www.alfredrossi.com/?p=49 |
|||
{{cite web |
|||
| archive-url = https://web.archive.org/web/20130709080310/http://www.alfredrossi.com/?p=49 |
|||
| archive-date = 9 July 2013 |
|||
|title=More than 8 Color Vim Syntax Highlighting in GNOME Terminal |
|||
| title = More than 8 Color Vim Syntax Highlighting in GNOME Terminal}}</ref> |
|||
}}</ref> |
|||
As of version 3.12, it also supports RGB direct true colors. |
|||
===Background=== |
===Background=== |
||
GNOME Terminal allows changing background settings on per profile basis. Available options are solid color. |
|||
Older versions also included [[alpha compositing|transparent background]] option, which allowed to see windows beneath terminal window. Although this option was dropped shortly after 3.6 release, several [[Linux distribution]]s including [[Ubuntu (operating system)|Ubuntu]] and [[Fedora (operating system)|Fedora]] [[patch (computing)|patch]] their packages of GNOME Terminal to re-enable this feature.<ref>{{cite web |url=https://launchpad.net/~gnome3-team/+archive/gnome3-staging/+sourcepub/3077123/+listing-archive-extra |title=GNOME-terminal package changelog |work=Ubuntu |access-date=2014-07-02}}{{better|date=July 2014}}</ref><ref>{{cite web |url=https://debarshiray.wordpress.com/2014/05/15/transparent-terminals-back-in-fedora/ |title=Transparent terminals are back in Fedora |first=Ray |last=Debarshi |work=Debarshi's den |date=2014-05-15 |access-date=2014-07-02}}</ref> |
|||
GNOME Terminal supports a wide range of background options <ref>http://www.youtube.com/watch?v=4g3LuRwDXLg</ref>: |
|||
===Mouse events=== |
|||
# '''Solid color'''. Users can specify a solid background color per profile, using any of the millions of colors available on the GNOME desktop. |
|||
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.<ref name="manual" />{{better source|date=February 2015}} Presently, it cannot |
|||
# '''Background image'''. Users can also give a background image. GNOME Terminal supports most common image formats, including JPEG, PNG, GIF and TIFF. |
|||
detect the location of the mouse, but some terminal applications can utilize the mouse events, such as [[aptitude (software)|aptitude]] or [[vim (text editor)|vim]]. At this time, there is no support for touch based gestures. |
|||
# '''Transparent background'''. Users can also select any amount of transparency (ranging from fully transparent to fully opaque). If the user has the option for compositing turned on, the background will reveal the windows behind the terminal window. Otherwise, if compositing is disabled, the terminal will only be translucent with the user's desktop wallpaper. Translucent backgrounds are desired because the user can read text behind the terminal while entering commands into the command line. |
|||
=== |
===Text rewrapping on resizing=== |
||
Since version 3.12 (incorporating version 0.35 of the VTE widget), GNOME Terminal supports text re-wrapping on re-sizing (long lines of text already printed to the terminal's standard out are reflowed to fit the new line width when the dimensions of the terminal window are resized). This behaviour is similar to that of [[GNU Screen]] and other [[curses (programming library)|curses-based]] applications such as [[less (Unix)|less]].<ref>{{cite web|last1=Clasen|first1=M.|title=A Terminal Surprise|url=https://blogs.gnome.org/mclasen/2013/12/09/a-terminal-surprise/|website=blogs.gnome.org|date=9 December 2013 |access-date=13 October 2014}}</ref> |
|||
===URL detection=== |
|||
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 <ref name="manual" />. Presently, it cannot |
|||
GNOME Terminal parses the output and automatically detects snippets of text that appear to be URLs or email addresses.<ref name="manual" /> When a user points to a URL, the text is automatically underlined, indicating that the user may click. Upon clicking, the appropriate application will open to access that resource. |
|||
detect the location of the mouse, but some terminal applications can utilize the mouse events, such as [[aptitude]] or [[vim]]. At this time, there is no support for touch based gestures. |
|||
=== |
===Tabs=== |
||
Multiple terminal sessions may be organized within single GNOME Terminal window as [[tab (GUI)|tab]]s.<ref name="manual" /> Switching between active session is possible either by using keyboard shortcuts or by using tab bar – a row of buttons, each corresponding to active session, that appears on top of GNOME Terminal window when multiple tabs are used. Similar to the profile feature, each tab can be assigned a name. |
|||
===Safe quit=== |
|||
GNOME Terminal parses the output and automatically detects snippets of text that appear to be URLs or email addresses <ref name="manual" />. When a user points to an URL, the text is automatically underlined, indicating that the user may click. Upon clicking, the appropriate application will open to access that resource. |
|||
[[File:GNOME Terminal 3.32 quit warning screenshot.png|thumb|Quit warning in GNOME Terminal 3.32]] |
|||
In recent versions, when the user attempts to quit the entire graphical application, GNOME Terminal will prompt the user with a dialog box asking for confirmation.<ref name="manual" /> This feature is intended to reduce the risk of accidentally closing a terminal window (e.g., by clicking the window's close button) with a job still running. If a job is running and the user closes the window, the job will quit and the user will have to restart the job if exiting was an accident. |
|||
===Tabs=== |
|||
This feature is only present when the user closes the application through the graphical interface. If the user attempts to quit with the exit shell command, it is the responsibility of the user's shell to confirm the exit. Although not a GNOME Terminal feature, some shells, e.g. [[tcsh]] and [[bash (Unix shell)|bash]], offer similar{{OR|date=July 2014}} functionality and will notify the user that there are stopped jobs. |
|||
GNOME Terminal supports tabs <ref name="manual" />. Instead of users creating multiple windows, users can create tabs. The tab bar appears on the top of the screen as buttons, which users can click to change between tabs. The intended purpose of tabs is to improve the ability with which users can organize their terminals, instead of cluttering their task bar. Similar to the profile feature, each tab can be assigned a name. |
|||
==Development== |
|||
In order to improve usability, all operations regarding tabs can be completed using keyboard shortcuts. By default, tabs can be created using Control + Shift + T and and can be closed with Control + Shift + W. Users can move to the next tab by pressing Control + Shift + PageDown or Control + Shift + PageUp to go to the next or previous tab respectively. |
|||
GNOME Terminal is largely based on the VTE widget (which replaced the older zvt widget).<ref name="VTE-widget">{{cite web |url=http://developer.gnome.org/arch/gnome/widgets/vte.html |title=Additional Widgets - Terminal Widget |date= 2003-10-18 |access-date=2008-05-02|archive-url=https://web.archive.org/web/20080521055630/http://developer.gnome.org/arch/gnome/widgets/vte.html|archive-date=2008-05-21 }}</ref> VTE, part of the GNOME project, has widgets that implement a fully functional terminal emulator. GNOME Terminal and VTE are both written in [[C (programming language)|C]].<ref>{{cite web |
|||
| url = https://developer.gnome.org/vte/ |
|||
| title = VTE Reference Manual |
|||
| access-date = 12 January 2016 |
|||
| archive-date = 4 September 2018 |
|||
| archive-url = https://web.archive.org/web/20180904205054/https://developer.gnome.org/vte/ |
|||
| url-status = dead |
|||
}}</ref> |
|||
VTE is a library (libvte) implementing a terminal emulator widget for [[GTK]], and a minimal sample application (vte) using that. VTE is mainly used in gnome-terminal, but can also be used to embed a console/terminal in games, editors, IDEs, etc. |
|||
===Safe Quit=== |
|||
In recent versions, when the user attempts to quit the entire graphical application, GNOME Terminal will prompt the user with a dialog box to confirm if the user truly wants to exit GNOME Terminal <ref name="manual" />. This feature is intended to reduce the risk of accidentally closing a terminal window (e.g., by clicking the window's close button) with a job already running. If a job is running and the user closes the window, the job will quit and the user will have to restart the job if exiting was an accident. |
|||
The VTE library provides a terminal emulator widget VteTerminal for applications using the GTK toolkit. It also provides the VtePTY object containing functions for starting a new process on a new pseudo-terminal and for manipulating pseudo-terminals. |
|||
This feature is only present when the user closes the application through the graphical interface. If the user attempts to quit with the exit shell command, it is |
|||
the responsibility of the user's shell to confirm the exit. Although not a GNOME Terminal feature, a popular shell, [[bash]], offers similar functionality and will confirm if there are stopped jobs. |
|||
At least GNOME terminal, [[Terminal (Xfce)|XFCE terminal]], ROXTerm, evilvte, [[guake]], sakura, terminator and vala-terminal rely on VTE. |
|||
==Development== |
|||
GNOME Terminal is largely based on the VTE widget.<ref name="VTE-widget">{{cite web |url=http://developer.gnome.org/arch/gnome/widgets/vte.html |title=Additional Widgets - Terminal Widget |date= 2003-10-18 |accessdate=2008-05-02|archiveurl=http://web.archive.org/web/20080521055630/http://developer.gnome.org/arch/gnome/widgets/vte.html|archivedate=2010-02-18}}</ref> VTE, part of the GNOME project, has widgets that implement a fully functional terminal emulator. GNOME Terminal and VTE are both written in [[C]] |
|||
<ref> |
|||
{{cite web |
|||
|url=http://library.gnome.org/devel/vte/0.27/ |
|||
|title=VTE Reference Manual |
|||
}}</ref>. |
|||
{{Infobox software |
|||
==Multi GNOME Terminal== |
|||
| name = GNOME Console |
|||
Multi GNOME Terminal is a fork of the GNOME Terminal project with the goal of providing additional, more complex features. While the project is mostly inactive today, it still features some notable features that are not present in the regular GNOME Terminal:<ref>{{cite web |
|||
| title = GNOME Console |
|||
|url=http://multignometerm.sourceforge.net/ |
|||
| logo = Logo for GNOME Console.png |
|||
|title=Multi Gnome Terminal |
|||
| logo caption = |
|||
|author=Cristiano De Michele |
|||
| logo_size = |
|||
}}</ref><ref>{{cite web |
|||
| logo_alt = |
|||
|url=http://foolab.org/node/1726 |
|||
| screenshot = |
|||
|title=It feels like losing a child... |
|||
| caption = |
|||
|author=Mohammed Sameer |
|||
| screenshot_size = |
|||
}}</ref> |
|||
| screenshot_alt = |
|||
| collapsible = |
|||
| author = Zander Brown{{cn|date=May 2024}} |
|||
| developer = [[The GNOME Project]] |
|||
| released = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> |
|||
| discontinued = |
|||
| latest release version = |
|||
| latest release date = |
|||
| latest preview version = |
|||
| latest preview date = |
|||
| repo = {{URL|https://gitlab.gnome.org/GNOME/console/}} |
|||
| programming language = |
|||
| operating system = [[Linux]] and [[Unix-like]] |
|||
| platform = |
|||
| size = |
|||
| language = |
|||
| language count = <!-- DO NOT include this parameter unless you know what it does --> |
|||
| language footnote = |
|||
| genre = [[Terminal Emulator]] |
|||
| license = [[GNU General Public License|GPL-3.0-or-later]] |
|||
| website = {{URL|https://apps.gnome.org/app/org.gnome.Console/}} |
|||
}} |
|||
== GNOME Console == |
|||
# Windows may be split both vertically and horizontally. This feature is similar to the functionality provided by GNU screen. |
|||
[[File:GNOME Terminal screenshot.png|thumb|Screenshot of GNOME Terminal]] |
|||
# Notifications for buffers. Multi GNOME Terminal can alert the user when the buffer has been inactive or changes after a period of inactivity. |
|||
'''GNOME Console''' is a terminal emulator for the GNOME Desktop Environment. It originated as a terminal emulator specifically for the [[Phosh]] mobile interface, which needed an adaptive terminal emulator.<ref name=":0">{{Cite web |date=2021-12-09 |title=core: Swap gnome-terminal out in favor of console (!1404) · Merge requests · GNOME / gnome-build-meta · GitLab |url=https://gitlab.gnome.org/GNOME/gnome-build-meta/-/merge_requests/1404 |access-date=2024-05-06 |website=GitLab |language=en}}</ref> Since GNOME version 42 it has been a part of the default app set for GNOME, replacing GNOME Terminal.<ref>{{Cite web |date=2022-04-30 |title=Hands On With GNOME's New Terminal for Linux Users |url=https://itsfoss.com/gnome-console/ |access-date=2024-05-06 |website=It's FOSS |language=en}}</ref><ref>{{Cite web |title=GNOME Release Notes |url=https://release.gnome.org/42/ |access-date=2024-05-06 |website=GNOME Release Notes |language=en}}</ref> |
|||
# Support for pseudo graphics, allowing for higher-resolution graphics. |
|||
== |
==See also== |
||
{{Portal|Free software}} |
{{Portal|Free and open-source software}} |
||
* [[List of terminal emulators]] |
|||
*[[xterm]] |
|||
* [[ANSI escape code]] |
|||
*[[Terminator_(terminal_emulator)]] |
|||
*[[ANSI escape code]] |
|||
==References== |
==References== |
||
Line 114: | Line 152: | ||
==External links== |
==External links== |
||
{{Commonscat}} |
|||
*[http://directory.fsf.org/gnome-terminal.html Page at Free Software Foundation] |
|||
* [https://directory.fsf.org/wiki/Gnome-terminal Page at Free Software Foundation] |
|||
{{GNOME Software}} |
|||
* [https://gitlab.gnome.org/GNOME/gnome-terminal/ Git Repository of GNOME Terminal] |
|||
* [https://gitlab.gnome.org/GNOME/vte/ Git Repository of the VTE Widget] |
|||
* [https://wiki.gnome.org/Apps/Terminal/VTE wiki.gnome.org] |
|||
* |
|||
{{Terminal emulator}} |
|||
{{GNOME}} |
|||
[[Category:Free software programmed in C]] |
|||
[[Category:Free terminal emulators]] |
[[Category:Free terminal emulators]] |
||
[[Category:GNOME]] |
[[Category:GNOME Core Applications]] |
||
[[Category:Terminal emulator software that uses GTK]] |
|||
[[ar:طرفية جنوم]] |
|||
[[de:GNOME Terminal]] |
|||
[[es:Gnome-terminal]] |
|||
[[fr:GNOME Terminal]] |
|||
[[it:GNOME Terminal]] |
|||
[[ja:GNOME 端末]] |
|||
[[pl:Gnome-terminal]] |
|||
[[ru:GNOME Terminal]] |
|||
[[uk:GNOME Terminal]] |
Latest revision as of 17:25, 20 November 2024
Developer(s) | The GNOME Project |
---|---|
Stable release | 3.52.2[1]
/ 30 April 2024 |
Repository | |
Written in | C |
Operating system | Linux and Unix-like |
Type | Terminal Emulator |
License | GPL-3.0-or-later |
Website | wiki |
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.[2]
Features
[edit]GNOME Terminal (gnome-terminal
from the command line or GNOME's Alt-F2 launcher) emulates the xterm terminal emulator and provides some of the same features.[3]
Profiles
[edit]GNOME Terminal supports multiple profiles.[4] 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
[edit]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 (see ASCII). GNOME Terminal allows the user specify which control character or escape sequence the delete and the backspace keys should generate.[2] Users can specify this option on a per-profile basis.
Colored text
[edit]Colored text is available in GNOME Terminal, although users may turn this feature off. GNOME Terminal supports a basic set of 16 colors, which the user can choose.[2] Furthermore, GNOME Terminal has support for a palette of 256 colors by default. Some programs, such as vim, can use that many colors.[5]
As of version 3.12, it also supports RGB direct true colors.
Background
[edit]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.[6][7]
Mouse events
[edit]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.[2][better source needed] Presently, it cannot detect the location of the mouse, but some terminal applications can utilize the mouse events, such as aptitude or vim. At this time, there is no support for touch based gestures.
Text rewrapping on resizing
[edit]Since version 3.12 (incorporating version 0.35 of the VTE widget), GNOME Terminal supports text re-wrapping on re-sizing (long lines of text already printed to the terminal's standard out are reflowed to fit the new line width when the dimensions of the terminal window are resized). This behaviour is similar to that of GNU Screen and other curses-based applications such as less.[8]
URL detection
[edit]GNOME Terminal parses the output and automatically detects snippets of text that appear to be URLs or email addresses.[2] When a user points to a URL, the text is automatically underlined, indicating that the user may click. Upon clicking, the appropriate application will open to access that resource.
Tabs
[edit]Multiple terminal sessions may be organized within single GNOME Terminal window as tabs.[2] Switching between active session is possible either by using keyboard shortcuts or by using tab bar – a row of buttons, each corresponding to active session, that appears on top of GNOME Terminal window when multiple tabs are used. Similar to the profile feature, each tab can be assigned a name.
Safe quit
[edit]In recent versions, when the user attempts to quit the entire graphical application, GNOME Terminal will prompt the user with a dialog box asking for confirmation.[2] This feature is intended to reduce the risk of accidentally closing a terminal window (e.g., by clicking the window's close button) with a job still running. If a job is running and the user closes the window, the job will quit and the user will have to restart the job if exiting was an accident.
This feature is only present when the user closes the application through the graphical interface. If the user attempts to quit with the exit shell command, it is the responsibility of the user's shell to confirm the exit. Although not a GNOME Terminal feature, some shells, e.g. tcsh and bash, offer similar[original research?] functionality and will notify the user that there are stopped jobs.
Development
[edit]GNOME Terminal is largely based on the VTE widget (which replaced the older zvt widget).[9] VTE, part of the GNOME project, has widgets that implement a fully functional terminal emulator. GNOME Terminal and VTE are both written in C.[10]
VTE is a library (libvte) implementing a terminal emulator widget for GTK, and a minimal sample application (vte) using that. VTE is mainly used in gnome-terminal, but can also be used to embed a console/terminal in games, editors, IDEs, etc.
The VTE library provides a terminal emulator widget VteTerminal for applications using the GTK toolkit. It also provides the VtePTY object containing functions for starting a new process on a new pseudo-terminal and for manipulating pseudo-terminals.
At least GNOME terminal, XFCE terminal, ROXTerm, evilvte, guake, sakura, terminator and vala-terminal rely on VTE.
GNOME Console
[edit]GNOME Console is a terminal emulator for the GNOME Desktop Environment. It originated as a terminal emulator specifically for the Phosh mobile interface, which needed an adaptive terminal emulator.[11] Since GNOME version 42 it has been a part of the default app set for GNOME, replacing GNOME Terminal.[12][13]
See also
[edit]References
[edit]- ^ "3.52.2". 30 April 2024. Retrieved 1 July 2024.
- ^ a b c d e f g Sun GNOME Documentation Team. "GNOME Terminal Manual".
- ^ Thomas E. Dickey. "XTERM - Frequently Asked Questions".
- ^ "Get To Know Linux: gnome-terminal". 6 February 2009.
- ^ "More than 8 Color Vim Syntax Highlighting in GNOME Terminal". Archived from the original on 9 July 2013.
- ^ "GNOME-terminal package changelog". Ubuntu. Retrieved 2014-07-02.[better source needed]
- ^ Debarshi, Ray (2014-05-15). "Transparent terminals are back in Fedora". Debarshi's den. Retrieved 2014-07-02.
- ^ Clasen, M. (9 December 2013). "A Terminal Surprise". blogs.gnome.org. Retrieved 13 October 2014.
- ^ "Additional Widgets - Terminal Widget". 2003-10-18. Archived from the original on 2008-05-21. Retrieved 2008-05-02.
- ^ "VTE Reference Manual". Archived from the original on 4 September 2018. Retrieved 12 January 2016.
- ^ "core: Swap gnome-terminal out in favor of console (!1404) · Merge requests · GNOME / gnome-build-meta · GitLab". GitLab. 2021-12-09. Retrieved 2024-05-06.
- ^ "Hands On With GNOME's New Terminal for Linux Users". It's FOSS. 2022-04-30. Retrieved 2024-05-06.
- ^ "GNOME Release Notes". GNOME Release Notes. Retrieved 2024-05-06.