MoonLightOS

Guía

De la descarga a una instalación en marcha, y qué hacer cuando algo se tuerce.

Antes de empezar

Cualquier equipo x86 de 64 bits. El instalador necesita al menos 1,7 GB de RAM y 18 GB de disco; las cifras de abajo son las que permiten usarlo con comodidad.

MínimoRecomendado
RAM2 GB4 GB
Disco18 GB30 GB
Procesadorcualquier procesador x86 de 64 bitsdoble núcleo
Gráficoscualquier adaptador gráfico con framebuffercualquier GPU de los últimos 15 años

La misma imagen sirve para UEFI y para la BIOS antigua. El Arranque seguro puede quedarse activado.

Descargar y comprobar

La imagen es un solo archivo, moonlightos-26.04.5-bengunur-amd64.iso, y junto a él hay un segundo archivo con su suma SHA-256. Compruebe la suma antes de copiar la imagen: una descarga incompleta deja una memoria USB que arranca y luego falla de formas desconcertantes.

En Linux o macOS, dentro de la carpeta donde haya guardado la descarga:

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

En Windows, desde PowerShell, compare el hash que aparece con el del archivo .sha256:

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

El primer comando imprime OK; el segundo imprime un hash que debe coincidir con el del archivo. Cualquier otra cosa significa que la descarga está dañada.

Descargar 26.04.5

Copiar la imagen a una memoria USB

La imagen es una ISO híbrida, así que basta con copiarla bloque a bloque: no hace falta ninguna herramienta especial y la misma memoria arranca tanto en equipos UEFI como BIOS. Se borra todo lo que haya en la memoria, que debe ser de 8 GB como mínimo.

En Linux o macOS, averigüe primero el nombre del dispositivo (lsblk en Linux, diskutil list en macOS) y después:

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

Compruebe dos veces el nombre del dispositivo: dd escribe en el que se le indique, sea cual sea.

Windows

Use Rufus en modo de imagen DD, balenaEtcher o Ventoy. Si Rufus pregunta si escribir en modo ISO o DD, elija DD.

Arrancar desde la memoria USB

Encienda el equipo con la memoria puesta y abra el menú de arranque puntual (F12, F8, F2, Esc o Supr, según el fabricante), o ponga el dispositivo USB como primera opción de arranque en la configuración del firmware. No hace falta tocar el Arranque seguro.

El menú de arranque

  • Try or Install MoonLightOS

    La entrada normal. Abre la sesión en vivo con la animación de arranque.

  • Try or Install MoonLightOS (safe graphics)

    Lo mismo, pero con la configuración de modo del núcleo desactivada. Úsela si la pantalla se queda en negro o la imagen sale distorsionada.

  • MoonLightOS in RAM (needs 6 GB+)

    Copia todo el sistema a la RAM, así que después se puede retirar la memoria USB.

  • Check this medium for defects

    Comprueba todos los archivos de la memoria contra las sumas registradas durante la compilación.

  • Verbose boot (no splash, logs to serial)

    Muestra todos los mensajes en la pantalla y en el primer puerto serie: la única manera de leer un arranque que falla antes de que haya imagen.

  • UEFI firmware settings

    Reinicia y entra en la configuración del firmware.

Captura de pantalla de MoonLightOS
Después aparece la animación de arranque: el logotipo quieto, el halo latiendo y la barra de progreso llenándose.

La sesión en vivo

Lo primero que aparece es el asistente de configuración: elija el idioma del sistema, confirme la distribución del teclado (escriba en el cuadro para probarla), conéctese a una red wifi y después explore o instale. Todo lo que ajusta es una opción real del sistema, y el instalador parte de esas mismas decisiones.

Captura de pantalla de MoonLightOS

La sesión en vivo es el sistema completo y sin recortes: el mismo escritorio, las mismas herramientas, las mismas páginas de configuración. La sesión se abre con el usuario moonlight, que no tiene contraseña. Nada de lo que haga aquí toca el disco hasta que abra el instalador.

Para instalar, haga doble clic en Instalar MoonLightOS en el escritorio, o abra de nuevo el asistente de Configuración inicial y elija Instalar.

Instalación

El instalador es Calamares: siete páginas y luego la copia al disco.

  1. Bienvenida

    El idioma del instalador y los enlaces a esta guía.

  2. Ubicación

    Su región y su zona horaria; de ahí salen la configuración regional y los formatos numéricos.

  3. Teclado

    Ya viene con lo que eligió en el asistente. Escriba en el cuadro para comprobarlo.

  4. Particiones

    La opción de partida es borrar el disco, que crea un sistema de archivos ext4 con un archivo de intercambio; también están disponibles btrfs, xfs y f2fs, además del particionado manual. Marque Cifrar el sistema para el cifrado LUKS2 de todo el disco y elija una frase de paso: la escribirá en cada arranque y no hay forma de recuperarla si se le olvida. En un equipo UEFI se crea una partición EFI de 512 MiB.

  5. Usuarios

    Su nombre, el nombre del equipo, un nombre de usuario y una contraseña de ocho caracteres como mínimo, de dos clases distintas. La primera cuenta administra el equipo a través de sudo; la cuenta de root sigue bloqueada y no hay inicio de sesión automático salvo que usted lo active.

  6. Resumen

    Todo lo que el instalador está a punto de hacer, en una sola lista. Todavía no se ha escrito nada.

  7. Instalación

    El sistema se copia al disco, se instala el gestor de arranque (como MoonLightOS en la lista de arranque del firmware, en equipos UEFI) y se eliminan los restos de la sesión en vivo. Después, reinicie y retire la memoria USB.

Los demás sistemas operativos del equipo los detecta os-prober en el primer arranque y se añaden al menú de GRUB.

El primer arranque

Un sistema instalado empieza siendo una copia exacta de la imagen de la que salen todas las instalaciones. Todo lo que debe ser único en este equipo se crea en el primer arranque, antes de que aparezca la pantalla de inicio de sesión, mediante un servicio que después se desactiva solo:

  • un identificador de máquina nuevo, para que nadie que observe la red pueda relacionar dos instalaciones;
  • claves de host de SSH nuevas, porque una clave compartida por todo el que descargue la imagen dejaría sin sentido la verificación del servidor;
  • el menú de GRUB, ahora que ya se ven los discos reales y los sistemas operativos que contienen;
  • un initramfs rehecho para el hardware que hay de verdad, de modo que ocupa menos y la animación de arranque aparece antes;
  • las cachés de iconos, tipografías y escritorio, para que el primer inicio de sesión no sea lento;
  • el cortafuegos, activado de nuevo.

Su salida se escribe en /var/log/moonlight-firstboot.log. Después aparece la pantalla de inicio de sesión y, tras el primer acceso, la ventana de Bienvenida.

Captura de pantalla de MoonLightOS

Primeros pasos

  • Elegir el aspecto

    Oscuro o claro, desde Bienvenida. Todo lo demás está en MoonLight Tweaks: la disposición del escritorio, el fondo, el horario y los widgets.

  • Controladores

    Bienvenida → Controladores abre el Gestor de controladores. En un equipo con tarjeta NVIDIA, el controlador privativo viaja en la ISO, así que funciona sin conexión a internet.

  • Aplicaciones

    La tienda muestra juntos los snaps, el repositorio de Ubuntu y Flathub. Thunderbird, Steam, Spotify y muchos más están a una búsqueda de distancia.

  • Huella y cara

    Bienvenida → Huella dactilar, o Configuración del sistema → Su cuenta, para registrar una huella o preparar el desbloqueo facial.

  • Copias de seguridad

    Timeshift hace instantáneas programadas del sistema. Configúrelo antes de necesitarlo.

  • Seguridad

    Configuración del sistema → Seguridad muestra lo que protege este equipo y lo que no, con un botón en cada línea para arreglarlo.

  • Paquetes para desarrolladores

    Máquinas virtuales, PHP con bases de datos y LaTeX: un clic cada uno en Bienvenida, instalados desde el repositorio que ya está configurado.

  • Programas de Windows

    Abra Aplicaciones de Windows una vez: deja Wine preparado con DXVK, VKD3D, tipografías y bibliotecas de ejecución. A partir de ahí, los archivos .exe se abren sin más.

Máquinas virtuales

VirtualBox

Hay que cambiar tres de los ajustes que VirtualBox trae de serie; si no, esta imagen no llega a arrancar. El fallo parece un problema de memoria, pero no lo es: GRUB cambia a un modo gráfico para dibujar su menú con la imagen del sistema, y con los 16 MB de memoria de vídeo que VirtualBox pone de serie eso falla con el mensaje «Out of memory. You need to load the kernel first.»

TipoLinux / Ubuntu (64-bit)
Memoria4096 MB (2048 como mínimo)
Procesadores2 o más
Memoria de vídeo128 MB, el ajuste que de verdad importa
Aceleración 3Dactivada
Controlador gráficoVMSVGA
Habilitar EFIdesactivado: la BIOS funciona bien y la EFI de VirtualBox está incompleta
Omitir instalación desatendidamarcado
Disco30 GB o más

Desde la línea de comandos:

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

VirtualBox etiqueta el medio como «Ubuntu» porque encuentra en él una carpeta /casper. Eso es solo una etiqueta de la interfaz de VirtualBox; el medio se identifica como MoonLightOS. Aun así, ponga Ubuntu como tipo de invitado, porque con ello se eligen el chipset y los valores gráficos adecuados.

QEMU

UEFI, como arranca hoy casi cualquier equipo. Cree primero las variables de firmware escribibles y un disco de destino:

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

Con el Arranque seguro realmente activado, usando el firmware que lleva registradas las claves de Microsoft. Una vez arrancado, mokutil --sb-state informa de «SecureBoot enabled», y Configuración → Acerca de dice lo mismo:

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

BIOS antigua: la ISO es híbrida, así que el mismo archivo arranca también a la vieja usanza:

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

Para poner a prueba lo de los 2 GB, arranque sin aceleración y con la memoria mínima; después, en la sesión en vivo, compruebe que zram aparece como espacio de intercambio y que la presión de memoria se mantiene baja:

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

Las herramientas de invitado de VirtualBox, QEMU/SPICE y VMware ya están en la imagen, y son las que permiten que la pantalla se adapte de tamaño y que el portapapeles se comparta.

Atajos de teclado

La tabla completa está en la página de Características. Estos son los que conviene aprender el primer día:

Superabre el menú; Super+Espacio lo abre con el cursor en el cuadro de búsqueda
Super+Vhistorial del portapapeles
Super+Nnotas
Impr Pant / Mayús+Impr Pantcaptura de la pantalla o de una zona; Mayús+Super+5 abre el panel de captura
Super+Izquierda / Derechaajusta la ventana a media pantalla
Ctrl+Arribatodas las ventanas; Ctrl+Abajo, todos los escritorios
Super+Lbloquea la pantalla; Ctrl+Alt+T abre una terminal; Ctrl+Mayús+Esc, el monitor del sistema

La tabla completa

Si algo va mal

  • La pantalla se queda en negro después del menú de arranque

    Elija la entrada de gráficos seguros. Si arranca, instale desde ahí y active después el controlador privativo en la página Controladores.

  • «Out of memory. You need to load the kernel first.»

    Es una máquina de VirtualBox con 16 MB de memoria de vídeo. Póngale 128 MB y active la aceleración 3D; vea Máquinas virtuales, más arriba.

  • El escritorio va lento

    Mire el renderizador de OpenGL en Configuración → Acerca de. Con renderizado por software, las animaciones se desactivan solas al iniciar la sesión; en Tweaks → Rendimiento se quitan a mano.

  • La memoria USB arranca, pero luego falla de forma extraña

    Ejecute Check this medium for defects desde el menú de arranque y compruebe la suma SHA-256 de la descarga.

  • No hay wifi

    Abra la página Controladores: el controlador de Broadcom viene en la imagen. Para los demás adaptadores, el menú de red muestra lo que ha detectado el núcleo.

  • El lector de huella no aparece

    Abra Huella dactilar. Le dirá de qué fabricante es el sensor, si es nativo, de comparación en el chip o de binario del fabricante, y qué se puede hacer.

  • Consultar los registros

    De qué se ha quejado el arranque, el registro del gestor de inicio de sesión, el del primer arranque y el nombre del tema de arranque activo:

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

Para un informe de fallo, Acerca de → Copiar informe deja en el portapapeles la versión y el hardware, y moonlight-selftest imprime lo que está haciendo el escritorio en realidad.

moonlight-selftest | less

Compilarlo uno mismo

Toda la distribución cabe en un repositorio: el material gráfico se deriva de un único logotipo de origen, los temas se generan a partir de una sola paleta y un script convierte todo eso en una ISO arrancable y compatible con el Arranque seguro. Necesita Docker (en cualquier sistema operativo, porque la compilación se hace dentro de un contenedor) y unos 25 GB libres.

./build.shtodo: base → personalización → compresión → ISO
./build.sh rootfsse detiene cuando el sistema ya está personalizado
./build.sh imagevuelve a empaquetar en una ISO nueva un sistema de archivos raíz ya existente
./build.sh finishsolo los gestores de arranque y la ISO, reutilizando el squashfs
./build.sh shelluna consola dentro del entorno de compilación
./build.sh cleanborra el volumen de trabajo

La ISO se escribe en out/, con su suma SHA-256 al lado. En Windows, ejecútelo desde Git Bash o use build.ps1.

Cómo está organizada la compilación

build.shpunto de entrada en el anfitrión; lo ejecuta todo en un contenedor
build/Dockerfile.builderel entorno de compilación, fijado a la versión de destino
build/mkiso.shbase, extracción del núcleo, squashfs, gestores de arranque e ISO
build/inchroot.shtodo lo que ocurre dentro del chroot, en catorce etapas
config/moonlight.conftodas las cadenas que definen la versión
packages/*.listlo que va en la imagen y lo que se quita
rootfs/archivos que se copian tal cual al sistema, incluidas las aplicaciones MoonLight
brand/source/el logotipo de origen y los fondos de escritorio; brand/out/ se genera
tools/gen-branding.pylogotipo de origen → animación de arranque, GRUB, pantalla de inicio de sesión, iconos
tools/gen-themes.pyuna paleta → los dos temas completos
po/las traducciones de las aplicaciones MoonLight
installer/la configuración de Calamares y su imagen de marca

Antes de crear la ISO, la compilación pasa más de 120 comprobaciones obligatorias dentro de la imagen: el núcleo, el shim firmado, los dos temas, cada una de las MoonTools, los códecs, los controladores de wifi, las traducciones y que el desbloqueo facial y la contraseña de emergencia estén desactivados. Si falla cualquiera, la compilación se detiene. El espacio de trabajo es un volumen de Docker y no un montaje de tipo bind, porque la propiedad de los archivos, los enlaces simbólicos y los nodos de dispositivo no sobreviven a un montaje de ese tipo en Windows ni en macOS.

Personalización

  • La identidad de la distribución

    config/moonlight.conf reúne todas las cadenas que definen la distribución.

  • Material gráfico

    Sustituya el logotipo de origen o un fondo de escritorio, vuelva a ejecutar tools/gen-branding.py y se regeneran la animación de arranque, GRUB, la pantalla de inicio de sesión, los iconos y las imágenes del instalador.

  • Colores

    tools/gen-themes.py contiene una paleta oscura y una clara, y genera los dos temas completos con las mismas reglas.

  • Paquetes instalados

    packages/*.list, un paquete por línea, instalados por orden de nombre de archivo; 99-purge.list enumera lo que se quita al final.

  • Valores del escritorio

    rootfs/etc/dconf/db/moonlight.d/, en formato de archivo de claves de dconf. Son valores de partida, no candados: el usuario puede cambiar cualquiera.

  • Volver a compilar rápido

    Tras un cambio en rootfs/ o en las listas de paquetes, build.sh rootfs repite la etapa del chroot sobre la base en caché y build.sh image reempaqueta la ISO; build.sh finish sirve para trabajar en el menú de arranque.

Ayuda e informes de fallo

Un informe útil cuenta qué esperaba, qué ocurrió en realidad y en qué equipo ocurrió. MoonLightOS pone fácil lo tercero:

  • Acerca de MoonLightOS → Copiar informe deja en el portapapeles, como texto, la versión, el hardware, el renderizador gráfico y el estado del Arranque seguro.
  • moonlight-selftest imprime qué temas están en uso, si la hoja de estilos del shell se cargó bien, qué controlador gráfico está activo y qué servicios han fallado.
  • Si el problema está en el arranque, la entrada Verbose boot escribe todos los mensajes en la pantalla y en el primer puerto serie.
  • Si está en el instalador, /var/log/moonlight-firstboot.log en el sistema instalado, y journalctl -b -p warning.

Dónde enviarlo

Aquí se anunciarán un gestor de incidencias público y un canal de soporte. Hasta entonces, guarde el informe: todo lo que necesita contener sale de las dos herramientas anteriores.