Віджети на робочому столі
Типово показано великий годинник і монітор процесора, пам’яті та диска. Правою кнопкою можна додати календар і наліпки, які зберігаються як звичайний текст просто під час набору.
Усе, що є в образі, і причини, чому саме так.
Ubuntu має найширший репозиторій пакетів і найкращу підтримку обладнання серед усіх основ Linux. Один лише пакет linux-firmware покриває переважну більшість Wi-Fi, Bluetooth, графіки та чипсетів, які зараз у вжитку, а ubuntu-drivers-common як слід дає раду картам NVIDIA. Secure Boot працює без підготовки, бо підписані shim і GRUB від Canonical лежать у репозиторії, а ядро підписане. А ще ця основа має дванадцять років супроводу з безпеки.
Замінити варто було саме робочий стіл Ubuntu: він важкий, і в ньому немає ні кнопки «Пуск», ні піктограм на столі, ні панелі завдань. У Cinnamon усе це є. Тому MoonLightOS починає з мінімальної основи й будує робочий стіл сам. Власного робочого стола Ubuntu в системі немає, і ніде в інтерфейсі основа не згадується.
Одне залишено незмінним свідомо: кодова назва випуску, яку бачить apt, і далі «resolute», бо від неї залежать PPA й усе, що звертається до lsb_release. Назви, які справді бачать люди, беруться з /etc/os-release.
Одна панель унизу, висотою 52 пікселі. Ліворуч — кнопка «Пуск» і поле пошуку, у центрі — запущені програми з найбільшими піктограмами на панелі, праворуч — область стану. У меню видно ваше фото, ім’я та чи маєте ви права адміністратора, а його поле пошуку знаходить програми, налаштування, файли й результати з інтернету.
Одна панель унизу. У доці живуть і улюблені програми, тому другий рядок із ярликами не потрібен.
Тонка смужка вгорі для годинника й піктограм стану та док унизу, який ховається сам.
Одна тонка смужка вгорі. Займає найменше місця на екрані й найменше навантажує стару графіку.
Обидві теми генерує один скрипт з однієї колірної палітри — для GTK 2, 3 і 4, оболонки Cinnamon і рамок вікон. Теми GTK імпортують Adwaita й змінюють її кольори, тому нові елементи та виправлення з основного проєкту з’являються самі. Тема піктограм побудована на Papirus і замінює лише ті піктограми, що визначають дистрибутив. Колір акценту змінюється в розділі «Робочий стіл і док».
Типово світла з 07:00 і темна з 19:00. Невелика фонова служба перемикає тему за цим розкладом.
Типово показано великий годинник і монітор процесора, пам’яті та диска. Правою кнопкою можна додати календар і наліпки, які зберігаються як звичайний текст просто під час набору.
Логотип стоїть нерухомо, а світло навколо нього пульсує. Два зображення сяйва з циклами 2,6 і 3,1 секунди то сходяться, то розходяться у фазі, тому світіння ніколи не виглядає механічним. Обидва генеруються з вихідної графіки під час збірки, і той самий логотип із сяйвом ви побачите в меню GRUB, на екрані входу, у встановлювачі, на сторінці «Про MoonLightOS» і у вікні «Вітаємо».
Inter для інтерфейсу, JetBrains Mono для коду й Noto для всього іншого, включно з китайською, японською, корейською та кольоровими емодзі.
П’ять фотографічних сюжетів із пінгвіном, озером і молодим місяцем плюс генерована пара «день — ніч». У випуску типово стоїть «Захід сонця над озером».
Windows і macOS майже для всього мають різні клавіатурні скорочення. Оскільки два набори майже не конфліктують, MoonLightOS підтримує обидва: клавіша Super діє за правилами Windows, а Control — за правилами Mac.
| Дія | Як у Windows | Як у macOS |
|---|---|---|
| Відкрити меню | Super | Super |
| Пошук | Super+Space | Super+Space |
| Файловий менеджер | Super+E | — |
| Заблокувати екран | Super+L | Ctrl+Super+Q |
| Показати робочий стіл | Super+D | Ctrl+Super+D |
| Прикріпити вікно до половини екрана | Super+Left / Right | — |
| Розгорнути / відновити | Super+Up / Super+Down | Alt+F10 / Alt+F5 |
| Згорнути | Super+H | Alt+F9 |
| Закрити вікно | Alt+F4 | Super+Q |
| На весь екран | Super+F | Ctrl+Super+F |
| Перебір вікон | Alt+Tab, Super+Tab | Alt+Tab |
| Наступне вікно цієї програми | Alt+` | Super+` |
| Усі вікна | Super+W | Ctrl+Up |
| Усі робочі столи | Super+S | Ctrl+Down |
| Перейти на інший робочий стіл | Ctrl+Alt+Left / Right | Ctrl+Left / Right |
| Перенести вікно на інший робочий стіл | Ctrl+Shift+Alt+Left / Right | Ctrl+Shift+Left / Right |
| Налаштування | Super+I | Super+, |
| Системний монітор | Ctrl+Shift+Esc | — |
| Виконати команду | Super+R, Alt+F2 | — |
| Термінал | Ctrl+Alt+T | Ctrl+Alt+T |
| Браузер | Super+B | Super+B |
| Калькулятор | Super+C | Super+C |
| Мікшер і еквалайзер | Super+A | Super+A |
| Історія буфера обміну | Super+V | Super+V |
| Нотатки | Super+N | Super+N |
| Перетворення файлів | Super+Shift+C | Super+Shift+C |
| Знімок усього екрана | Shift+Super+3 | |
| Знімок області | Shift+Print | Shift+Super+4 |
| Знімок вікна | Alt+Print | — |
| Панель знімків і запису | Ctrl+Shift+Print | Shift+Super+5 |
| Вийти з сеансу | Ctrl+Alt+Delete | — |
Якщо навести вказівник у верхній лівий кут, відкривається огляд вікон. Сама клавіша Super відкриває меню, а Super+Space — меню з курсором уже в полі пошуку.
apt, snap і Flatpak встановлені всі три, і GNOME Software показує результати з усіх: спершу snap, далі пакети з репозиторію Ubuntu, потім Flathub. Пакет .deb завжди найлегший варіант, а Flathub закриває все інше.
Сама програма Snap Store — це snap, залежності якого важать близько гігабайта: завелико для образу, розрахованого на комп’ютери з 2 ГБ оперативної пам’яті. Тому магазин може показувати й встановлювати snap-пакети з першого запуску, а окрема служба завантажує саму програму Snap Store, щойно з’явиться з’єднання.
Сторінка налаштувань «Програми» показує, що встановлено, з якого з трьох форматів походить кожна програма і чи немає чогось установленого двічі.
Підібрані так, щоб універсальний робочий стіл працював з першого запуску — навіть без інтернету.
Firefox (власна збірка Mozilla, з uBlock Origin у вигляді локального розширення, тому він працює навіть без мережі), Thunderbird, Geary, Transmission
LibreOffice Writer, Calc, Impress і Draw; Evince; текстовий редактор GNOME; Xournal++; PDF Arranger; MoonLight PDF; Календар; Годинник; Погода; Карти; Калькулятор
VLC; Celluloid; Rhythmbox; GStreamer з libav, наборами розширень «bad» і «ugly» та VA-API, тому H.264, H.265 і AAC грають у кожній програмі
GIMP; Малювання; Eye of GNOME; MoonLight Export; Simple Scan; переглядач шрифтів; Знімок екрана
GNOME Software; системний монітор; Диски; GParted; аналізатор використання диска; Timeshift; Redshift; File Roller; Seahorse; Blueman; принтери; MoonLight Tweaks
NetworkManager з OpenVPN, OpenConnect (Cisco AnyConnect, GlobalProtect, Fortinet), L2TP, PPTP, SSH і вбудованою підтримкою WireGuard
Visual Studio Code; gcc, g++, make, gdb; git, git-lfs; cmake, meson, ninja; Python 3 з pip, venv, NumPy і OpenCV; Node.js і npm; Rust і Cargo; Go; OpenJDK 21 з Maven і Gradle; Docker Engine, Compose v2 і Buildx; SQLite
GNOME Terminal; bash, zsh і 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 з підтримкою 32 біт, winetricks, DXVK (Direct3D 9—11) і VKD3D (Direct3D 12)
Повний набір linux-firmware, мікрокод Intel і AMD та fwupd для оновлення мікропрограм.
Mesa з Vulkan, VA-API і VDPAU для Intel та AMD. Драйвер NVIDIA лежить на образі ISO, тому його можна ввімкнути на сторінці драйверів навіть без інтернету.
Понад п’ятдесят драйверів бездротових адаптерів у ядрі, а також broadcom-sta і r8168, зібрані через DKMS для тих чипів, із якими стандартні драйвери справляються погано.
CUPS із повним набором драйверів, друк у PDF, SANE і Simple Scan.
BlueZ, Blueman і кодеки Bluetooth від PipeWire, а сторінка налаштувань прямо повідомляє, якщо в комп’ютері немає обладнання Bluetooth.
PipeWire з WirePlumber, сумісністю з PulseAudio і вбудованим десятисмуговим еквалайзером.
power-profiles-daemon, thermald, відсоток заряду на панелі, типово ввімкнені дотик замість клацання та природне прокручування, підтримка Wacom і Synaptics.
Гостьові доповнення для VirtualBox, QEMU/SPICE і VMware уже на образі, тому екран змінює розмір, а буфер обміну спільний.
fprintd, libfprint і завантажувач TOD установлені та з’єднані з PAM. «Відбиток пальця» визначає сенсор і проведе вас через реєстрацію.
Розблокування обличчям на основі OpenCV для екрана входу, екрана блокування та sudo. Вимкнене, поки ви самі його не ввімкнете.
У встановленій системі MoonLightOS усе, що перелічено нижче, увімкнено типово.
Мікропрограма → shim від Canonical → підписаний GRUB → підписане ядро. «Налаштування» → «Про MoonLightOS» показує, чи ввімкнено його на вашому комп’ютері.
Шифрування всього диска LUKS2 — одна позначка у встановлювачі.
ufw увімкнено: вхідні з’єднання заблоковані, вихідні дозволені.
Режим примусового застосування, зокрема для snap.
Щодня з репозиторію безпеки Ubuntu та packages.mozilla.org. Невикористані ядра й залежності видаляються, а комп’ютер ніколи не перезавантажується самовільно.
Перший обліковий запис адмініструє комп’ютер через sudo. Пароль root не встановлюється взагалі.
Щонайменше вісім символів із двох різних класів. Після восьми невдалих спроб обліковий запис блокується на п’ятнадцять хвилин.
Ядро налаштоване так, щоб програми без прав дізнавалися про систему й одна про одну якомога менше: вказівники ядра та повідомлення завантаження приховані, зневадження чужого процесу заблоковано, а підмінити ядро під час роботи неможливо. Мережевий рівень укріплено проти підроблених маршрутів і злив з'єднань, а адреси IPv6 регулярно змінюються.
FireWire і набір рідко потрібних модулів файлових систем та мережевих протоколів не можуть завантажуватися автоматично, тож під'єднаний пристрій або отриманий пакет не затягнуть код, яким цей комп'ютер ніколи не користується.
Ідентифікатор машини та ключі хоста SSH створюються на встановленому комп’ютері. Ключ хоста, спільний для всіх встановлень, зробив би перевірку хоста безглуздою.
Служб звітування про помилки та статистики використання в образі немає. Телеметрію Firefox, дослідження, Pocket і спонсорований вміст вимкнено політикою, а захист від стеження увімкнено.
USBGuard установлено, тому пристрій, під’єднаний при заблокованому екрані, не вважається надійним. Типово вимкнено; вмикає його одна кнопка на сторінці «Безпека».
Другий пароль, який робить будь-що, окрім входу в систему. Режим стирання знищує ключі LUKS диска й вимикає комп’ютер; режим прикриття відкриває порожній сеанс і заморожує його через п’ять хвилин. Типово вимкнений, для налаштування потрібен ваш справжній пароль, і збігатися з ним він не може.
Пропонується на сторінці «Безпека», бо той, хто може перезавантажити комп’ютер, інакше відредагує меню завантаження й отримає оболонку root.
Кожен помічник MoonLight має власну названу дію polkit, тому запит пароля прямо каже, на що ви погоджуєтеся.
| Стиснена пам'ять (zram) | Половина оперативної пам’яті, до 8 ГБ, стиснення zstd, пріоритет 100. Для сторінок пам’яті робочого стола стиснення приблизно 3:1. |
|---|---|
| Налаштування підкачки | Типове значення ядра 60 виходить із того, що підкачка — це звернення до диска. Із zram це копіювання в пам’яті. |
| Захист від вичерпання пам'яті | Діє на 4 % вільної пам’яті й надсилає SIGKILL на 2 %. Ніколи не зупиняє Cinnamon, Xorg, LightDM чи Nemo; першими зупиняє Firefox, Thunderbird, Code, LibreOffice та компілятори. |
| Без індексатора | Ні tracker, ні фонового сканування диска. |
| Автоматичне налаштування графіки | При вході система перевіряє, який рендерер OpenGL активний. Якщо це llvmpipe або інший програмний рендерер, анімації вимикаються. Якщо ви потім вирішите інакше, система вашого вибору не змінить. |
| GRUB | Запитує скромний графічний режим із запасними варіантами, тому меню з’являється навіть у віртуальній машині з малим обсягом відеопам’яті. |
| Squashfs | Стиснений zstd, тому живий сеанс швидко завантажується з флешки. |
«Початкове налаштування» коротким списком пропонує англійську (США та Велика Британія), італійську, французьку, німецьку, іспанську, бразильську португальську, нідерландську, польську та російську, а всі інші локалі — у розділі «Більше мов». Розкладка клавіатури підбирається за вибраною мовою, тому на другому кроці зазвичай достатньо натиснути «Далі».
Усі MoonTools — разом 774 рядки — крім англійської, перекладено ще на ці вісім мов, і збірка завершується помилкою, якщо в програмі залишився видимий неперекладений рядок. Італійський мовний пакет і словники LibreOffice є на образі, тому встановлення в Італії без мережі повністю локалізоване; решту мовних пакетів можна завантажити одним натисканням.
Інструменти командного рядка свідомо залишені англійською: їхній вивід читають разом із документацією та вставляють у звіти про помилки, а це простіше робити однією мовою.
Тема, написана вручну, ламається щоразу, коли GTK додає новий елемент. Ця ж успадковує виправлення з основного проєкту.
Оновлення Cinnamon не зможе тихо повернути її поряд із нашою, а якщо видалити пакети MoonLightOS, вона чисто повернеться на місце.
Той самий squashfs встановлювач копіює на диск. Якщо прибрати з нього /boot, встановиться система, яка не запуститься.
У пакеті desktop-base з Debian уже є тема Plymouth із назвою moonlight, і оновлення тихо замінило б анімацію.
Політика, що вказує на addons.mozilla.org, встановлює розширення лише при першому запуску Firefox із робочим з’єднанням. Розширення є в образі, і ви все одно можете його видалити.
У Linux Docker Desktop запускає сам рушій у власній віртуальній машині, а це друге ядро й другий бюджет пам’яті на ноутбуці.
Віртуальні машини, PHP з базами даних і LaTeX — одне натискання у «Вітаємо», замість гігабайта, який носило б із собою кожне встановлення.