Michael Hill
mdhillca@gmail.com 2012
Baptiste Mille-Mathias
baptistem@gnome.org 2012
Rodrigo Lledó
rodhos92@gmail.com 2019
Daniel Mustieles
daniel.mustieles@gmail.com 2014 - 2019
Alex Puchades
alex94puchades@gmail.com 2015

# ¿Qué tecnología usa Cajas?

Cajas usa qemu-kvm, libvirt-glib y spice-gtk para permitir a los usuarios gestionar máquinas virtuales con facilidad y conectarse a equipos remotos.

# QEMU con KVM

QEMU es un emulador y virtualizador de máquinas. Como emulador de máquinas, puede ejecutar sistemas operativos y programas hechos para una arquitectura (ej. una placa ARM) en una máquina diferente (ej. su propio PC). Como virtualizador, QEMU consigue un rendimiento casi nativo al ejecutar el código externo directamente en la CPU del equipo anfitrión usando KVM.

KVM (máquina virtual basada en el núcleo) es un módulo del núcleo Linux que permite a un programa de espacio de usuario usar las características de virtualización hardware de varios procesadores.

# libvirt

libvirt es un kit de herramientas para manipular (crear, eliminar y modificar) y monitorizar máquinas virtuales en equipos remotos de manera segura.

libvirt-glib abstrae libvirt para proporcionar una API de alto nivel orientada a objetos adecuada para aplicaciones basadas en glib.

# SPICE

SPICE, «Simple Protocol for Independent Computing Environments», es un sistema para acceder y controlar escritorios remotos a través de la red.

El servidor SPICE es una biblioteca que se ejecuta dentro del binario de QEMU. Es la principal responsable de la autenticación de conexiones de clientes, transmitiendo la salida gráfica del SO invitado al cliente y la entrada de usuario (ratón y teclado) del cliente al invitado.

spice-gtk es el cliente SPICE que proporciona una vista dentro del SO invitado.

# VNC

VNC, «Virtual Network Computing», usado sólo para mostrar escritorios remotos, es un protocolo conocido pero bastante lento y limitado.