Qual é a tecnologia usada pelo Boxes?

Boxes usa qemu-kvm, libvirt-glib e spice-gtk para permitir que os usuários gerenciem facilmente máquinas virtuais e conectem a máquinas remotas.

QEMU com KVM

QEMU é um emulador e virtualizador. Como um emulador de máquinas, ele pode executar SOs e programas feitos para uma máquina (ex.: uma placa ARM) em uma máquina diferente (ex.: seu próprio PC). Como um virtualizador, QEMU alcança quase que a performance nativa executando o código convidado diretamente na CPU usando KVM.

KVM (que significa Máquina Virtual baseada no Kernel) é um módulo do kernel Linux que permite um programa de espaço de usuário usar os recursos da virtualização de hardware de vários processadores.

libvirt

libvirt é um kit de ferramentas para manipulação (criação, exclusão e modificação) e monitoramento de máquinas virtuais em máquinas remotas, de forma segura.

libvirt-glib interfaceia libvirt para fornecer uma API de alto nível e orientada a objeto adequada para os aplicativos baseados em glib.

SPICE

SPICE, o Protocolo Simples para Ambientes Computacionais Independentes, é um sistema para acessar e controlar áreas de trabalhos remotas pela rede.

O servidor SPICE é uma biblioteca que funciona dentro do binário do QEMU. Ele é principalmente responsável pela autenticação de conexões de clientes, repassando a saída gráfica para o SO convidado para o cliente e repassando a entrada do usuário (mouse e teclado) do cliente para o convidado.

spice-gtk é o cliente do SPICE que fornece uma visão do SO convidado.

VNC

VNC, Computação de Rede Virtual, usado apenas para telas remotas, é um protocolo muito difundido, mas bem limitado e lento.