Quickemu - Virtual Machine Management Tool

Quickemu: A command-line tool for easily running virtual machines. Manage VM configurations, snapshots, and displays with simple commands.

Quickemu

Quickemu is a powerful command-line tool designed to simplify the process of running and managing virtual machines (VMs) on Linux systems. Leveraging KVM and QEMU, it provides an intuitive interface for users to quickly launch VMs with various configurations and display options. This tool is ideal for developers, system administrators, and enthusiasts who need a flexible and efficient way to handle virtualized environments.

Running Virtual Machines with Quickemu

The primary function of Quickemu is to launch virtual machines based on configuration files. The basic command structure involves specifying the path to your VM's configuration file.

Basic VM Execution

To run a virtual machine, use the --vm flag followed by the path to your VM configuration file (e.g., .conf file).

quickemu --vm <path/to/vm.conf>

Specifying Display Backends

Quickemu supports multiple display backends, allowing you to choose the most suitable interface for your needs. Common options include spice, sdl, gtk, and none.

# Run with a Spice display
quickemu --vm <path/to/vm.conf> --display spice

# Run with SDL display (default)
quickemu --vm <path/to/vm.conf> --display sdl

Accessible Display Options

For users requiring accessibility features, Quickemu offers support for braille displays. This requires a compatible version of Quickemu (3.11+) and a working brltty installation.

# Run with braille support and SDL display
quickemu --vm <path/to/vm.conf> --accessible braille --display sdl
# or using the shorthand
quickemu --vm <path/to/vm.conf> --acc brl --display sdl

Advanced Quickemu Options

Quickemu provides a comprehensive set of optional parameters to fine-tune your VM experience. These options cover disk management, VM deletion, display settings, snapshot management, and more.

VM and Disk Management

  • --delete-disk: Removes the VM's disk image and EFI variables.
  • --delete-vm: Deletes the entire VM, including its configuration and disk image.

Snapshot Management

Quickemu allows you to create, apply, and delete snapshots of your VM's state.

  • --snapshot create <tag>: Creates a new snapshot with the specified tag.
  • --snapshot apply <tag>: Restores the VM to a previously created snapshot.
  • --snapshot delete <tag>: Removes a specific snapshot.
  • --snapshot info: Displays information about existing disks and snapshots.

Display and Viewer Options

  • --fullscreen: Launches the VM in full-screen mode.
  • --screen <screen>: Specifies which screen to use for the VM window.
  • --viewer <viewer>: Selects an alternative viewer application (e.g., spicy, remote-viewer).

Networking and Monitor Configuration

  • --ssh-port <port>: Manually sets the SSH port for the VM.
  • --spice-port <port>: Manually sets the Spice port for the VM.
  • --public-dir <path>: Exposes a directory for sharing files with the VM.
  • --monitor <type>: Configures the monitor connection type (e.g., socket, telnet).
  • --monitor-cmd <cmd>: Sends a command directly to the VM's monitor.

Input Device Configuration

  • --keyboard <type>: Sets the type of keyboard emulation (e.g., usb, ps2).
  • --keyboard_layout <layout>: Specifies the keyboard layout.
  • --mouse <type>: Sets the type of mouse emulation (e.g., tablet, ps2).

Additional Parameters

  • --usb-controller <type>: Configures the USB controller type.
  • --extra_args <arguments>: Passes additional arguments directly to QEMU.
  • --version: Displays the installed Quickemu version.

For detailed documentation and community support, refer to the official Quickemu resources and relevant virtualization documentation.

External Resources: