Need help with gnome-terminal?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

234 Stars 105 Forks Other 6.6K Commits 0 Opened issues


Read-only mirror of

Services available


Need anything else?

Contributors list

GNOME TErminal

Source & Releases

To get the source code, use

$ git clone

To get the source for a release version, use the corresponding git tag, or download a tarball at replacing

with the desired tag's name (e.g.
). Older releases are also available at .

Building from source

You will most likely need to also build

from source; see .

Start by installing the build dependencies, and a C++ compiler.

For fedora and related distributions, use

sudo dnf build-dep vte291 gnome-terminal
sudo dnf install g++
while for debian and related distributions, use
sudo apt-get build-dep libvte-2.91-0 gnome-terminal
sudo apt-get install g++

First build

according to its own instructions. Then:
$ # Get the source code
$ git clone
$ # Change to the toplevel directory
$ cd gnome-terminal
$ # Run the configure script (choose an appropriate path instead of "/some/where"!)
$ # Don't forget to make sure that pkg-config can find your self-build vte!
$ # e.g. by doing:
$ # export PKG_CONFIG_PATH=/some/where/lib64/pkg-config:$PKG_CONFIG_PATH
$ #
$ # If you compiled gnome-shell into the same prefix, you can omit disabling
$ # the search provider.
$ #
$ meson _build --prefix=/some/where -Dsearch_provider=false
$ # Build
$ ninja -C _build
$ # Install
$ ninja -C _build install
  • By default, GNOME Terminal will install under

    , which is not usually the right choice. You can customize the prefix directory by
    option, e.g. if you want to install GNOME-TERMINAL under
    , you should run
    meson _build --prefix=$HOME/foobar
    . If you already run the configure script before, you should also pass
    option to it.
  • You may need to execute

    ninja -C _build install
    as root (i.e.
    sudo ninja -C _build install
    ) if installing to system directories. Use a user-writable directory as
    instead to avoid that.
  • You may need to set the gsettings schema path so that gnome-terminal can find its schemas. E.g. use

    $ export GSETTINGS_SCHEMA_DIR=/some/where/share/glib-2.0/schemas
    and if you skipped the
    ninja install
    step, you need to create the gsettings schema cache yourself.
  • Since GNOME Terminal uses a D-Bus activated server, you cannot simply run the self-built gnome-terminal directly. Instead, you need to start the new

    directly using
    $ ./_build/src/gnome-terminal-server --app-id test.Terminal &
    and then you have 10s time to open a window in that server using
    $ ./_build/src/gnome-terminal --app-id test.Terminal

Also see for more information.


After installing GNOME-TERMINAL with

flag, you can use
variable to control GNOME-TERMINAL to print out the debug information
# You should change gnome-terminal-[2.91] to the version you build
$ GNOME-TERMINAL_DEBUG=selection ./_build/src/app/gnome-terminal-2.91

Or, you can mixup with multiple logging level

$ GNOME-TERMINAL_DEBUG=selection,draw,cell ./_build/src/app/gnome-terminal-2.91

$ Or, you can use all to print out all logging message $ GNOME-TERMINAL_DEBUG=all ./_build/src/app/gnome-terminal-2.91

For logging level information, please refer to enum Gnome-TerminalDebugFlags.


Bugs should be filed here: Please note that this is a bug tracker to be used for developers of GNOME Terminal, and contributors of code, documentation, and translations to GNOME Terminal, and not a support forum.

If you are an end user, always file bugs in your distribution's bug tracker, or use their support forums.

If you want to provide a patch, please attach them to an issue in GNOME GitLab, in the format output by the

git format-patch

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.