Widgets de escritorio
De serie se muestran un reloj grande y un monitor de procesador, memoria y disco. Con el botón derecho se añaden un calendario y notas adhesivas, que se guardan como texto plano mientras escribe.
Todo lo que incluye la imagen y las razones de cada decisión.
Ubuntu tiene el repositorio de paquetes más amplio y la compatibilidad con hardware más extensa de todas las bases Linux. Solo el paquete linux-firmware cubre la gran mayoría del hardware de wifi, Bluetooth, GPU y chipset que hay en uso, y ubuntu-drivers-common se ocupa como es debido de las tarjetas NVIDIA. El Arranque seguro funciona sin tocar nada, porque el shim y el GRUB firmados por Canonical están en el repositorio y el núcleo viene firmado. La base recibe además doce años de mantenimiento de seguridad.
El escritorio de Ubuntu era justo la pieza que merecía la pena sustituir: pesa mucho y no tiene botón de inicio, ni iconos en el escritorio, ni barra de tareas. Cinnamon tiene las tres cosas. Por eso MoonLightOS parte de una base mínima y levanta el escritorio sobre ella. Del escritorio propio de Ubuntu no se instala nada, y nada de lo que ve el usuario menciona la base.
Hay algo que se deja igual a propósito: el nombre de versión que ve apt sigue siendo «resolute», porque de él dependen los PPA y todo lo que consulta lsb_release. La identidad que la gente ve de verdad sale de /etc/os-release.
Un solo panel abajo, de 52 píxeles de alto. A la izquierda, el botón de Inicio y el cuadro de búsqueda; en el centro, las aplicaciones abiertas, con los iconos más grandes del panel; a la derecha, el área de estado. El menú muestra su foto, su nombre y si puede administrar el equipo, y su cuadro de búsqueda encuentra aplicaciones, opciones de configuración, archivos y resultados de la web.
Un solo panel abajo. El dock recoge también sus aplicaciones favoritas, así que no hace falta una segunda fila de lanzadores.
Una barra estrecha arriba para el reloj y los iconos de estado, y abajo un dock que se oculta solo.
Una única barra estrecha en la parte superior. Es la que menos pantalla ocupa y la más ligera en equipos con gráficos antiguos.
Un único script genera los dos temas a partir de una sola paleta de colores y cubre GTK 2, 3 y 4, el shell de Cinnamon y los bordes de las ventanas. Los temas GTK importan Adwaita y le cambian los colores, así que los widgets nuevos y las correcciones del proyecto original llegan por su cuenta. El tema de iconos parte de Papirus y solo sustituye los iconos que identifican a la distribución. El color de acento se cambia en Escritorio y dock.
De serie, claro a partir de las 7:00 y oscuro a partir de las 19:00. Un pequeño servicio en segundo plano se encarga de que el tema siga ese horario.
De serie se muestran un reloj grande y un monitor de procesador, memoria y disco. Con el botón derecho se añaden un calendario y notas adhesivas, que se guardan como texto plano mientras escribe.
El logotipo se queda quieto mientras late la luz que lo rodea. Dos imágenes de halo con ciclos de 2,6 y 3,1 segundos se van desfasando, así que el resplandor nunca parece mecánico. Las dos se generan durante la compilación a partir del material gráfico de origen, y el mismo logotipo y el mismo halo aparecen en el menú de GRUB, en la pantalla de inicio de sesión, en el instalador, en la página Acerca de y en el recorrido de Bienvenida.
Inter para la interfaz, JetBrains Mono para el código y Noto para todo lo demás, incluidos el chino, el japonés, el coreano y los emoji en color.
Cinco escenas fotográficas con un pingüino, un lago y una luna en cuarto creciente, más una pareja de fondos generados, uno de día y otro de noche. La distribución se entrega con «Atardecer sobre el lago» puesto.
Windows y macOS usan atajos de teclado distintos para casi todo. Como los dos conjuntos apenas chocan entre sí, MoonLightOS admite los dos: la tecla Super sigue las convenciones de Windows y la tecla Control, las de Mac.
| Acción | Si viene de Windows | Si viene de macOS |
|---|---|---|
| Abrir el menú | Super | Super |
| Buscar | Super+Espacio | Super+Espacio |
| Gestor de archivos | Super+E | — |
| Bloquear la pantalla | Super+L | Ctrl+Super+Q |
| Mostrar el escritorio | Super+D | Ctrl+Super+D |
| Ajustar una ventana a media pantalla | Super+Izquierda / Derecha | — |
| Maximizar o restaurar | Super+Arriba / Super+Abajo | Alt+F10 / Alt+F5 |
| Minimizar | Super+H | Alt+F9 |
| Cerrar la ventana | Alt+F4 | Super+Q |
| Pantalla completa | Super+F | Ctrl+Super+F |
| Pasar de una ventana a otra | Alt+Tab, Super+Tab | Alt+Tab |
| Siguiente ventana de la misma aplicación | Alt+` | Super+` |
| Todas las ventanas | Super+W | Ctrl+Arriba |
| Todos los escritorios | Super+S | Ctrl+Abajo |
| Cambiar de escritorio | Ctrl+Alt+Izquierda / Derecha | Ctrl+Izquierda / Derecha |
| Mover una ventana a otro escritorio | Ctrl+Mayús+Alt+Izquierda / Derecha | Ctrl+Mayús+Izquierda / Derecha |
| Configuración | Super+I | Super+, |
| Monitor del sistema | Ctrl+Mayús+Esc | — |
| Ejecutar un comando | Super+R, Alt+F2 | — |
| Terminal | Ctrl+Alt+T | Ctrl+Alt+T |
| Navegador | Super+B | Super+B |
| Calculadora | Super+C | Super+C |
| Mezclador y ecualizador de sonido | Super+A | Super+A |
| Historial del portapapeles | Super+V | Super+V |
| Notas | Super+N | Super+N |
| Convertir archivos | Super+Mayús+C | Super+Mayús+C |
| Captura de toda la pantalla | Impr Pant | Mayús+Super+3 |
| Captura de una zona | Mayús+Impr Pant | Mayús+Super+4 |
| Captura de una ventana | Alt+Impr Pant | — |
| Panel de captura y grabación | Ctrl+Mayús+Impr Pant | Mayús+Super+5 |
| Cerrar la sesión | Ctrl+Alt+Supr | — |
Si lleva el puntero a la esquina superior izquierda, se abre la vista general de ventanas. La tecla Super sola abre el menú, y Super+Espacio lo abre con el cursor ya puesto en el cuadro de búsqueda.
apt, snap y Flatpak están los tres instalados, y GNOME Software los lista juntos: primero los snaps, después los paquetes del repositorio de Ubuntu y luego Flathub. Un paquete .deb es siempre la opción más ligera, y Flathub cubre todo lo demás.
La aplicación Snap Store es a su vez un snap cuyas dependencias rondan el gigabyte: demasiado para una imagen pensada para equipos con 2 GB de RAM. Por eso la tienda puede mostrar e instalar snaps desde el primer arranque, y un servicio descarga la propia aplicación Snap Store en cuanto hay conexión.
La página de configuración Aplicaciones muestra qué hay instalado, de cuál de los tres formatos viene cada aplicación y si algo está instalado dos veces.
Elegidas para que un escritorio de uso general funcione desde el primer arranque, incluso sin conexión a internet.
Firefox (la compilación de Mozilla, con uBlock Origin incluido como extensión local, así que está disponible aunque no haya conexión), Thunderbird, Geary, Transmission
LibreOffice Writer, Calc, Impress y Draw; Evince; Editor de textos de GNOME; Xournal++; PDF Arranger; MoonLight PDF; Calendario; Relojes; Meteorología; Mapas; Calculadora
VLC; Celluloid; Rhythmbox; GStreamer con libav, los conjuntos de complementos «bad» y «ugly» y VA-API, para que H.264, H.265 y AAC se reproduzcan en cualquier aplicación
GIMP; Dibujos; Eye of GNOME; MoonLight Export; Escáner simple; Visor de tipografías; Captura de pantalla
GNOME Software; Monitor del sistema; Discos; GParted; Analizador de uso de disco; Timeshift; Redshift; Gestor de archivadores; Seahorse; Blueman; Impresoras; MoonLight Tweaks
NetworkManager con OpenVPN, OpenConnect (Cisco AnyConnect, GlobalProtect, Fortinet), L2TP, PPTP, SSH y compatibilidad nativa con WireGuard
Visual Studio Code; gcc, g++, make, gdb; git, git-lfs; cmake, meson, ninja; Python 3 con pip, venv, NumPy y OpenCV; Node.js y npm; Rust y Cargo; Go; OpenJDK 21 con Maven y Gradle; Docker Engine, Compose v2 y Buildx; SQLite
GNOME Terminal; bash, zsh y 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 con compatibilidad de 32 bits, winetricks, DXVK (de Direct3D 9 a 11) y VKD3D (Direct3D 12)
El conjunto completo de linux-firmware, el microcódigo de Intel y AMD, y fwupd para las actualizaciones de firmware.
Mesa con Vulkan, VA-API y VDPAU para Intel y AMD. El controlador de NVIDIA viaja en la ISO, así que se activa desde la página Controladores aunque no haya conexión a internet.
Más de cincuenta controladores inalámbricos en el núcleo, además de broadcom-sta y r8168 compilados con DKMS para los chips que los controladores estándar llevan mal.
CUPS con el juego completo de controladores, impresión a PDF, SANE y Escáner simple.
BlueZ, Blueman y los códecs Bluetooth de PipeWire, con una página de configuración que avisa con claridad cuando el equipo no tiene hardware Bluetooth.
PipeWire con WirePlumber, compatibilidad con PulseAudio y un ecualizador de diez bandas integrado.
power-profiles-daemon, thermald, el porcentaje de batería en el panel, toque para hacer clic y desplazamiento natural activados de serie, y compatibilidad con los dispositivos de entrada Wacom y Synaptics.
Se incluyen las herramientas de invitado de VirtualBox, QEMU/SPICE y VMware, de modo que la pantalla se adapta de tamaño y el portapapeles se comparte.
fprintd, libfprint y el cargador TOD vienen instalados e integrados con PAM. Huella dactilar identifica el sensor y le acompaña durante el registro.
Reconocimiento de cara basado en OpenCV para la pantalla de inicio de sesión, la pantalla de bloqueo y sudo. Permanece desactivado hasta que usted lo active.
Todo lo que sigue viene activado de serie en un MoonLightOS instalado.
Firmware → shim de Canonical → GRUB firmado → núcleo firmado. En Configuración → Acerca de se ve si está activado en su equipo.
El cifrado LUKS2 de todo el disco se reduce a una casilla del instalador.
ufw está activado: se bloquean las conexiones entrantes y se permiten las salientes.
En modo de obligado cumplimiento, también para los snaps.
A diario, desde el repositorio de seguridad de Ubuntu y desde packages.mozilla.org. Se retiran los núcleos y las dependencias que ya no se usan, y el equipo nunca se reinicia por su cuenta.
La primera cuenta de usuario administra el equipo a través de sudo. Nunca se establece una contraseña de root.
Ocho caracteres como mínimo, de dos clases distintas. A los ocho intentos fallidos, la cuenta queda bloqueada quince minutos.
El núcleo está configurado para limitar lo que los programas sin privilegios pueden averiguar del sistema y unos de otros: los punteros del núcleo y los mensajes de arranque quedan ocultos, se bloquea la depuración de otro proceso y se desactiva la carga de un núcleo de reemplazo con el sistema en marcha. La pila de red se refuerza frente a rutas falsificadas y avalanchas de conexiones, y las direcciones IPv6 se renuevan.
FireWire y una serie de módulos de sistemas de archivos y protocolos de red que rara vez hacen falta no pueden cargarse automáticamente, así que un dispositivo que se conecte o un paquete que llegue no puede traer consigo código que este equipo nunca utiliza.
El identificador de la máquina y las claves de host de SSH se generan en el equipo ya instalado. Una clave de host compartida por todas las instalaciones dejaría sin sentido la verificación del servidor.
Los servicios de informe de errores y de estadísticas de uso no están en la imagen. La telemetría de Firefox, los estudios, Pocket y el contenido patrocinado están desactivados por directiva, y la protección contra el rastreo está activada.
USBGuard viene instalado, así que un dispositivo que se conecte con la pantalla bloqueada no se da por fiable. Está desactivado de serie: un botón de la página Seguridad lo pone en marcha.
Una segunda contraseña que hace algo distinto de iniciar la sesión. El modo de borrado destruye las claves LUKS del disco y apaga el equipo; el modo señuelo abre una sesión vacía y la congela a los cinco minutos. Viene desactivada, hace falta su contraseña real para configurarla y no puede coincidir con ella.
Se ofrece en la página Seguridad, porque de lo contrario cualquiera que pueda reiniciar el equipo podría editar el menú de arranque y abrir una consola de root.
Cada auxiliar de MoonLight tiene su propia acción de polkit con nombre, de modo que, cuando se pide la contraseña, queda claro a qué se está dando permiso.
| Memoria comprimida (zram) | La mitad de la RAM, hasta 8 GB, compresión zstd y prioridad 100. En torno a 3:1 con las páginas de memoria de un escritorio. |
|---|---|
| Ajuste del intercambio | El valor que trae el núcleo, 60, da por supuesto que intercambiar implica acceder al disco. Con zram implica copiar memoria. |
| Protección frente a la falta de memoria | Actúa con un 4 % de memoria libre y envía SIGKILL con un 2 %. Nunca cierra Cinnamon, Xorg, LightDM ni Nemo; cierra antes Firefox, Thunderbird, Code, LibreOffice y los compiladores. |
| Sin indexador | Ni tracker ni rastreos del disco en segundo plano. |
| Ajuste gráfico automático | Al iniciar la sesión, el sistema comprueba el renderizador de OpenGL. Si es llvmpipe u otro renderizador por software, desactiva las animaciones. Si luego usted decide otra cosa, su elección se respeta. |
| GRUB | Pide un modo gráfico modesto, con alternativas, para que el menú aparezca también en una máquina virtual con poca memoria de vídeo. |
| Squashfs | Comprimido con zstd, de modo que la sesión en vivo carga rápido desde una memoria USB. |
El asistente de primer arranque presenta una lista corta con inglés (de EE. UU. y del Reino Unido), italiano, francés, alemán, español, portugués de Brasil, neerlandés, polaco y ruso, y deja el resto de las configuraciones regionales en «Más idiomas». La distribución del teclado sigue al idioma elegido, así que el segundo paso suele resolverse con un clic en Siguiente.
Todas las MoonTools, 774 cadenas en total, están traducidas a esos ocho idiomas además del inglés, y la compilación falla si algún programa contiene una cadena visible sin traducir. El paquete de idioma italiano y los diccionarios de LibreOffice vienen en la imagen, de modo que una instalación sin conexión queda completamente localizada en Italia; los demás paquetes de idioma se descargan con un clic.
Las herramientas de línea de comandos se quedan en inglés a propósito: su salida se lee junto a la documentación y se pega en los informes de fallo, y eso resulta más cómodo en un solo idioma.
Un tema escrito a mano se rompe cada vez que GTK añade un widget. Este hereda las correcciones del proyecto original.
Así, una actualización de Cinnamon no puede colarla de nuevo al lado de la nuestra, y al desinstalar los paquetes de MoonLightOS vuelve a su sitio sin dejar restos.
Ese mismo squashfs es lo que el instalador copia al disco. Quitarle /boot supondría instalar un sistema incapaz de arrancar.
El paquete desktop-base de Debian ya incluye un tema de Plymouth llamado moonlight, y una actualización sustituiría la animación sin avisar.
Una directiva que apunte a addons.mozilla.org instala la extensión solo la primera vez que Firefox se ejecuta con conexión. La extensión viaja en la imagen, y aun así usted puede quitarla.
En Linux, Docker Desktop ejecuta el motor dentro de su propia máquina virtual, lo que supone un segundo núcleo y un segundo consumo de memoria en un portátil.
Las máquinas virtuales, PHP con bases de datos y LaTeX están a un clic en Bienvenida, en lugar de ser un gigabyte que cargaría cada instalación.