Quickgui puts a downloader and a machine manager around Quickemu
An elegant virtual machine manager for the desktop
At a glance
- What is it?
- Quickgui is a Flutter desktop front end for the Quickemu virtual machine manager, handling OS image downloads, listing existing machines and exposing SPICE and SSH connections. The interesting constraint is that the real work stays in Quickemu, so the interface has to be a thin, careful wrapper rather than a manager in its own right.
- Who is it for?
- Quickgui suits a Linux user who already has Quickemu installed and wants a graphical way to fetch operating system images and start and stop machines without remembering command lines. It does not suit a macOS user today, since the README's build instructions there are manual and the packaged downloads are Linux, and it does not suit someone who needs Quickgui to manage virtual machines independently of Quickemu, because every machine it lists is a Quickemu machine.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 9 days ago.
- What is it written in?
- Mainly Dart, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Quickgui has no virtual machine layer of its own
The first thing to establish is where the boundary sits. Quickgui is a graphical user interface for the Quickemu virtual machine manager, and the README says it depends on Quickemu, with most package managers installing Quickemu automatically alongside it. Every machine Quickgui lists is a Quickemu machine, and the Manager screen works on the Quickemu virtual machines found in the directory you chose to store them. That means the VM lifecycle, the hypervisor invocation and the machine configuration live in Quickemu, and Quickgui is a front end that calls into it. If you were expecting a standalone hypervisor control panel, this is not that. What you get instead is a way to do the common tasks without a terminal, which is a narrower but achievable goal.
The downloader is the part that saves the most time
The Downloader screen is the flow the interface is really built around. From the main screen you click Create new machines, pick the operating system you want to install, then pick the version, then click Download and the ISO is fetched. When the download finishes you click Dismiss. The README states that nearly 1000 operating systems are supported, including Windows, macOS, BSDs and hundreds of Linux distributions, all with automated downloads and configuration. That claim is about the catalogue behind Quickemu, not about work done in the Flutter layer, but from the user's seat it is the difference between finding a working image with the right drivers and spending an afternoon assembling one.
Play, Stop and Trash, and what Trash actually offers
The Manager screen is a small set of controls with one genuinely important design decision. You start a machine by clicking the Play button, you stop a running one with Stop, and clicking Trash does not immediately delete anything. It prompts you to choose between deleting the whole virtual machine or just its disk image. That distinction is the difference between losing a two minute disposable test system and losing the disk you spent an afternoon setting up, and the fact that a desktop interface asks at all is worth noting because the equivalent command line operation does not prompt. The prompt is the feature here, not the delete itself. The Manager also lists whatever it finds in the storage directory, so pointing it at the right directory is what makes the list correct.
The host ports for SPICE and SSH are shown while a machine runs
When a virtual machine is running, Quickgui displays the host ports that are mapped to the SPICE and SSH ports on the guest, and those are the ports you connect through. The interface exposes two buttons for this. Connect display with SPICE reopens a display window if you closed it, and Connect with SSH opens a terminal and attempts a connection to the guest. Both buttons have a precondition, and both preconditions are stated in the README. If the SPICE button is disabled, the `spicy` client cannot be found, so it must be installed and in your PATH, which it should have been if Quickemu was installed. If the SSH button is disabled, no SSH server was detected on the guest, and most guest operating systems do not install one by default, so you need to install it yourself and have it listening on port 22.
A stale host key is the one SSH failure you can fix yourself
The README explains what to do when an SSH connection fails, and the fix is specific enough to be worth repeating. You might need to remove the host key for the guest from your known_hosts file, using something like `ssh-keygen -R [localhost]:22220`. The port in that example is the host port mapped to the guest's SSH port, which is why the displayed port mapping matters. A successful connection prompts for the guest password, so the button does not authenticate you, it hands the connection to your local SSH tooling. The two disabled buttons and this known_hosts cleanup are the three failure modes the documentation covers, and they are enough to explain most of what a first-time user will hit.
Installing on Linux: deb, rpm, PPA, AppImage, zip and Nix
The install section is unusually broad for a desktop utility, and it reflects Linux packaging reality. On Debian a .deb package is available from the release page, and the README gives the install command for the current version.
apt-get install ./quickgui-1.2.10+1-linux.debUbuntu users can use that same .deb or the project PPA.
sudo apt-add-repository ppa:flexiondotorg/quickemu
sudo apt-get update
sudo apt-get install quickguiFor other Linux distributions there is an AppImage and a pre-compiled binary in a zip file, and the README lists the chmod and launch steps for each.
chmod +x quickgui-1.2.10+1-linux.AppImage
./quickgui-1.2.10+1-linux.AppImageNixOS users are covered twice over, through a Flake published to FlakeHub for stable releases and through a Nixpkgs option that adds the package to systemPackages.
Building from source is a Flutter build, not a Dart library build
The compile instructions assume Flutter rather than a language toolchain, because the application is written in Dart with the Flutter SDK. On Linux you install Flutter, clone the repository, fetch packages and enable the Linux desktop target before building a release binary.
git clone https://github.com/quickemu-project/quickgui.git
cd quickgui
flutter pub get
flutter config --enable-linux-desktop
flutter build linux --releasemacOS needs the same sequence with the macOS desktop target enabled, and it also requires Xcode development tools and CocoaPods. The README notes the resulting binary path and how to run it directly. The repository layout reflects a standard Flutter project, with a lib directory, platform directories for linux and macos, a pubspec.yaml and a pubspec.lock, plus a flake.nix and a devshell.nix for the Nix side of the project.
Release tags and the gap between them
The repository is not archived, and the last push was on 2026-10-14, so work is continuing. The release tags tell a different story. The most recent release is 1.2.10 on 2024-07-04, with 1.2.9 six days earlier on 2024-06-28, and before that v1.2.8 from 2022-11-21. Two releases six days apart in mid 2024, then a gap of more than two years to the most recent tag, with commits still landing in 2026. That combination is worth naming carefully rather than describing as a steady release cadence. The install instructions in the README are pinned to version 1.2.10 throughout, including the file names for the .deb, the AppImage and the zip, so a user following the instructions gets the 2024 build. The project is MIT licensed, with a LICENSE file at the repository root, and the repository also carries a SECURITY.md, a CODE_OF_CONDUCT.md and a CONTRIBUTING.md.
Editorial conclusion
Quickgui suits a Linux user who already has Quickemu installed and wants a graphical way to fetch operating system images and start and stop machines without remembering command lines. It does not suit a macOS user today, since the README's build instructions there are manual and the packaged downloads are Linux, and it does not suit someone who needs Quickgui to manage virtual machines independently of Quickemu, because every machine it lists is a Quickemu machine. Before you install it, check that the `spicy` client is on your PATH for the display connection and that your guest runs an SSH server on port 22 for the SSH button, since both buttons stay disabled otherwise.
Frequently asked questions
Does Quickgui need Quickemu installed?
Yes. The README states that Quickgui depends on Quickemu, and that most package managers will install Quickemu for you when you install Quickgui. If it is missing, the README points to the Quickemu installation steps for your operating system.
How do I install Quickgui on Ubuntu?
Ubuntu users can install the .deb package described for Debian, or use the project PPA with `sudo apt-add-repository ppa:flexiondotorg/quickemu`, `sudo apt-get update` and `sudo apt-get install quickgui`.
Why is the Connect display with SPICE button disabled?
The README says the button is disabled when the `spicy` client cannot be found, so it must be installed and in your PATH. It should have been installed together with Quickemu.
Why does Connect with SSH fail on a new virtual machine?
Most guest operating systems do not install an SSH server by default, so the button stays disabled until one is installed and listening on port 22. If the connection is refused after that, you may need to remove the stale host key with something like `ssh-keygen -R [localhost]:22220`.
What happens when I click the Trash button in the Manager?
It prompts you to delete either the whole virtual machine or just its disk image, so you can keep the disk of a machine you still need. The Manager screen lists the Quickemu virtual machines found in the directory you chose for storage.
How do I build Quickgui from source?
Install Flutter, clone the repository, run `flutter pub get`, enable the desktop target with `flutter config --enable-linux-desktop` or `flutter config --enable-macos-desktop`, and build with `flutter build linux --release` or `flutter build macos --release`. The macOS build also needs Xcode development tools and CocoaPods.
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/quickemu-project-quickgui)Was this useful?