An elegant virtual machine manager for the desktop
Go to file
Yannick Mauray 275d065c74 fix: localizations 2024-07-02 02:22:18 +01:00
.github docs: update pull_request_template.md 2024-07-01 01:52:21 +01:00
.idea Initial commit 2021-10-09 09:20:17 +02:00
.vscode chore: updated icons 2022-11-07 22:30:48 +01:00
assets fix: localizations 2024-07-02 02:22:18 +01:00
lib feat: add authors to the left menu 2024-07-01 02:09:21 +01:00
linux refactor: make flutter_distributor packaging consistent with debian 2024-06-28 12:26:41 +01:00
.envrc refactor: check in pubspec.lock 2024-06-30 18:16:04 +01:00
.gitignore refactor: check in pubspec.lock 2024-06-30 18:16:04 +01:00
.metadata Initial commit 2021-10-09 09:20:17 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2024-06-29 23:19:00 +01:00
CONTRIBUTING.md docs: add CONTRIBUTING.md 2024-06-29 23:25:11 +01:00
LICENSE Add license file based on packaging repo license 2023-02-19 16:40:12 -05:00
README.md docs: update README 2024-06-28 16:59:09 +01:00
SECURITY.md docs: update SECURITY.md 2024-06-30 00:15:34 +01:00
analysis_options.yaml Initial commit 2021-10-09 09:20:17 +02:00
devshell.nix refactor: check in pubspec.lock 2024-06-30 18:16:04 +01:00
distribute_options.yaml feat: add flutter_distributor 2024-06-26 09:39:21 +01:00
flake.lock feat: nix package, overlay and devshell use the quickemu FlakeHub flake 2024-07-02 02:21:53 +01:00
flake.nix feat: nix package, overlay and devshell use the quickemu FlakeHub flake 2024-07-02 02:21:53 +01:00
package.nix refactor: update nix flake to be consistent with other packaging 2024-06-28 14:41:10 +01:00
pubspec.lock feat: kill VMs using quickemu --kill when running quickemu >= 4.9.6 2024-07-01 01:52:58 +01:00
pubspec.lock.json feat: kill VMs using quickemu --kill when running quickemu >= 4.9.6 2024-07-01 01:52:58 +01:00
pubspec.yaml docs: make the pubspec description match the project tagline 2024-07-01 02:09:21 +01:00
quickgui.iml Initial commit 2021-10-09 09:20:17 +02:00

README.md

Quickgui

Quickgui

An elegant virtual machine manager for the desktop

Made with 💝 for Tux (Linux)

 Discord

Introduction

Quickgui is a graphical user interface for the Quickemu virtual machine manager. Quickgui enables you to create and manage virtual machines from a simple and elegant interface. Nearly 1000 operating systems supported including Windows, macOS, BSDs, and 100s of Linux distros. All with automated downloads and configuration.

Install

Quickgui depends on Quickemu. Most package managers will automatically install Quickemu when you install Quickgui.

If you don't have Quickemu installed then go and follow the Quickemu installation steps for your operating system:

Debian

A .deb package is available for Debian on our release page.

  • Download the latest .deb package
  • Install it with apt-get install ./quickgui-1.2.9+1-linux.deb

Fedora

A .rpm package is available for Fedora on our release page.

NixOS

Flake

FlakeHub

Stable releases of Quickgui are published to FlakeHub for NixOS users. See the Quickemu flake on FlakeHub for more details:

Nixpkgs

Add Quickgui to your systemPackages. For example:

systemPackages = with pkgs; [
  quickgui
];

Ubuntu

Ubuntu users can install Quickgui using the .deb package described above for Debian or from our PPA.

sudo add-apt-repository ppa:flexiondotorg/quickgui
sudo apt-get update
sudo apt-get install quickgui

Other Linux

We provide an AppImage and a pre-compiled binary of Quickemu in a .zip file.

AppImage

The AppImage should work on most Linux distributions.

  • Download the latest AppImage.
  • chmod +x quickgui-1.2.9+1-linux.AppImage
  • ./quickgui-1.2.9+1-linux.AppImage

Pre-compiled binary

  • Download the latest .zip file.
  • unzip quickgui-1.2.9+1-linux.zip
  • cd quickgui-1.2.9+1-linux
  • chmod +x quickgui
  • ./quickgui

Compile

To compile the Quickgui yourself:

  • Install Flutter
  • git clone https://github.com/quickemu-project/quickgui.git
  • cd quickgui
  • flutter pub get
  • flutter config --enable-linux-desktop
  • flutter build linux --release

The compiled binary will be in build/linux/x64/release/bundle/quickgui. You can run it with:

./build/linux/x64/release/bundle/quickgui

Usage

Main Screen

Quickgui Main screen

Downloader

  • From the main screen, click "Create new machines"
  • Select the Operating System you want to install
  • Select the Version of the operating system you want to use.
  • Click the "Download" button.
    • The ISO will be downloaded
  • When the download is complete, click the "Dismiss" button.
Downloader
Quickgui Downloader

Manager

  • From the main screen, click "Manage existing machines"
  • The Manager screen will list available Quickemu VMs in the directory you have chosen to store them.
  • Start a VM by clicking the "Play" (▶) button.
  • Kill a running VM by clicking the "Stop" (■) button.
  • Clicking the "Trash" (🗑) button will prompt you to delete the whole VM or just its disk image.
Manager
Quickgui Manager

When a VM is running, Quickgui will display the host ports that are mapped to the SPICE and SSH ports on the guest. These ports are used to connect to the guest for display and SSH access.

SPICE

If you close the SPICE display and wish to reconnect, you can click the "Connect display with SPICE" button. To open an SSH session, you can click the "Connect with SSH" button.

If the "Connect display with SPICE" button is disabled, the spicy client cannot be found. Ensure it is installed, and in your PATH (it should have been installed with quickemu).

SSH

If the "Connect with SSH" button is disabled, an SSH server cannot be detected on the guest. Most guest operating systems will not install an SSH server by default, so if it was not an option during installation, you will need to install one yourself. It must be listening on port 22 (the default SSH port). Once a server is installed and running, it should be detected automatically.

"Connect with SSH" will open a terminal and attempt to connect to the guest. If the connection is successful, you will be prompted for the password. If the connection is unsuccessful, you might need to remove the host key for the guest from your ~/.ssh/known_hosts file using something like ssh-keygen -R [localhost]:22220.