Guake: a GNOME drop-down terminal you summon with F12
Drop-down terminal for GNOME
At a glance
- What is it?
- Guake is a Python drop-down terminal for GNOME whose window behaviour is modelled on an FPS game. This review covers what it does, how to install it on Ubuntu, where it breaks down on Wayland, and how it compares with Yakuake and Tilda.
- Who is it for?
- Adopt Guake if you work on a GNOME desktop and want a terminal that appears and hides on a single key without touching your window layout. Skip it if you are on Windows, macOS, or a Wayland session where the drop-down behaviour is the whole point, and check the open Wayland behaviour on your compositor before you make it part of your daily workflow.
- Can I use it commercially?
- Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 42 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Guake solves, and who it is actually for
A normal terminal window is a window. It takes part in your window manager's stacking, tiling and alt-tab order, and if you use a tiling compositor it competes for screen space with everything else. Guake removes that competition. The README describes it as a "python based dropdown terminal made for the GNOME desktop environment" whose window style "is based on an FPS game", and the drop-down terminal appears on pressing F12. The reference to first-person shooters is not decoration: the design goal is that the terminal is always one keypress away and never occupies layout.
The audience is narrow and specific. You need GNOME, or at least a GTK-based desktop that can host a panel applet and register global shortcuts. You need to be willing to have a process running that watches for that key. If your work is mostly inside a terminal already, in tmux or a full-screen emulator, Guake adds a layer you will not use. If your work is mostly in a browser or an editor and you drop into a shell for one command at a time, that is the case it was built for.
The project is GPL-2.0 and the source lives on GitHub. The README points at guake.github.io as the official homepage and explicitly warns that the domain guake.org "has been registered by someone outside the team" and is not under their control. That warning is worth taking literally: the documentation you should trust is on ReadTheDocs, linked from the README, not whatever ranks first for a similar domain.
How the drop-down is wired: GTK, GSettings and a keybinding
Guake is a GTK application written in Python, and the repository layout shows the usual pieces of a GNOME application of this kind: a guake/ package holding the Python source and a guake/data directory holding desktop files, pixmaps, themes and the GLib schema. The Makefile installs the GSettings schema into $(datarootdir)/glib-2.0/schemas and generates a desktop entry, which is what lets GNOME treat Guake as a first-class application rather than a script you launch by hand.
Settings therefore live in GSettings, under the /org/guake/ path. The Makefile includes a reset target that runs dconf reset -f /org/guake/, which is the documented way to wipe Guake's configuration back to defaults. That single line tells you more about the architecture than a diagram would: the terminal's behaviour (keybinding, height, transparency, tab placement, shell) is stored in the same configuration system as the rest of your GNOME desktop, and it can be inspected and reset with standard GNOME tooling.
The packaging is built around PBR and setuptools. setup.py does almost nothing except call setuptools.setup with use_scm_version writing to guake/_version.py, which means the version string is derived from Git metadata at build time. That detail has a user-visible consequence, covered below.
Installing Guake on Ubuntu and opening it for the first time
The README does not list distribution commands. It defers to the Installation Guide at guake.readthedocs.io, which is where the system-wide installation instructions live. On Debian-derived distributions Guake is packaged, so the shortest path is your package manager; the project's own documentation is the authority on which package name and version your distribution ships, and you should read it before filing an issue.
If you install from a distribution package, the schema and desktop entry are already in place. Confirm the version you got, because the release history is uneven: 3.10 shipped in May 2023, 3.9.0 in June 2022, and the most recent release listed is 3.10.1 from October 2025. A distribution still carrying 3.9.0 is two release cycles behind.
Building from source is the path the README spends the most words warning about. It states plainly that you must not use the tarball packages GitHub generates automatically on release pages, because PBR, one of the main components of the build system, requires the full Git history to be present when building from source. The README notes this does not affect source distribution packages downloaded from PyPI. In practice that means: clone the repository, or install the sdist, and do not download the auto-generated archive.
The Makefile's default target is prepare-install, which generates the desktop file, the path configuration, the compiled translations and the GLib schemas. PREFIX defaults to /usr/local, so a plain install lands outside your distribution's package database. If you later want to remove it, you are removing files by hand.
make
sudo make installOnce installed, start Guake from your application menu or by running guake, then press F12. The README's screenshot is captioned "Drop down terminal on pressing <F12>". Pressing F12 again hides it. That is the entire interaction model, and if it does not work, the usual cause is that another application has claimed the key.
The Wayland problem, and other cases where Guake is the wrong tool
The drop-down behaviour depends on the application being able to position and show a window in response to a global keybinding. Under Wayland, applications generally cannot set their own global shortcuts or place themselves absolutely; that is the compositor's job. Guake's documentation and issue tracker are where the current state of this lives, and the README itself says nothing about Wayland at all. That silence is the honest summary: if you are on a Wayland session, treat the F12 behaviour as something to verify on your specific compositor before you build a habit around it, rather than something the project promises.
There is a second, quieter failure mode in the build instructions. Because the version comes from Git metadata via PBR, a source build in a directory without .git will fail or produce a broken version, which is exactly what the README's warning about GitHub tarballs is about. People who skim that paragraph and download the release archive will conclude the project is broken. It is not; the archive is.
And there is the platform question. Guake is a GNOME application. It is not available for Windows or macOS, and no part of the repository suggests otherwise. If your desktop is not GTK-based, the drop-down concept may still be available to you, but not through this project.
Guake against Yakuake, Tilda and ddterm
The closest alternative in spirit is Yakuake, the KDE drop-down terminal. The difference is the toolkit and therefore the desktop: Yakuake is a KDE application built on Konsole's terminal widget, so on a Plasma desktop it inherits Konsole's profiles, colour schemes and behaviour. Guake is GTK and targets GNOME. Choosing between them is mostly a question of which desktop you already run, because on the wrong one you are installing a large dependency stack to get a sliding window.
Tilda is the lighter option. It is a GTK drop-down terminal as well, but with a much smaller feature surface: fewer settings, no tab management of the kind Guake exposes, and less integration with the desktop's configuration system. If all you want is a window that slides down over your current work and runs a shell, Tilda does that with less machinery. Guake's advantage is the breadth of what is configurable through GSettings and the desktop integration that comes with shipping a schema and a desktop entry.
ddterm is a different shape of solution entirely: a GNOME Shell extension rather than a standalone application. That matters because it lives inside the compositor process, which sidesteps some of the window-placement constraints a separate GTK application runs into, and because it is installed and updated through the extensions mechanism rather than your package manager. The trade-off is that it is tied to GNOME Shell's extension API and its lifecycle. Guake is a normal process you can start, stop and inspect; ddterm is part of your shell.
Terminator, which appears in the same searches, is not really a drop-down terminal at all. It is a tiling terminal emulator for arranging multiple panes in a grid. If your actual need is splitting one window into four shells, Guake's tab bar is not a substitute for it.
Maintenance, releases and what the GPL-2.0 licence means for you
The repository is not archived and the last push was on 2026-08-19, so the codebase is being touched. The release cadence is another matter, and the two should not be confused. The releases listed run 3.9.0 in June 2022, 3.10 in May 2023, and 3.10.1 in October 2025. That is a long gap between 3.10 and 3.10.1, and it means the version your distribution ships may be several years old even though commits continue to land on master. If you depend on a fix, check whether it is in a release or only on master.
Upgrade cost is low for packaged installs and higher for source installs. A distribution upgrade replaces the package and its schema. A source install with the default PREFIX of /usr/local is invisible to your package manager, so upgrading means re-running make and sudo make install against a fresh checkout, and uninstalling means deleting files the package manager does not know about. If you go the source route, set PREFIX deliberately and record what you chose.
Guake is GPL-2.0. For individual use that is unremarkable. If you are considering shipping Guake inside a product, or bundling it into a distribution image, the copyleft terms apply to the combined work, and the COPYING file in the repository root is the text that governs it. This is not legal advice; if the distinction matters to your organisation, have someone qualified read COPYING.
Editorial conclusion
Adopt Guake if you work on a GNOME desktop and want a terminal that appears and hides on a single key without touching your window layout. Skip it if you are on Windows, macOS, or a Wayland session where the drop-down behaviour is the whole point, and check the open Wayland behaviour on your compositor before you make it part of your daily workflow. Verify first that your distribution packages Guake 3.10.1, or that you can build from a Git checkout rather than a GitHub release tarball.
Frequently asked questions
What is the Guake terminal?
Guake is a Python-based drop-down terminal made for the GNOME desktop environment. Its window style is based on an FPS game, and the terminal drops down when you press F12.
How do I install Guake terminal on Ubuntu?
The README does not list distribution commands and instead refers to the Installation Guide on ReadTheDocs for system-wide installation. Guake is also packaged for Debian-derived distributions, so check your package manager for the version available to you before building from source.
How do you use Guake?
Start Guake, then press F12 to make the drop-down terminal appear, and press F12 again to hide it. Settings such as the keybinding and the terminal's appearance are stored in GSettings under /org/guake/.
What is the difference between Guake and Yakuake?
Both are drop-down terminals, but they target different desktops. Guake is a GTK application made for GNOME, while Yakuake is the KDE equivalent, so the choice usually follows from which desktop environment you already run.
How does Guake differ from Tilda?
Both are GTK drop-down terminals, but Tilda has a much smaller feature surface, with fewer settings and no tab management of the kind Guake exposes. Guake also stores its configuration in the GNOME settings system rather than a file of its own.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/guake-guake)