====== SPICE (Simple Protocol for Independent Computing Environments) ====== **SPICE** je komunikační protokol určený pro vzdálený přístup k virtuálním prostředím. Jeho hlavním úkolem je přenášet obraz, zvuk a vstupy (myš, klávesnice) mezi virtualizovaným hostem (běžícím na serveru) a klientským zařízením uživatele. V rámci ekosystému [[kvm|KVM]]/[[qemu|QEMU]] představuje SPICE moderní a výkonnější alternativu k protokolu VNC. ===== Klíčové vlastnosti SPICE ===== SPICE byl od počátku vyvíjen s ohledem na potřeby virtualizace, což mu dává několik výhod: * **Grafická akcelerace:** Podpora 2D a částečně 3D akcelerace. Protokol dokáže detekovat typ obsahu (např. video) a zvolit vhodnou kompresi. * **Dynamické rozlišení:** Pokud uživatel změní velikost okna klienta, rozlišení uvnitř virtuálního stroje se automaticky přizpůsobí. * **Sdílení schránky (Clipboard):** Umožňuje kopírovat text a soubory mezi hostitelským a virtuálním strojem (vyžaduje ''spice-vdagent''). * **USB Redirection:** Umožňuje "přesměrovat" fyzické USB zařízení zapojené do vašeho notebooku přímo do virtuálního stroje běžícího na vzdáleném serveru. * **Více monitorů:** Podpora pro práci na více obrazovkách současně. * **Přenos zvuku:** Nízká latence při přenosu zvuku z hosta ke klientovi i opačně (mikrofon). ===== Architektura systému ===== Protokol SPICE se skládá ze tří hlavních částí: ==== 1. SPICE Server ==== Běží uvnitř emulátoru [[qemu|QEMU]]. Stará se o autentizaci klientů a kódování grafických dat. ==== 2. SPICE Client ==== Aplikace, kterou používá uživatel (např. **Virt-Viewer** nebo integrovaný prohlížeč ve [[virt-manager|Virt-Manageru]]). Klient existuje pro Linux, Windows i macOS. ==== 3. Guest Agents (Ovladače v hostu) ==== Aby SPICE fungoval naplno, musí být uvnitř virtuálního stroje nainstalovány ovladače (v Linuxu balíček ''spice-vdagent'', ve Windows balíček ''virtio-win''). Tyto ovladače zajišťují hladký pohyb myši a synchronizaci rozlišení. ===== Srovnání: SPICE vs. VNC ===== ^ Vlastnost ^ VNC ^ SPICE ^ | **Zaměření** | Obecné sdílení plochy | Specializované pro virtualizaci | | **Přenos zvuku** | Standardně ne | Integrovaný (vysoká kvalita) | | **USB Redirect** | Ne | Ano | | **Výkon** | Nižší (přenáší bitmapy) | Vyšší (inteligentní komprese) | | **Kurzor myši** | Často se "zpožďuje" | Plynulý (hardware cursor) | ===== Použití v praxi ===== SPICE je výchozím protokolem v profesionálních virtualizačních nástrojích jako: * **Proxmox VE:** Pro přístup ke konzoli VM přes prohlížeč. * **oVirt / Red Hat Virtualization:** Klíčová součást pro VDI (Virtual Desktop Infrastructure). * **Virt-Manager:** Automaticky doporučuje SPICE při vytváření nových VM. ===== Bezpečnost ===== Protokol SPICE podporuje šifrování celého přenosu pomocí **TLS**. To je nezbytné, pokud ke svým virtuálním strojům přistupujete přes veřejný internet, aby nemohlo dojít k odposlechu hesel nebo obsahu obrazovky. --- **Související termíny:** [[qemu|QEMU]], [[kvm|KVM]], [[virt-manager|Virt-Manager]], [[virtio|Virtio]], [[vnc|VNC]].