MoonLightOS

Ubuntun pohja ilman Ubuntun työpöytää

Millään muulla Linux-pohjalla ei ole yhtä laajaa pakettivarastoa eikä yhtä kattavaa laitetukea. Jo pelkkä linux-firmware kattaa valtaosan käytössä olevista Wi-Fi-, Bluetooth-, näytönohjain- ja piirisarjalaitteista, ja ubuntu-drivers-common hoitaa NVIDIAn näytönohjaimet kunnolla. Secure Boot toimii heti, koska Canonicalin allekirjoitettu shim ja GRUB ovat pakettivarastossa ja ydin on allekirjoitettu. Pohja saa lisäksi kaksitoista vuotta tietoturvapäivityksiä.

Ubuntun työpöytä oli se osa, joka kannatti korvata: se on raskas, eikä siinä ole käynnistyspainiketta, työpöydän kuvakkeita eikä tehtäväpalkkia. Cinnamonissa on kaikki kolme. Siksi MoonLightOS lähtee minimipohjasta ja rakentaa työpöydän sen päälle. Ubuntun omasta työpöydästä ei asenneta mitään, eikä mikään käyttäjälle näkyvä mainitse pohjaa.

Yksi asia jätetään tarkoituksella ennalleen: julkaisun koodinimi, jonka apt näkee, pysyy muodossa ”resolute”, koska PPA:t ja kaikki lsb_releasea kutsuva riippuvat siitä. Käyttäjälle näkyvä tuotenimi tulee tiedostosta /etc/os-release.

Kuvakaappaus MoonLightOS:stä
Logo pysyy paikallaan ja sen ympärillä oleva valo sykkii. Kaksi kehäkuvaa, joiden jaksot ovat 2,6 ja 3,1 sekuntia, ajautuvat vuoroin samaan ja eri vaiheeseen, joten hehku ei näytä koskaan koneelliselta. Molemmat luodaan lähdegrafiikasta käännösvaiheessa, ja sama logo kehineen näkyy GRUBin valikossa, kirjautumisnäkymässä, asennusohjelmassa, Tietoja-sivulla ja Tervetuloa-kierroksella.

Ulkoasu

Yksi paneeli alareunassa, korkeudeltaan 52 kuvapistettä. Vasemmalla käynnistyspainike ja hakukenttä, keskellä käynnissä olevat sovellukset paneelin suurimmilla kuvakkeilla, oikealla tilatiedot. Valikko näyttää kuvasi, nimesi ja sen, onko sinulla oikeus ylläpitää konetta, ja sen hakukenttä löytää sovellukset, asetukset, tiedostot ja verkkotulokset.

Kuvakaappaus MoonLightOS:stä
Kuvakaappaus on otettu asennetun levykuvan oikeasta käynnistyksestä, ei havainnekuvasta.

Kolme asettelua

  • MoonLight

    Yksi paneeli alareunassa. Telakassa ovat myös suosikkisovellukset, joten erillistä käynnistinriviä ei tarvita.

  • Kaksi paneelia

    Ohut palkki ylhäällä kellolle ja tilakuvakkeille, alhaalla telakka, joka piiloutuu automaattisesti.

  • Tiivis

    Yksi ohut palkki ylhäällä. Vie vähiten tilaa ruudulta ja on kevyin vaihtoehto vanhalle näytönohjaimelle.

Vaalea ja tumma

Molemmat teemat syntyvät yhdestä skriptistä ja yhdestä väripaletista, ja ne kattavat GTK 2:n, 3:n ja 4:n, Cinnamonin kuoren ja ikkunoiden reunat. GTK-teemat tuovat pohjaksi Adwaitan ja vaihtavat sen värit, joten uudet käyttöliittymäelementit ja yläjuoksun korjaukset tulevat mukaan itsestään. Kuvaketeema perustuu Papirukseen ja korvaa vain ne kuvakkeet, jotka kertovat jakelusta. Korostusvärin vaihtaa asetuksista Työpöytä ja telakka.

Ajastettu vaihto

Oletuksena vaalea kello 07.00 alkaen ja tumma kello 19.00 alkaen. Pieni taustapalvelu pitää teeman aikataulun mukaisena.

Työpöydän pienoisohjelmat

Oletuksena näkyvät iso kello sekä suorittimen, muistin ja levyn käyttöä seuraava mittari. Oikealla napsautuksella saat lisäksi kalenterin ja muistilaput, jotka tallentuvat tavallisena tekstinä sitä mukaa kun kirjoitat.

Käynnistysanimaatio

Logo pysyy paikallaan ja sen ympärillä oleva valo sykkii. Kaksi kehäkuvaa, joiden jaksot ovat 2,6 ja 3,1 sekuntia, ajautuvat vuoroin samaan ja eri vaiheeseen, joten hehku ei näytä koskaan koneelliselta. Molemmat luodaan lähdegrafiikasta käännösvaiheessa, ja sama logo kehineen näkyy GRUBin valikossa, kirjautumisnäkymässä, asennusohjelmassa, Tietoja-sivulla ja Tervetuloa-kierroksella.

Typografia

Inter käyttöliittymään, JetBrains Mono koodiin ja Noto kaikkeen muuhun, mukaan lukien kiina, japani, korea ja väriemojit.

Seitsemän taustakuvaa

Viisi valokuvaa, joissa on pingviini, järvi ja kuunsirppi, sekä yksi automaattisesti luotu päivä- ja yöpari. Julkaisun mukana tulee ”Auringonlasku järvellä”.

Näppäinyhdistelmät, jotka osaat jo

Windows ja macOS käyttävät eri näppäinyhdistelmiä lähes kaikkeen. Koska nämä kaksi joukkoa tuskin koskaan menevät päällekkäin, MoonLightOS tukee molempia: Super-näppäin noudattaa Windowsin tapoja ja Control-näppäin Macin tapoja.

ToimintoWindowsista tultaessamacOS:stä tultaessa
Avaa valikkoSuperSuper
HakuSuper+SpaceSuper+Space
TiedostotSuper+E—
Lukitse näyttöSuper+LCtrl+Super+Q
Näytä työpöytäSuper+DCtrl+Super+D
Kiinnitä ikkuna puolikkaaseenSuper+Left / Right—
Suurenna tai palautaSuper+Up / Super+DownAlt+F10 / Alt+F5
PienennäSuper+HAlt+F9
Sulje ikkunaAlt+F4Super+Q
Koko näyttöSuper+FCtrl+Super+F
Selaa ikkunoitaAlt+Tab, Super+TabAlt+Tab
Saman sovelluksen seuraava ikkunaAlt+`Super+`
Kaikki ikkunatSuper+WCtrl+Up
Kaikki työpöydätSuper+SCtrl+Down
Vaihda työpöytääCtrl+Alt+Left / RightCtrl+Left / Right
Siirrä ikkuna toiselle työpöydälleCtrl+Shift+Alt+Left / RightCtrl+Shift+Left / Right
AsetuksetSuper+ISuper+,
JärjestelmänvalvontaCtrl+Shift+Esc—
Suorita komentoSuper+R, Alt+F2—
PääteCtrl+Alt+TCtrl+Alt+T
SelainSuper+BSuper+B
LaskinSuper+CSuper+C
Mikseri ja taajuuskorjainSuper+ASuper+A
Leikepöydän historiaSuper+VSuper+V
MuistiinpanotSuper+NSuper+N
Muunna tiedostojaSuper+Shift+CSuper+Shift+C
Kuvakaappaus koko näytöstäPrintShift+Super+3
Kuvakaappaus alueestaShift+PrintShift+Super+4
Kuvakaappaus ikkunastaAlt+Print—
Kaappaus- ja tallennuspaneeliCtrl+Shift+PrintShift+Super+5
Kirjaudu ulosCtrl+Alt+Delete—

Kun viet osoittimen vasempaan yläkulmaan, ikkunoiden yleisnäkymä aukeaa. Pelkkä Super avaa valikon, ja Super+Space avaa sen kohdistin valmiina hakukentässä.

Kolme pakettimuotoa, yksi kauppa

Sekä apt, snap että Flatpak ovat asennettuina, ja GNOME Software listaa kaikki kolme: ensin snapit, sitten Ubuntun pakettivaraston paketit ja lopuksi Flathub. .deb-paketti on aina kevein vaihtoehto, ja Flathub kattaa loput.

Snap Store -sovellus on itse snap, jonka riippuvuudet vievät noin gigatavun — liikaa levykuvaan, joka on tarkoitettu myös 2 gigatavun koneille. Niinpä kauppa voi listata ja asentaa snapeja heti ensimmäisestä käynnistyksestä alkaen, ja palvelu lataa itse Snap Store -sovelluksen heti kun yhteys on käytettävissä.

Asetusten Sovellukset-sivu näyttää, mitä on asennettu, mistä kolmesta muodosta kukin sovellus on tullut ja onko jokin asennettu kahteen kertaan.

Levykuvan sovellukset

Valittu niin, että yleiskäyttöinen työpöytä toimii heti ensimmäisestä käynnistyksestä alkaen, myös ilman verkkoyhteyttä.

Internet

Firefox (Mozillan oma käännös, mukana uBlock Origin paikallisena laajennuksena, joten se on käytettävissä myös verkotta), Thunderbird, Geary, Transmission

Toimisto ja asiakirjat

LibreOffice Writer, Calc, Impress ja Draw; Evince; GNOME Text Editor; Xournal++; PDF Arranger; MoonLight PDF; kalenteri; kellot; sää; kartat; laskin

Media

VLC; Celluloid; Rhythmbox; GStreamer ja libav, ”bad”- ja ”ugly”-liitännäiset sekä VA-API, joten H.264, H.265 ja AAC toistuvat jokaisessa sovelluksessa

Grafiikka ja kuvanluku

GIMP; Drawing; Eye of GNOME; MoonLight Export; Simple Scan; fonttikatselin; kuvakaappaus

Järjestelmä

GNOME Software; järjestelmänvalvonta; levyt; GParted; levynkäytön analysointi; Timeshift; Redshift; File Roller; Seahorse; Blueman; tulostimet; MoonLight Tweaks

Verkko ja VPN

NetworkManager ja OpenVPN, OpenConnect (Cisco AnyConnect, GlobalProtect, Fortinet), L2TP, PPTP, SSH sekä sisäänrakennettu WireGuard-tuki

Kehitys

Visual Studio Code; gcc, g++, make, gdb; git, git-lfs; cmake, meson, ninja; Python 3 ja pip, venv, NumPy ja OpenCV; Node.js ja npm; Rust ja Cargo; Go; OpenJDK 21 sekä Maven ja Gradle; Docker Engine, Compose v2 ja Buildx; SQLite

Pääte

GNOME Terminal; bash, zsh ja fish; tmux, screen; Neovim, nano; ripgrep, fd, jq, yq, htop, btop, ncdu, tree; nmap, dig, whois, traceroute, httpie, socat; rsync, rclone, aria2; shellcheck; inxi, fastfetch

Windows-yhteensopivuus

Wine 32-bittisellä tuella, winetricks, DXVK (Direct3D 9–11) ja VKD3D (Direct3D 12)

Laitteisto ja ajurit

Laiteohjelmistot

Koko linux-firmware-kokoelma, Intelin ja AMD:n mikrokoodi sekä fwupd laiteohjelmistojen päivityksiin.

Näytönohjaimet

Mesa sekä Vulkan, VA-API ja VDPAU Intelille ja AMD:lle. NVIDIAn ajuri on mukana levykuvassa, joten sen voi ottaa käyttöön Ajurit-sivulta myös ilman verkkoyhteyttä.

Wi-Fi ja Ethernet

Yli viisikymmentä langatonta ajuria ytimessä, lisäksi broadcom-sta ja r8168 DKMS:llä käännettyinä niille piireille, joita vakioajurit hoitavat huonosti.

Tulostimet ja kuvanlukijat

CUPS täydellä ajurivalikoimalla, tulostus PDF-muotoon, SANE ja Simple Scan.

Bluetooth

BlueZ, Blueman ja PipeWiren Bluetooth-koodekit, sekä asetussivu, joka kertoo selvästi jos koneessa ei ole Bluetooth-laitteistoa.

Ääni

PipeWire ja WirePlumber, PulseAudio-yhteensopivuus sekä sisäänrakennettu kymmenkaistainen taajuuskorjain.

Kannettavat

power-profiles-daemon, thermald, akun varaus paneelissa, napautus napsautuksena ja luonnollinen vieritys oletuksena käytössä, Wacom- ja Synaptics-syöttölaitetuki.

Virtuaalikoneet

Mukana ovat vieraslisäosat VirtualBoxille, QEMU/SPICElle ja VMwarelle, joten näyttö mukautuu ja leikepöytä on yhteinen.

Sormenjälkilukijat

fprintd, libfprint ja TOD-lataaja on asennettu ja kytketty PAMiin. MoonLight Fingerprint tunnistaa anturin ja opastaa sormenjäljen tallennuksessa.

Kasvontunnistus

OpenCV-pohjainen kasvontunnistus kirjautumisnäkymään, lukitusnäyttöön ja sudoon. Pois käytöstä, kunnes otat sen käyttöön.

Tietoturva

Kaikki alla mainittu on oletuksena käytössä asennetussa MoonLightOS-järjestelmässä.

  • Secure Boot

    Laiteohjelmisto → Canonicalin shim → allekirjoitettu GRUB → allekirjoitettu ydin. Asetukset → Tietoja kertoo, onko se koneessasi käytössä.

  • Levyn salaus

    Koko levyn LUKS2-salaus on asennusohjelmassa yhden valintaruudun takana.

  • Palomuuri

    ufw on käytössä: saapuvat yhteydet estetään ja lähtevät sallitaan.

  • AppArmor

    Valvovassa tilassa, myös snapeille.

  • Automaattiset tietoturvapäivitykset

    Ubuntun tietoturvavarastosta ja osoitteesta packages.mozilla.org, joka päivä. Käyttämättömät ytimet ja riippuvuudet poistetaan, eikä kone käynnisty koskaan itsekseen uudelleen.

  • Lukittu pääkäyttäjätili, jäljitettävä sudo

    Ensimmäinen käyttäjätili ylläpitää konetta sudon kautta. Root-salasanaa ei aseteta koskaan.

  • Salasanan laatu ja tilin lukitus

    Vähintään kahdeksan merkkiä kahdesta merkkiluokasta. Kahdeksan väärän yrityksen jälkeen tili lukitaan viideksitoista minuutiksi.

  • Ytimen kovennus

    Ydin on asetettu rajoittamaan sitä, mitä oikeudettomat ohjelmat voivat saada selville järjestelmästä ja toisistaan: ytimen osoittimet ja käynnistysviestit on piilotettu, toisen prosessin virheenjäljitys on estetty eikä korvaavaa ydintä voi ladata ajon aikana. Verkkokerros on kovennettu väärennettyjä reittejä ja yhteystulvia vastaan, ja IPv6-osoitteet vaihtuvat säännöllisesti.

  • Pienempi hyökkäyspinta

    FireWireä ja joukkoa harvoin tarvittavia tiedostojärjestelmä- ja verkkoprotokollamoduuleja ei voi ladata automaattisesti, joten kiinnitetty laite tai saapuva paketti ei voi vetää mukanaan koodia, jota tämä kone ei koskaan käytä.

  • Ainutkertainen ensimmäisestä käynnistyksestä

    Koneen tunniste ja SSH-avaimet luodaan asennetulla koneella. Jokaisella asennuksella yhteinen avain tekisi koneen varmentamisesta turhaa.

  • Ei telemetriaa

    Virheraportointi- ja käyttötilastopalveluja ei ole levykuvassa. Firefoxin tiedonkeruu, tutkimukset, Pocket ja mainostettu sisältö on poistettu käytöstä käytännöillä, ja seurannan esto on päällä.

  • USB-suojaus

    USBGuard on asennettuna, joten lukitun näytön aikana liitettyyn laitteeseen ei luoteta. Pois käytöstä oletuksena; yksi painike Tietoturva-sivulla ottaa sen käyttöön.

  • Hätäsalasana

    Toinen salasana, joka tekee jotain muuta kuin kirjaa sinut sisään. Tuhotila hävittää levyn LUKS-avaimet ja sammuttaa koneen; harhautustila avaa tyhjän istunnon ja jäädyttää sen viiden minuutin kuluttua. Pois käytöstä oletuksena, vaatii oikean salasanasi käyttöönottoon eikä voi olla sama kuin se.

  • Käynnistysvalikon salasana

    Tarjolla Tietoturva-sivulla, koska muuten kuka tahansa koneen uudelleen käynnistävä voisi muokata käynnistysvalikkoa ja avata root-kuoren.

  • Selkeät tunnistautumiskyselyt

    Jokaisella MoonLight-apuohjelmalla on nimetty polkit-toiminto, joten salasanakysely kertoo mihin olet suostumassa.

Kuvakaappaus MoonLightOS:stä
Kuvakaappaus on otettu asennetun levykuvan oikeasta käynnistyksestä, ei havainnekuvasta.

Koneilla, joissa on vähän muistia

Pakattu muisti (zram)Puolet muistista, enintään 8 Gt, zstd-pakkaus, prioriteetti 100. Työpöydän muistisivuilla pakkaussuhde on noin 3:1.
Sivutuksen viritysYtimen oletusarvo 60 olettaa, että sivutus tarkoittaa levyhakua. zramin kanssa se tarkoittaa muistikopiota.
Suoja muistin loppumiseltaToimii 4 prosentin vapaassa muistissa ja lähettää SIGKILLin 2 prosentissa. Ei pysäytä koskaan Cinnamonia, Xorgia, LightDM:ää tai Nemoa; pysäyttää ensin Firefoxin, Thunderbirdin, Coden, LibreOfficen ja kääntäjät.
Ei indeksointiaEi trackeria eikä levyn taustaselausta.
Automaattinen grafiikan viritysKirjauduttaessa järjestelmä tarkistaa OpenGL-piirtäjän. Jos se on llvmpipe tai muu ohjelmistopiirtäjä, animaatiot kytketään pois. Myöhempää omaa valintaasi ei ohiteta koskaan.
GRUBPyytää vaatimatonta grafiikkatilaa varavaihtoehtoineen, joten valikko näkyy myös virtuaalikoneessa, jossa on vähän näyttömuistia.
SquashfsPakattu zstd:llä, joten live-istunto latautuu nopeasti USB-tikulta.

Kielet

Alkuasetukset tarjoavat lyhyessä listassa englannin (USA ja Britannia), italian, ranskan, saksan, espanjan, brasilianportugalin, hollannin, puolan ja venäjän, ja kaikki muut maa-asetukset kohdasta ”Lisää kieliä”. Näppäimistöasettelu seuraa valittua kieltä, joten toinen vaihe vaatii yleensä vain napsautuksen Seuraava-painiketta.

Kaikki MoonTools-sovellukset, yhteensä 774 tekstiä, on käännetty näille kahdeksalle kielelle englannin lisäksi, ja käännös epäonnistuu jos ohjelmassa on näkyvä teksti jota ei ole käännetty. Italian kielipaketti ja LibreOfficen sanastot ovat levykuvassa, joten verkoton asennus Italiassa on täysin kotoistettu; muut kielipaketit voi ladata yhdellä napsautuksella.

Komentorivityökalut pysyvät tarkoituksella englanniksi: niiden tulostetta luetaan dokumentaation rinnalla ja liitetään virheraportteihin, ja se on helpompaa yhdellä kielellä.

Kuvakaappaus MoonLightOS:stä

Suunnitteluratkaisut, jotka kannattaa tietää

  • GTK-teemat tuovat pohjaksi Adwaitan ja vaihtavat sen värit.

    Käsin kirjoitettu teema hajoaa aina kun GTK lisää uuden elementin. Tämä perii yläjuoksun korjaukset.

  • Cinnamonin System Info -sivu ohitetaan, ei poisteta.

    Cinnamonin päivitys ei voi palauttaa sitä huomaamatta oman sivumme viereen, ja MoonLightOS-pakettien poisto toisi sen takaisin siististi.

  • Squashfs pitää oman kopionsa ytimestä.

    Sama squashfs on se, jonka asennusohjelma kopioi levylle. Jos /boot poistettaisiin siitä, asentuisi järjestelmä joka ei käynnisty.

  • Käynnistysteeman nimi on moonlightos, ei moonlight.

    Debianin desktop-base-paketissa on jo Plymouth-teema nimeltä moonlight, ja päivitys korvaisi animaation huomaamatta.

  • uBlock Origin on mukana levykuvassa, ei ladattava.

    Osoitteeseen addons.mozilla.org osoittava käytäntö asentaa laajennuksen vain ensimmäisellä kerralla, kun Firefox käynnistyy toimivalla yhteydellä. Laajennus on levykuvassa, ja sen voi silti poistaa.

  • Docker Engine eikä Docker Desktop.

    Linuxissa Docker Desktop ajaa moottorin omassa virtuaalikoneessaan, mikä tarkoittaa toista ydintä ja toista muistibudjettia kannettavassa.

  • Raskaat kehityspaketit ovat valinnaisia.

    Virtuaalikoneet, PHP tietokantoineen ja LaTeX ovat napsautuksen päässä Tervetuloa-sovelluksessa, sen sijaan että jokainen asennus kantaisi gigatavua mukanaan.