MoonLightOS

Útmutató

A letöltéstől a működő telepítésig, és hogy mi a teendő, ha valami nem sikerül.

Mielőtt belekezd

Bármilyen 64 bites x86-os gép. A telepítőhöz legalább 1,7 GB memória és 18 GB lemezhely kell; az alábbi értékekkel a rendszer kényelmesen fut.

MinimumAjánlott
Memória2 GB4 GB
Lemez18 GB30 GB
Processzorbármilyen 64 bites x86-os processzorkétmagos
Grafikabármilyen framebufferrel rendelkező videokártyaaz utóbbi 15 év bármelyik GPU-ja

Ugyanaz a lemezkép működik UEFI-vel és hagyományos BIOS-szal is. A Secure Boot bekapcsolva maradhat.

Letöltés és ellenőrzés

A lemezkép egyetlen fájl, a moonlightos-26.04.5-bengunur-amd64.iso, és mellette egy másik fájl tartalmazza a SHA-256 összegét. Az összeget írás előtt ellenőrizze: a félbemaradt letöltésből olyan pendrive lesz, amely elindul, aztán kiszámíthatatlan hibákat produkál.

Linuxon vagy macOS-en, abban a mappában, ahová letöltötte:

sha256sum -c moonlightos-26.04.5-bengunur-amd64.iso.sha256

Windowson, PowerShellben hasonlítsa össze a kiírt hasht a .sha256 fájlban lévővel:

Get-FileHash .\moonlightos-26.04.5-bengunur-amd64.iso -Algorithm SHA256
Get-Content .\moonlightos-26.04.5-bengunur-amd64.iso.sha256

Az első parancs OK-t ír ki; a második olyan hasht, amelynek egyeznie kell a fájlban lévővel. Minden más azt jelenti, hogy a letöltés hibás.

26.04.5 letöltése

A lemezkép pendrive-ra írása

A lemezkép hibrid ISO, ezért elég egy sima blokkszintű másolás: nem kell hozzá külön program, és ugyanaz a pendrive indul UEFI-s és BIOS-os gépen is. A pendrive teljes tartalma elveszik. Legalább 8 GB-os pendrive kell hozzá.

Linuxon vagy macOS-en először keresse meg az eszköz nevét (Linuxon lsblk, macOS-en diskutil list), majd:

sudo dd if=moonlightos-26.04.5-bengunur-amd64.iso of=/dev/sdX bs=4M status=progress oflag=direct conv=fsync
sudo dd if=moonlightos-26.04.5-bengunur-amd64.iso of=/dev/rdiskN bs=4m   # macOS

Nézze meg kétszer az eszköz nevét: a dd pontosan arra az eszközre ír, amelyet megad neki.

Windows

Használja a Rufust DD módban, a balenaEtchert vagy a Ventoyt. Ha a Rufus megkérdezi, ISO vagy DD módban írjon-e, válassza a DD-t.

Indítás pendrive-ról

Indítsa el a gépet a bedugott pendrive-val, és nyissa meg az egyszeri indítómenüt (gyártótól függően F12, F8, F2, Esc vagy Del), vagy állítsa be az USB-eszközt első indítási eszköznek a firmware beállításaiban. A Secure Bootot nem kell átállítani.

Az indítómenü

  • Try or Install MoonLightOS

    A szokásos bejegyzés. Elindítja a live munkamenetet az indítási animációval.

  • Try or Install MoonLightOS (safe graphics)

    Ugyanaz, kikapcsolt kernel mode-settinggel. Akkor válassza, ha a kép fekete marad, vagy ha a megjelenítés szétesik.

  • MoonLightOS in RAM (needs 6 GB+)

    A teljes rendszert a memóriába másolja, így a pendrive kihúzható.

  • Check this medium for defects

    Az adathordozó minden fájlját összeveti a build során rögzített ellenőrzőösszegekkel.

  • Verbose boot (no splash, logs to serial)

    Minden üzenetet kiír a képernyőre és az első soros portra: csak így olvasható el az olyan indulás, amely még a kijelző megjelenése előtt bukik el.

  • UEFI firmware settings

    Újraindít a firmware beállításaiba.

Képernyőkép a MoonLightOS-ről
Ezután jön az indítási animáció: a logó áll, a haló lélegzik, a folyamatjelző pedig töltődik.

A live munkamenet

Először a beállítási varázsló jelenik meg: válassza ki a rendszer nyelvét, erősítse meg a billentyűzetkiosztást (a mezőbe írva ki is próbálhatja), kapcsolódjon Wi-Fi-hálózatra, majd nézelődjön vagy telepítsen. Amit itt beállít, az valódi rendszerbeállítás, és a telepítő ugyanezekkel dolgozik.

Képernyőkép a MoonLightOS-ről

A live munkamenet a teljes, változatlan rendszer: ugyanaz az asztal, ugyanazok az eszközök, ugyanazok a beállítási lapok. A live felhasználó neve moonlight, és nincs jelszava. Amíg nem indítja el a telepítőt, semmi nem ér hozzá a lemezhez.

A telepítéshez kattintson duplán az asztalon a MoonLightOS telepítése ikonra, vagy nyissa meg újra a Beállítás varázslót, és válassza a telepítést.

Telepítés

A telepítő a Calamares. Hét lap, aztán a másolás a lemezre.

  1. Üdvözlés

    A telepítő nyelve és hivatkozások erre az útmutatóra.

  2. Hely

    A régió és az időzóna; a területi beállítás és a számformátumok ebből következnek.

  3. Billentyűzet

    Már arra van állítva, amit a varázslóban választott. A mezőbe írva ellenőrizheti.

  4. Partíciók

    Alapértelmezés a lemez törlése, ez ext4 fájlrendszert és swapfájlt hoz létre; btrfs, xfs és f2fs is választható, és kézzel is lehet partícionálni. A teljes lemezes LUKS2-titkosításhoz jelölje be a rendszer titkosítását, és adjon meg jelmondatot: ezt minden indításkor be kell írni, és ha elfelejti, nem állítható vissza. UEFI-s gépen 512 MiB EFI-partíció készül.

  5. Felhasználók

    A neve, a gép neve, egy felhasználónév és egy legalább nyolc karakteres jelszó kétféle karakterosztályból. Az első fiók a sudón keresztül rendszergazda; a root fiók zárolva marad, és automatikus bejelentkezés sincs, amíg be nem kapcsolja.

  6. Összegzés

    Egy listában minden, amit a telepítő tenni fog. Eddig semmi nem került a lemezre.

  7. Telepítés

    A rendszer a lemezre kerül, telepszik a rendszerbetöltő (UEFI-n MoonLightOS néven, a firmware indítási listájában), és a live munkamenet maradványai eltűnnek. Ezután indítsa újra a gépet, és húzza ki a pendrive-ot.

A gépen lévő többi operációs rendszert az os-prober az első induláskor megtalálja, és felveszi a GRUB menüjébe.

Az első indulás

A telepített rendszer annak a lemezképnek a pontos másolataként indul el, amelyből minden más telepítés is származik. Minden, aminek egyedinek kell lennie ezen a gépen, az első induláskor jön létre, még a bejelentkezési képernyő előtt, egy olyan szolgáltatással, amely ezután kikapcsolja magát:

  • új gépazonosító, hogy a hálózat felől senki ne tudjon összekötni két telepítést;
  • új SSH-gazdakulcsok, mert ha mindenki ugyanazt a kulcsot kapná a lemezképpel, a gazdagép-ellenőrzésnek nem lenne értelme;
  • a GRUB menüje, most, hogy a valódi lemezek és a rajtuk lévő többi operációs rendszer is látszik;
  • a tényleg jelen lévő hardverhez újraépített initramfs, így kisebb lesz, és hamarabb jön az indítási animáció;
  • az ikon-, a betűkészlet- és az asztali gyorsítótárak, hogy az első bejelentkezés ne legyen lassú;
  • a tűzfal, újra bekapcsolva.

A kimenete a /var/log/moonlight-firstboot.log fájlba kerül. Ezután jön a bejelentkezési képernyő, az első bejelentkezés után pedig az Üdvözlet ablaka.

Képernyőkép a MoonLightOS-ről

Első lépések

  • Válasszon megjelenést

    Sötét vagy világos, mindjárt az Üdvözletben. A többi a MoonLight Tweaksben van: az asztali elrendezés, a háttérkép, az időzítés és a kisalkalmazások.

  • Illesztőprogramok

    Az Üdvözlet → Illesztőprogramok megnyitja az Illesztőprogram-kezelőt. NVIDIA-kártyás gépen a zárt illesztőprogram rajta van az ISO-n, így internet nélkül is működik.

  • Szoftverek

    Az áruház egyszerre listázza a snapeket, az Ubuntu tárolóját és a Flathubot. A Thunderbird, a Steam, a Spotify és sok más egyetlen keresésre van.

  • Ujjlenyomat és arc

    Üdvözlet → Ujjlenyomat, vagy Rendszerbeállítások → Saját fiók, ha ujjlenyomatot szeretne rögzíteni vagy arcfelismerést beállítani.

  • Biztonsági mentés

    A Timeshift időzítve készít pillanatképeket a rendszerről. Állítsa be, mielőtt szükség lesz rá.

  • Biztonság

    A Rendszerbeállítások → Biztonság megmutatja, mi védi és mi nem védi ezt a gépet, és minden sor mellett ott a gomb, amely megoldja.

  • Fejlesztői csomagok

    Virtuális gépek, PHP adatbázisokkal és LaTeX: egy-egy kattintás az Üdvözletben, a már beállított tárolóból telepítve.

  • Windowsos programok

    Nyissa meg egyszer a Windows-alkalmazásokat: előkészíti a Wine-t DXVK-val, VKD3D-vel, betűkészletekkel és futtatókörnyezetekkel. Utána az .exe fájlok egyszerűen megnyílnak.

Virtuális gépek

VirtualBox

A VirtualBoxban három beállítást meg kell változtatni az alapértékhez képest, különben ez a lemezkép egyáltalán nem indul el. A hiba memóriaproblémának látszik, pedig nem az: a GRUB grafikus módra vált, hogy kirajzolja a témázott menüt, és ez a VirtualBox alapértelmezett 16 MB videómemóriájával elbukik, az „Out of memory. You need to load the kernel first.” üzenettel.

TípusLinux / Ubuntu (64-bit)
Memória4096 MB (minimum 2048)
Processzorok2 vagy több
Videómemória128 MB, ez az a beállítás, amelyen valóban múlik
3D-gyorsításbekapcsolva
Grafikus vezérlőVMSVGA
EFI engedélyezésekikapcsolva: a BIOS jól működik, a VirtualBox EFI-je pedig félkész
Felügyelet nélküli telepítés kihagyásabejelölve
Lemez30 GB vagy több

Parancssorból:

VBoxManage modifyvm "MoonLightOS" \
    --ostype Ubuntu24_LTS_64 --memory 4096 --cpus 4 \
    --vram 128 --graphicscontroller vmsvga --accelerate3d on \
    --boot1 dvd --boot2 disk

A VirtualBox „Ubuntu” néven jelöli meg az adathordozót, mert /casper mappát talál rajta. Ez csak egy felirat a VirtualBox felületén; maga az adathordozó MoonLightOS-ként azonosítja magát. A vendég típusát mégis állítsa Ubuntura, mert ezzel kapja meg a megfelelő lapkakészletet és a grafikai alapértékeket.

QEMU

UEFI, ahogy a gépek többsége indul. Előbb hozza létre az írható firmware-változókat és a céllemezt:

cp /usr/share/OVMF/OVMF_VARS.fd .
qemu-img create -f qcow2 disk.qcow2 30G
qemu-system-x86_64 \
  -enable-kvm -m 4096 -smp 4 \
  -machine q35 -cpu host \
  -device virtio-vga-gl -display gtk,gl=on \
  -drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE.fd \
  -drive if=pflash,format=raw,file=OVMF_VARS.fd \
  -drive file=moonlightos-26.04.5-bengunur-amd64.iso,media=cdrom \
  -drive file=disk.qcow2,if=virtio

Valóban bekapcsolt Secure Boottal, a Microsoft kulcsaival feltöltött firmware-rel. Indulás után a mokutil --sb-state SecureBoot enabled állapotot jelez, és ugyanezt mutatja a Beállítások → Névjegy is:

cp /usr/share/OVMF/OVMF_VARS_4M.ms.fd OVMF_VARS.fd
qemu-system-x86_64 \
  -enable-kvm -m 4096 -smp 4 -machine q35,smm=on -cpu host \
  -global driver=cfi.pflash01,property=secure,value=on \
  -drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE_4M.secboot.fd \
  -drive if=pflash,format=raw,file=OVMF_VARS.fd \
  -drive file=moonlightos-26.04.5-bengunur-amd64.iso,media=cdrom

Hagyományos BIOS: az ISO hibrid, így ugyanaz a fájl a régi módon is elindul:

qemu-system-x86_64 -enable-kvm -m 2048 -cdrom moonlightos-26.04.5-bengunur-amd64.iso

A 2 GB-os állítás ellenőrzéséhez indítsa gyorsítás nélkül, a minimális memóriával, majd nézze meg a live munkamenetben, hogy a zram megjelenik-e swapként, és hogy a memóriaterhelés alacsony marad-e:

qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 -vga std -cdrom moonlightos-26.04.5-bengunur-amd64.iso

# in the live session:
free -h                      # zram appears as swap
swapon --show                # /dev/zram0, zstd
cat /proc/pressure/memory    # "some avg10" under about 10 means it is keeping up
systemctl is-active earlyoom

A VirtualBox, a QEMU/SPICE és a VMware vendégeszközei már a lemezképen vannak, ezektől működik a kijelző átméretezése és a közös vágólap.

Gyorsbillentyűk

A teljes táblázat a Jellemzők lapon van. Az első napra ezeket érdemes megtanulni:

Supermegnyitja a menüt; a Super+Szóköz pedig úgy, hogy a kurzor már a keresőmezőben van
Super+Vvágólaptörténet
Super+Njegyzetek
Print / Shift+Printképernyőkép a teljes képernyőről / egy területről; a Shift+Super+5 a felvételi panelt nyitja meg
Super+Balra / Jobbraaz ablakot a képernyő feléhez igazítja
Ctrl+Felminden ablak; a Ctrl+Le minden munkaterület
Super+Lzárolja a képernyőt; a Ctrl+Alt+T terminált nyit, a Ctrl+Shift+Esc a rendszerfigyelőt

A teljes táblázat

Hibaelhárítás

  • A kép fekete marad az indítómenü után

    Válassza a safe graphics bejegyzést. Ha azzal elindul, onnan telepítsen, utána pedig kapcsolja be a zárt illesztőprogramot az Illesztőprogramok lapon.

  • „Out of memory. You need to load the kernel first.”

    Ez egy 16 MB videómemóriás VirtualBox-gép. Adjon neki 128 MB-ot, és kapcsolja be a 3D-gyorsítást; lásd a Virtuális gépek részt.

  • Lassúnak tűnik az asztal

    Nézze meg az OpenGL-megjelenítőt a Beállítások → Névjegy lapon. Szoftveres megjelenítés mellett az animációk bejelentkezéskor maguktól kikapcsolnak; a Tweaks → Teljesítmény lapon kézzel is kikapcsolhatók.

  • A pendrive elindul, aztán kiszámíthatatlan hibákat produkál

    Futtassa az indítómenüből a Check this medium for defects bejegyzést, és ellenőrizze a letöltés SHA-256 összegét.

  • Nincs Wi-Fi

    Nyissa meg az Illesztőprogramok lapot: a Broadcom illesztőprogramja rajta van a lemezképen. Más adaptereknél a hálózati menü megmutatja, mit talált a kernel.

  • Nem találja az ujjlenyomat-olvasót

    Nyissa meg az Ujjlenyomatot. Megnevezi az érzékelő gyártóját, megmondja, natív, lapkán belül összehasonlító vagy gyártói binárist igénylő érzékelőről van-e szó, és elmondja, mi tehető.

  • A naplók olvasása

    Mire panaszkodott az indulás, mit írt a bejelentkezéskezelő, mi került az első indulás naplójába, és mi az aktív indítási téma neve:

journalctl -b -p warning          # what the boot complained about
journalctl -b -u lightdm
cat /var/log/moonlight-firstboot.log
plymouth-set-default-theme        # should print: moonlightos

Hibajelentéshez a Névjegy → Jelentés másolása a vágólapra teszi a kiadást és a hardvert, a moonlight-selftest pedig kiírja, mit csinál valójában az asztal.

moonlight-selftest | less

Saját build készítése

Az egész disztribúció egyetlen tárolóban van: a grafika egyetlen forráslogóból származik, a témák egyetlen palettából készülnek, és egyetlen szkript gyúr mindebből Secure Boottal is induló ISO-t. Docker kell hozzá (bármilyen operációs rendszeren, mert a build konténerben fut) és körülbelül 25 GB szabad hely.

./build.shminden: bootstrap → testreszabás → tömörítés → ISO
./build.sh rootfsmegáll, amint a rendszer testreszabása kész
./build.sh imagemeglévő gyökérfájlrendszert csomagol újra ISO-ba
./build.sh finishcsak a rendszerbetöltők és az ISO, a meglévő squashfs újrahasznosításával
./build.sh shellparancssor a build környezetén belül
./build.sh cleantörli a munkakötetet

Az ISO az out/ mappába kerül, mellette a SHA-256 összege. Windowson Git Bashből futtassa, vagy használja a build.ps1 szkriptet.

Hogyan épül fel a build

build.shbelépési pont a gazdagépen; mindent konténerben futtat
build/Dockerfile.buildera build környezete, a célkiadáshoz rögzítve
build/mkiso.shbootstrap, kernelkibontás, squashfs, rendszerbetöltők, ISO
build/inchroot.shminden, ami a chrooton belül történik, tizennégy szakaszban
config/moonlight.confminden szöveg, amely a kiadást meghatározza
packages/*.listmi kerül a lemezképre, és mi kerül le róla
rootfs/változatlanul a rendszerbe másolt fájlok, köztük a MoonLight alkalmazások
brand/source/a forráslogó és a háttérképek; a brand/out/ generált
tools/gen-branding.pyforráslogó → indítási animáció, GRUB, bejelentkezési képernyő, ikonok
tools/gen-themes.pyegy paletta → mindkét teljes téma
po/a MoonLight alkalmazások fordításai
installer/a Calamares beállításai és arculata

Az ISO elkészülte előtt a build több mint 120 kötelező ellenőrzést futtat a lemezképen belül: a kernelt, az aláírt shimet, mindkét témát, minden MoonToolt, a kodekeket, a Wi-Fi-illesztőprogramokat, a fordításokat, és azt is, hogy az arcfelismeréses feloldás és a vészhelyzeti jelszó ki van-e kapcsolva. Ha bármelyik ellenőrzés elbukik, a build megáll. A munkaterület Docker-kötet, nem pedig becsatolt mappa, mert a fájlok tulajdonosa, a szimbolikus linkek és az eszközfájlok Windowson és macOS-en nem élik túl a becsatolást.

Testreszabás

  • A kiadás adatai

    A config/moonlight.conf tartalmazza az összes szöveget, amely a disztribúciót meghatározza.

  • Grafika

    Cserélje ki a forráslogót vagy valamelyik háttérképet, futtassa újra a tools/gen-branding.py szkriptet, és újragenerálódik az indítási animáció, a GRUB, a bejelentkezési képernyő, az ikonok és a telepítő grafikája.

  • Színek

    A tools/gen-themes.py egy sötét és egy világos palettát tartalmaz, és ugyanazokkal a szabályokkal generálja belőlük mindkét teljes témát.

  • Telepített csomagok

    A packages/*.list fájlokban soronként egy csomag, fájlnév szerinti sorrendben telepítve; a 99-purge.list azt sorolja fel, mi kerül le utólag.

  • Asztali alapértékek

    A rootfs/etc/dconf/db/moonlight.d/ mappában, dconf keyfile formátumban. Ezek alapértékek, nem zárak: a felhasználó mindegyiket átállíthatja.

  • Gyors újraépítés

    A rootfs/ vagy a csomaglisták módosítása után a build.sh rootfs a gyorsítótárazott alapon megismétli a chroot szakaszt, a build.sh image pedig újracsomagolja az ISO-t; a build.sh finish akkor hasznos, ha az indítómenün dolgozik.

Segítség és hibajelentés

A jó hibajelentés megírja, mit várt, mi történt helyette, és milyen gépen. A harmadikban a MoonLightOS segít:

  • A MoonLightOS névjegye → Jelentés másolása a vágólapra teszi a kiadást, a hardvert, a grafikus megjelenítőt és a Secure Boot állapotát, szövegként.
  • A moonlight-selftest kiírja a használatban lévő témabeállításokat, azt, hogy a felület stíluslapja rendesen betöltődött-e, melyik grafikus illesztőprogram aktív, és mely szolgáltatások hibáztak el.
  • Indítási problémánál a Verbose boot bejegyzés minden üzenetet kiír a képernyőre és az első soros portra.
  • A telepítőhöz: a telepített rendszeren a /var/log/moonlight-firstboot.log, valamint a journalctl -b -p warning.

Hová küldje

A nyilvános hibajegykezelőt és támogatási csatornát itt hirdetjük meg. Addig őrizze meg a jelentést: minden, aminek benne kell lennie, előáll a fenti két eszközből.