Bevezető
Én eddig a VirtualBoxot használtam, elsősorban arra, hogy a fórumtémák kapcsán a legkülönbözőbb rendszereket változatos asztali környezetekkel telepítsem és így próbáljak meg a kérdezőknek választ adni, illetve ha volt olyan hardverem vagy futtatni kívánt alkalmazás, amit a jelenleg használt operációs rendszerem alatt nem tudtam működésre bírni, akkor olykor egy vendégrendszeren ejtettem ezt meg így áthidalva a problémát. Számomra tehát fontos a gazda és vendég között:
– A könnyed fájlmozgatás (például van egy öreg szkennerem, amit Ubuntu 18.04 alól tudok csak használni, kényelmes, ha rögtön a megosztott mappába történik a beolvasott anyag mentése és a továbbiakban már dolgozhatok vele könnyedén a gazdarendszer alól).
– Az USB-s eszközök átengedésének lehetősége a vendégrendszer számára (például ez a szkenner is USB-s, de néha jó egy második billentyűzetet is átengedni a vendégnek).
– Jól jön, ha a vágólapon is könnyedén tudok tartalmat mozgatni a két rendszer között (hiszen a leírások sokszor a gazdarendszeren vannak, a gazdarendszer alól fórumozok).
Egy hír meglebegtette, hogy esetleg keresnünk kell majd valami alternatívát a VirtualBox helyett, @klt a Virtual Machine Manager-t (QEMU, KVM, virt-manager) választotta, én pedig próbáltam kullogni a nyomában.
Egész kis használható tudást sikerült már összegyűjteni, ami tulajdonképp megvan itt különböző témákban szétszórva, ezeket próbálom meg kissé rendszerezve közreadni, hátha más is kedvet kap hozzá.
Gazdarendszernek (host) nevezzük azt a rendszert, amiben a Virtual Machine Manager program fut.
A Virtual Machine Manager programban futó rendszert pedig vendégnek (guest).
A rendszerünkön egy virtuális számítógépet hozunk létre, ami aztán ezen a rendszeren belül, ha úgy tetszik, egy dobozban fut. Egyszerre tehát két rendszer fog futni, a számítógépünk erőforrásait (processzor, RAM, videokártya) közösen (megosztva) használva. Értelemszerűen tehát a virtualizáláshoz szükséges az, hogy a számítógépünk elegendő erőforrással rendelkezzen ehhez, magyarul, ne a leggyengébb gépen akarjunk virtualizálni (bár egyelőre meglepően jól elketyegnek a vendégrendszerek a mindössze i3-as processzorral és 8 GB RAM-mal bíró mini PC-men is). Másrészt fontos, hogy a számítógép BIOS-ában a virtualizációt engedélyezzük, mert különben a virtuális gép nagyon rossz (szinte használhatatlan) teljesítményt fog nyújtani, vagy esetleg el sem indul.
Az alkalmazás telepítése
A program telepítéshez ezt a leírást találtuk.
sudo apt update
sudo apt upgrade
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
sudo adduser $USER libvirt
sudo adduser $USER kvm
sudo systemctl start libvirtd
sudo systemctl enable libvirtd
@lala2 -nek hála tudjuk, hogy az utolsó két parancs akár a
sudo systemctl enable --now libvirtd
paranccsal is kiváltható.
Az alkalmazás első indítása, az első virtuális számítógép létrehozása
Akár a menüből, akár terminálból a virt-manager paranccsal most már el tudod indítani az alkalmazást.
Ha most indítottad először, akkor neked még nem lesz egyetlen virtuális számítógéped sem, tehát létre kell hoznod egyet.

A következő ablakban választhatsz, hogy miről fogsz telepíteni. Általában szerintem ISO-ról bootol a mezei felhasználó, szóval teljesen jó az alapbeállítás, mehetünk tovább.

A felső részen be kell tallózni az ISO-t, amiről telepíteni szeretnéd a virtuális rendszered, ha szerencséd van, akkor van meg is találja az adatbázisban ezt a rendszert és automatikusan kitöltésre kerül az alsó mező,

ha olyan képet választasz, amihez nem tartozik rendszer az adatbázisban,

akkor ki kell venni az automatikus érzékelés elől a pipát és az alsó keresőmezőbe beírni, mondjuk, hogy „linux” (ha egy Linux rendszert kívánsz telepíteni)

majd a legutolsó „Generic” opciót kiválasztani, hogy tovább tudj lépni.

(Velem megesett, hogy nem tudtam az ISO-t bootolni, végül kiderült, hogy azért, mert az elérési útvonalban olyan könyvtár szerepelt, melynek nevében ékezetes betű volt. Ha te is ilyen problémába ütközöl, az egy egyszerű megoldás lehet, ha felhasználód könyvtárába létrehozol egy olyan mappát, melynek nevében nincs ékezetes betű és ebbe gyűjtöd az ISO-kat.)
Aztán tudod szabályozni, hogy az alkalmazás által felkínálthoz képest mennyi RAM-ot és processzormagot engedsz át a virtuális számítógépnek (minél többet, annál kevesebb marad a gazdarendszernek).

Mekkora legyen a virtuális számítógép által használt lemezterület?

Még egy összegzés és kezdődhet is a móka.
Általában ezt követően már indul is a virtuális számítógép, bootol a kiválasztott ISO-ról és telepítheted ugyanúgy a rendszered, ahogy azt egy fizikai számítógép esetében tennéd.
Amikor nálam Debian volt a gazdarendszer, ezen a ponton szólt, hogy nem fut a Network szolgáltatás, kérdezte, hogy elindítsa-e? Naná! Ment is minden rendesen, indult szépen a telepített vendégrendszerem, de mondjuk másnap már nem (gondolom újraindítottam a gazdarendszert), a
Can't start KVM guest: "network 'default' is not active" hibaüzenet kaptam.
A gazdarendszeren kiadott sudo virsh net-start default paranccsal el tudod indítani a hálózatot erre az alkalomra.
A sudo virsh net-autostart default paranccsal pedig el tudod érni, hogy automatikusan elinduljon a jövőben ez a hálózat és ne fuss többé ebbe a hibába.
Forrás: https://askubuntu.com/a/1120132
Használat
Hurrá, most már van egy vagy akár több virtuális számítógépünk, azon rendszerünk vagy rendszereink!

A kiválasztott gépet megnyithatjuk.

Az alaphelyzet az, hogy a virtuális gép képernyőjét látjuk.

A következő ikon a virtuális hardver beállítási lehetőségeit kínálja nekünk.

Aztán van még egy lenyíló menünk, ahol újraindíthatjuk, leállíthatjuk, vagy ezekre a műveletekre akár kényszeríthetjük is a virtuális gépet.

USB-s eszköz átadása a vendégrendszernek
Ha már fut a rendszerünk, akkor nagyon könnyen át tudunk neki adni bármilyen USB-s eszközt.
Virtual Machine/ Redirect USB Device

aztán a megjelenő ablakban választunk az elérhető eszközök közül.

Megosztott mappa
Ha a gazdarendszerről fájlt kell eljuttatni a vendégrendszerre vagy éppen fordítva, azt tulajdonképp akár egy pendrive és a fenti módszer segítségével is megtehetjük, hisz egy pendrive-ot csatlakoztatva a gazdagéphez tudjuk azt adogatni hol a vendégnek, hol gazdának, ha csak ritkán van erre szükség, akkor végül is ez is jó, de ha gyakran szeretnénk fájlokat mozgatni a gazda és a vendég között, akkor az egyik lehetséges jó megoldás a megosztott mappa használata.
Engem ebből az érintett, amikor a gazdarendszer is Linux és a vendégrendszer is Linux.
Először is a gazdarendszerre fel kell telepíteni a virtiofsd-t.
sudo apt install virtiofsd
Aztán kell egy könyvtár a gazdarendszeren, amit majd meg fogsz osztani, és kell egy könyvtár a vendégrendszeren, ahová ezt a megosztott mappát fel fogod csatolni.
Én most a példa kedvéért készítettem
a gazdarendszeren egy ~/Share_with_KVM (/home/csuhas/Share_with_KVM),
a vendégrendszeren pedig egy ~/Shared (/home/teszt/Shared) könyvtárat.
A vendéggépen engedélyezni kell a memóriamegosztást.

A vendéggéphez hozzá kell adni egy új hardvert, méghozzá egy Filesystem-et.

A Driver a virtiofs kell legyen.
A Source path-hez kitallózod a gazdagép megosztani kívánt könyvtárát (/home/csuhas/Share_with_KVM)
A Target path-hez pedig beírsz egy tetszőleges nevet. (Shared_folder)

A vendégrendszer /etc/fstab fájlját szerkeszted mondjuk a Nano-val:
sudo nano /etc/fstab
és beillesztesz a végére egy sort, ez az esetemben ez lett:
Shared_folder /home/teszt/Shared virtiofs defaults 0 0
A „Target path”-hez írt név, aztán vendégrendszer csatolási könyvtárának elérési útvonala, a többi pedig (virtiofs defaults 0 0) már mindenkinél ugyanaz.
A fájlt elmented, visszaellenőrzöd és ha mindent jól csináltál egy újraindítást követően már működni fog a megosztás.
(Nálam a Debian gazdarendszer picit eltér a szokásostól, ezért a vendégrendszereken pluszban még mindig el kell ezt játszanom.)
Hogyan lehet több képernyője a virtuális gépnek?
Felmerült egy olyan téma is, hogy a vendégrendszernek több kijelzője legyen.
Nekem erre annyira nincs szükségem, teljesen nem is értem a végére, de valameddig eljutottam.
Display Spice/Detials
Type: Spice server
Listen type: Address
Address: Localhost only
Port: Auto (Port 5900)

Ahhoz, hogy az XML részt szerkeszteni tudd:
Virtual Machine Manager/ Edit/ Preferences/

General/ Enable XML editing

Video QXL/ XML
A heads="1" értéket át kell írnod heads="2"-re (feltéve, hogy 2 kijelzőt szeretnél)

A gazdarendszerre fel kell tenned a virt-viewer alkalmazást.
sudo apt install virt-viewer
A vendégrendszerre a spice-vdagent-et.
sudo apt install spice-vdagent
A vendégrendszernek futnia kell, amikor a gazdarendszeren kiadod a
remote-viewer spice://localhost:5900
parancsot. (Ha más portot adtál meg, akkor azt persze cseréld ki a parancsban.)
A megjelenő ablakban remélhetőleg már be fogsz tudni állítani több kijelzőt...

Egyelőre én idáig jutottam. Nekem ez már így is tökéletes alternatíva a VirtualBox kiváltására, könnyedén tudok átadni USB-s eszközt, a vágólap a gazda és vendég között alapból működik, van megosztott mappám, a működést legalább olyan gördülékenynek érzem, mint a másik alkalmazás esetén.