Widżety na pulpicie
Domyślnie widać duży zegar oraz monitor procesora, pamięci i dysku. Prawym przyciskiem myszy można dołożyć kalendarz i karteczki, których treść zapisuje się jako zwykły tekst w trakcie pisania.
Wszystko, co znalazło się na obrazie, i powody, dla których tam jest.
Żadna inna podstawa Linuksa nie ma tak dużego repozytorium pakietów i tak szerokiej obsługi sprzętu jak Ubuntu. Sam pakiet linux-firmware obsługuje większość używanych układów Wi-Fi, Bluetooth, kart graficznych i chipsetów, a ubuntu-drivers-common porządnie radzi sobie z kartami NVIDIA. Secure Boot działa od razu, bo w repozytorium leżą podpisany shim Canonicala i podpisany GRUB, a jądro też jest podpisane. Do tego podstawa dostaje dwanaście lat poprawek bezpieczeństwa.
Wymiany wart był sam pulpit Ubuntu: jest ciężki, nie ma przycisku Start, ikon na pulpicie ani paska zadań. Cinnamon ma to wszystko. Dlatego MoonLightOS wychodzi od minimalnej podstawy i dopiero na niej stawia pulpit. Pulpit Ubuntu nie jest instalowany, a nic z tego, co widzi użytkownik, nie wspomina o podstawie.
Jedno zostało celowo bez zmian: nazwa kodowa wydania, którą widzi apt, to nadal „resolute”, bo opierają się na niej repozytoria PPA i wszystko, co wywołuje lsb_release. Nazwy i logo, które widać na ekranie, pochodzą z /etc/os-release.
Jeden panel u dołu, o wysokości 52 pikseli. Po lewej przycisk Start i pole wyszukiwania, na środku uruchomione programy z największymi ikonami na panelu, po prawej obszar powiadomień. Menu pokazuje zdjęcie i nazwę użytkownika oraz to, czy może on administrować komputerem, a jego pole wyszukiwania znajduje programy, ustawienia, pliki i wyniki z internetu.
Jeden panel u dołu. W doku mieszczą się też ulubione programy, więc nie ma drugiego rzędu skrótów.
Wąski pasek u góry na zegar i ikony stanu oraz dok u dołu, który chowa się automatycznie.
Jeden wąski pasek u góry. Zajmuje najmniej miejsca na ekranie i jest najlżejszy dla starej karty graficznej.
Oba motywy powstają w jednym skrypcie z jednej palety barw i obejmują GTK 2, 3 i 4, powłokę Cinnamona oraz obramowania okien. Motywy GTK importują Adwaitę i zmieniają jej kolory, więc nowe elementy interfejsu i poprawki od autorów trafiają do systemu same. Motyw ikon opiera się na Papirusie i podmienia tylko te ikony, które identyfikują dystrybucję. Kolor wyróżnienia zmienia się w panelu Pulpit i dok.
Domyślnie jasny od 7:00, ciemny od 19:00. Niewielka usługa w tle pilnuje, żeby motyw zgadzał się z harmonogramem.
Domyślnie widać duży zegar oraz monitor procesora, pamięci i dysku. Prawym przyciskiem myszy można dołożyć kalendarz i karteczki, których treść zapisuje się jako zwykły tekst w trakcie pisania.
Logo stoi nieruchomo, a światło wokół niego pulsuje. Dwie poświaty o cyklach 2,6 i 3,1 sekundy raz rozchodzą się w fazie, raz znów ją zgrywają, więc blask nigdy nie wygląda mechanicznie. Obie powstają z grafiki źródłowej podczas budowania, a to samo logo i ta sama poświata pojawiają się w menu GRUB-a, na ekranie logowania, w instalatorze, w panelu O systemie i w oknie Witaj.
Inter w interfejsie, JetBrains Mono w kodzie i Noto do wszystkiego innego, łącznie z chińskim, japońskim, koreańskim i kolorowymi emoji.
Pięć zdjęć z pingwinem, jeziorem i sierpem księżyca oraz wygenerowana para dzień i noc. Wydanie startuje z tapetą „Zachód słońca nad jeziorem”.
Windows i macOS mają inne skróty klawiszowe do niemal wszystkiego. Te dwa zestawy prawie nigdy nie wchodzą sobie w drogę, więc MoonLightOS obsługuje oba: klawisz Super odpowiada za skróty znane z Windows, a Control za te z macOS.
| Czynność | Jak w Windows | Jak w macOS |
|---|---|---|
| Otwarcie menu | Super | Super |
| Wyszukiwanie | Super+Spacja | Super+Spacja |
| Menedżer plików | Super+E | — |
| Zablokowanie ekranu | Super+L | Ctrl+Super+Q |
| Pokazanie pulpitu | Super+D | Ctrl+Super+D |
| Przyciągnięcie okna do połowy ekranu | Super+Lewo / Prawo | — |
| Maksymalizacja i przywrócenie | Super+Góra / Super+Dół | Alt+F10 / Alt+F5 |
| Minimalizacja | Super+H | Alt+F9 |
| Zamknięcie okna | Alt+F4 | Super+Q |
| Pełny ekran | Super+F | Ctrl+Super+F |
| Przechodzenie między oknami | Alt+Tab, Super+Tab | Alt+Tab |
| Następne okno tego programu | Alt+` | Super+` |
| Wszystkie okna | Super+W | Ctrl+Góra |
| Wszystkie pulpity | Super+S | Ctrl+Dół |
| Zmiana pulpitu | Ctrl+Alt+Lewo / Prawo | Ctrl+Lewo / Prawo |
| Przeniesienie okna na inny pulpit | Ctrl+Shift+Alt+Lewo / Prawo | Ctrl+Shift+Lewo / Prawo |
| Ustawienia | Super+I | Super+, |
| Monitor systemu | Ctrl+Shift+Esc | — |
| Uruchomienie polecenia | Super+R, Alt+F2 | — |
| Terminal | Ctrl+Alt+T | Ctrl+Alt+T |
| Przeglądarka | Super+B | Super+B |
| Kalkulator | Super+C | Super+C |
| Mikser i korektor dźwięku | Super+A | Super+A |
| Historia schowka | Super+V | Super+V |
| Notatki | Super+N | Super+N |
| Konwersja plików | Super+Shift+C | Super+Shift+C |
| Zrzut całego ekranu | Shift+Super+3 | |
| Zrzut wybranego obszaru | Shift+Print | Shift+Super+4 |
| Zrzut okna | Alt+Print | — |
| Panel zrzutów i nagrywania | Ctrl+Shift+Print | Shift+Super+5 |
| Wylogowanie | Ctrl+Alt+Delete | — |
Przesunięcie wskaźnika w lewy górny róg ekranu otwiera podgląd okien. Sam klawisz Super otwiera menu, a Super+Spacja otwiera je z kursorem już w polu wyszukiwania.
W systemie są apt, snap i Flatpak, a GNOME Software pokazuje wszystkie trzy źródła: najpierw snapy, potem pakiety z repozytorium Ubuntu, na końcu Flathub. Pakiet .deb jest zawsze najlżejszy, a Flathub uzupełnia resztę.
Program Snap Store sam jest snapem, a jego zależności zajmują około gigabajta, czyli za dużo na obraz przeznaczony dla komputerów z 2 GB pamięci RAM. Dlatego sklep od pierwszego uruchomienia potrafi wyszukiwać i instalować snapy, a sam program Snap Store dociąga usługa, gdy tylko pojawi się połączenie z internetem.
Panel ustawień Aplikacje pokazuje, co jest zainstalowane, z którego z trzech formatów pochodzi każdy program i czy czegoś nie ma podwójnie.
Dobrane tak, żeby komputer do wszystkiego działał od pierwszego uruchomienia, także bez internetu.
Firefox (wersja przygotowana przez Mozillę, z uBlock Origin dołączonym jako lokalne rozszerzenie, więc dostępnym też bez internetu), Thunderbird, Geary, Transmission
LibreOffice Writer, Calc, Impress i Draw; Evince; Edytor tekstu GNOME; Xournal++; PDF Arranger; MoonLight PDF; Kalendarz; Zegar; Pogoda; Mapy; Kalkulator
VLC; Celluloid; Rhythmbox; GStreamer z libav, zestawami wtyczek „bad” i „ugly” oraz VA-API, dzięki czemu H.264, H.265 i AAC odtwarza każdy program
GIMP; Rysowanie; Eye of GNOME; MoonLight Export; Proste skanowanie; Przeglądarka czcionek; Zrzut ekranu
GNOME Software; Monitor systemu; Dyski; GParted; Analizator wykorzystania dysku; Timeshift; Redshift; Menedżer archiwów; Seahorse; Blueman; Drukarki; MoonLight Tweaks
NetworkManager z obsługą OpenVPN, OpenConnect (Cisco AnyConnect, GlobalProtect, Fortinet), L2TP, PPTP, SSH oraz wbudowaną obsługą WireGuard
Visual Studio Code; gcc, g++, make, gdb; git, git-lfs; cmake, meson, ninja; Python 3 z pip, venv, NumPy i OpenCV; Node.js i npm; Rust i Cargo; Go; OpenJDK 21 z Mavenem i Gradle; Docker Engine, Compose v2 i Buildx; SQLite
GNOME Terminal; bash, zsh i 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
Wine z obsługą programów 32-bitowych, winetricks, DXVK (Direct3D od 9 do 11) i VKD3D (Direct3D 12)
Pełny zestaw linux-firmware, mikrokod Intela i AMD oraz fwupd do aktualizacji firmware'u.
Mesa z Vulkanem, VA-API i VDPAU dla układów Intela i AMD. Sterownik NVIDII jest na obrazie ISO, więc da się go włączyć w panelu Sterowniki nawet bez internetu.
W jądrze ponad pięćdziesiąt sterowników bezprzewodowych, a do tego broadcom-sta i r8168 zbudowane przez DKMS dla układów, z którymi standardowe sterowniki radzą sobie słabo.
CUPS z pełnym zestawem sterowników, drukowanie do PDF, SANE i Proste skanowanie.
BlueZ, Blueman i kodeki Bluetooth z PipeWire, a w ustawieniach panel, który wprost informuje, kiedy komputer nie ma układu Bluetooth.
PipeWire z WirePlumberem, zgodność z PulseAudio i wbudowany dziesięciopasmowy korektor.
power-profiles-daemon, thermald, procent baterii na panelu, domyślnie włączone klikanie dotknięciem i naturalne przewijanie, obsługa urządzeń Wacom i Synaptics.
Na obrazie są dodatki gościa dla VirtualBox, QEMU/SPICE i VMware, dzięki czemu rozdzielczość dopasowuje się do okna, a schowek jest wspólny.
fprintd, libfprint i ładowarka TOD są zainstalowane i zintegrowane z PAM. MoonLight Fingerprint rozpoznaje czytnik i prowadzi przez rejestrację odcisku.
Odblokowanie twarzą oparte na OpenCV, działające na ekranie logowania, na ekranie blokady i przy sudo. Nieaktywne, dopóki go nie włączysz.
Wszystko poniżej jest domyślnie włączone w zainstalowanym MoonLightOS.
Firmware → shim Canonicala → podpisany GRUB → podpisane jądro. W Ustawieniach → O systemie widać, czy na tym komputerze jest włączony.
Szyfrowanie całego dysku LUKS2 to jedno pole wyboru w instalatorze.
ufw jest włączona: połączenia przychodzące są blokowane, wychodzące dozwolone.
Tryb wymuszania, również dla snapów.
Codziennie, z repozytorium bezpieczeństwa Ubuntu i z packages.mozilla.org. Nieużywane jądra i zależności są usuwane, a komputer nigdy nie uruchamia się ponownie sam.
Pierwsze konto administruje komputerem przez sudo. Hasło roota nie jest nigdy ustawiane.
Co najmniej osiem znaków z dwóch klas znaków. Po ośmiu błędnych próbach konto zostaje zablokowane na piętnaście minut.
Jądro jest skonfigurowane tak, by ograniczyć to, czego programy bez uprawnień mogą dowiedzieć się o systemie i o sobie nawzajem: wskaźniki jądra i komunikaty startowe są ukryte, debugowanie cudzego procesu jest zablokowane, a wczytanie zastępczego jądra w trakcie pracy wyłączone. Stos sieciowy jest utwardzony przeciw podrobionym trasom i zalewom połączeń, a adresy IPv6 są okresowo zmieniane.
FireWire oraz zestaw rzadko potrzebnych modułów systemów plików i protokołów sieciowych nie mogą zostać wczytane automatycznie, więc podłączone urządzenie ani odebrany pakiet nie wciągną kodu, z którego ten komputer nigdy nie korzysta.
Identyfikator komputera i klucze SSH powstają na zainstalowanym komputerze. Klucz identyczny w każdej instalacji odbierałby sens weryfikacji hosta.
Usług zgłaszania błędów i statystyk użycia nie ma w obrazie. Telemetria przeglądarki Firefox, badania, Pocket i treści sponsorowane są wyłączone zasadami, a ochrona przed śledzeniem jest włączona.
USBGuard jest zainstalowany, więc urządzenie podłączone przy zablokowanym ekranie nie jest zaufane. Domyślnie wyłączony, włącza go jeden przycisk w panelu Bezpieczeństwo.
Drugie hasło, które robi coś innego niż zalogowanie. Tryb czyszczenia niszczy klucze LUKS dysku i wyłącza komputer, a tryb pułapki otwiera pustą sesję i zawiesza ją po pięciu minutach. Domyślnie nieaktywne, do ustawienia potrzebne jest prawdziwe hasło, a oba nie mogą być takie same.
Do ustawienia w panelu Bezpieczeństwo, bo inaczej każdy, kto może ponownie uruchomić komputer, zmieni wpis w menu i otworzy powłokę roota.
Każde narzędzie pomocnicze MoonLight ma własną, nazwaną akcję polkit, więc okno z pytaniem o hasło mówi, na co się zgadzasz.
| Skompresowana pamięć (zram) | Połowa pamięci RAM, maksymalnie 8 GB, kompresja zstd, priorytet 100. Strony pamięci pulpitu kompresują się mniej więcej 3:1. |
|---|---|
| Strojenie wymiany | Domyślne 60 w jądrze zakłada, że użycie przestrzeni wymiany oznacza sięganie na dysk. Przy zramie oznacza przepisanie pamięci. |
| Ochrona przed brakiem pamięci | Wkracza przy 4 % wolnej pamięci, a przy 2 % wysyła SIGKILL. Nigdy nie zatrzymuje Cinnamona, Xorga, LightDM ani Nemo; jako pierwsze zamyka Firefoksa, Thunderbirda, Code, LibreOffice i kompilatory. |
| Bez indeksowania | Żadnego trackera i żadnego skanowania dysku w tle. |
| Automatyczne dostrojenie grafiki | Przy logowaniu system sprawdza, co renderuje OpenGL. Jeśli to llvmpipe albo inny renderer programowy, animacje zostają wyłączone. Późniejszy wybór użytkownika nigdy nie jest nadpisywany. |
| GRUB | Prosi o skromny tryb graficzny i ma tryby zapasowe, więc menu pojawia się także w maszynie wirtualnej z małą pamięcią wideo. |
| Squashfs | Spakowany algorytmem zstd, dzięki czemu sesja live szybko wczytuje się z pendrive'a. |
Kreator pierwszego uruchomienia podaje krótką listę: angielski (amerykański i brytyjski), włoski, francuski, niemiecki, hiszpański, portugalski brazylijski, niderlandzki, polski i rosyjski, a wszystkie pozostałe ustawienia regionalne kryją się pod „Więcej języków”. Układ klawiatury idzie za wybranym językiem, więc w drugim kroku zwykle wystarczy kliknąć Dalej.
Wszystkie programy MoonTools, łącznie 774 napisy, są przetłumaczone na te osiem języków poza angielskim, a budowanie kończy się błędem, gdy w programie zostanie widoczny napis bez tłumaczenia. Na obrazie jest włoski pakiet językowy i słowniki LibreOffice, więc instalacja bez internetu we Włoszech jest w pełni zlokalizowana; pozostałe pakiety językowe pobiera się jednym kliknięciem.
Narzędzia wiersza polecenia celowo zostają po angielsku: ich wyniki czyta się razem z dokumentacją i wkleja do zgłoszeń błędów, a z jednym językiem jest to po prostu łatwiejsze.
Motyw pisany ręcznie psuje się przy każdym nowym elemencie interfejsu w GTK. Ten dziedziczy poprawki od autorów.
Aktualizacja Cinnamona nie przywróci go po cichu obok naszego, a po usunięciu pakietów MoonLightOS wraca na swoje miejsce bez żadnych śladów.
To ten sam squashfs, który instalator kopiuje na dysk. Usunięcie z niego katalogu /boot dałoby system, którego nie da się uruchomić.
Debianowy pakiet desktop-base ma już motyw Plymouth o nazwie moonlight, a aktualizacja po cichu podmieniłaby animację.
Reguła zasad wskazująca addons.mozilla.org zainstaluje rozszerzenie tylko wtedy, gdy Firefox pierwszy raz uruchomi się z działającym połączeniem. Rozszerzenie leży na obrazie, a usunąć je można w każdej chwili.
W Linuksie Docker Desktop uruchamia silnik we własnej maszynie wirtualnej, czyli na laptopie dochodzi drugie jądro i drugi budżet pamięci.
Maszyny wirtualne, PHP z bazami danych i LaTeX czekają w oknie Witaj na jedno kliknięcie, zamiast gigabajta, który targałaby każda instalacja.