Tudo o que vai na imagem e os motivos de cada escolha.
A base do Ubuntu, sem a área de trabalho do Ubuntu
Nenhuma base Linux tem um repositório tão amplo nem reconhece tanto hardware quanto o Ubuntu. Só o pacote linux-firmware cobre a grande maioria dos dispositivos de Wi-Fi, Bluetooth, GPU e chipset em uso, e o ubuntu-drivers-common cuida das placas NVIDIA como se deve. O Secure Boot funciona de imediato porque o shim e o GRUB assinados pela Canonical estão no repositório e o kernel é assinado. A base ainda recebe doze anos de manutenção de segurança.
A área de trabalho do Ubuntu é justamente a parte que valia a pena substituir: é pesada e não tem botão Iniciar, ícones na área de trabalho nem barra de tarefas. O Cinnamon tem as três coisas. Por isso o MoonLightOS parte de uma base mínima e monta a área de trabalho sobre ela. Nada da área de trabalho original do Ubuntu é instalado, e nenhuma tela que o usuário vê menciona a base.
Uma coisa ficou de propósito como estava: o codinome da versão que o apt enxerga continua “resolute”, porque PPAs e qualquer programa que chame o lsb_release dependem dele. A identidade que aparece na tela vem do /etc/os-release.
O logotipo fica imóvel enquanto a luz ao redor pulsa. Dois halos, com ciclos de 2,6 e 3,1 segundos, entram e saem de fase, e por isso o brilho nunca parece mecânico. Os dois são gerados na compilação a partir da arte original, e o mesmo logotipo e o mesmo halo aparecem no menu do GRUB, na tela de login, no instalador, na página Sobre o MoonLightOS e na apresentação de Boas-vindas.
A aparência
Um único painel embaixo, com 52 pixels de altura. À esquerda ficam o botão Iniciar e o campo de busca; no centro, os aplicativos abertos, com os maiores ícones do painel; à direita, a área de status. O menu mostra a sua foto, o seu nome e se você pode administrar o computador, e o campo de busca do menu encontra aplicativos, configurações, arquivos e resultados da web.
Captura de tela de uma inicialização real da imagem instalada. Não é montagem.
Três layouts
MoonLight
Um único painel embaixo. A dock também guarda os seus aplicativos favoritos, então não existe uma segunda fileira de atalhos.
Dois painéis
Uma barra fina no alto para o relógio e os ícones de status, e uma dock embaixo que se esconde sozinha.
Compacto
Uma única barra fina no alto. É o que ocupa menos tela e o mais leve em placas de vídeo antigas.
Claro e escuro
Um único script gera os dois temas a partir de uma só paleta de cores, cobrindo GTK 2, 3 e 4, a interface do Cinnamon e as bordas das janelas. Os temas GTK importam o Adwaita e apenas trocam as cores dele, então controles novos e correções do projeto original chegam sozinhos. O tema de ícones parte do Papirus e substitui só os ícones que identificam a distribuição. A cor de destaque pode ser trocada em Área de trabalho e dock.
Troca por horário
Por padrão, claro a partir das 07:00 e escuro a partir das 19:00. Um pequeno serviço em segundo plano mantém o tema em dia com o horário.
Widgets da área de trabalho
Por padrão aparecem um relógio grande e um monitor de processador, memória e disco. Um clique com o botão direito acrescenta um calendário e notas adesivas, que vão sendo gravadas em texto simples à medida que você escreve.
A animação de inicialização
O logotipo fica imóvel enquanto a luz ao redor pulsa. Dois halos, com ciclos de 2,6 e 3,1 segundos, entram e saem de fase, e por isso o brilho nunca parece mecânico. Os dois são gerados na compilação a partir da arte original, e o mesmo logotipo e o mesmo halo aparecem no menu do GRUB, na tela de login, no instalador, na página Sobre o MoonLightOS e na apresentação de Boas-vindas.
Tipografia
Inter na interface, JetBrains Mono no código e Noto para todo o resto, inclusive chinês, japonês, coreano e emoji em cores.
Sete papéis de parede
Cinco cenas fotográficas com um pinguim, um lago e uma lua crescente, além de um par gerado por computador, um de dia e outro de noite. A versão vem com “Pôr do sol sobre o lago”.
Atalhos que você já conhece
Windows e macOS usam atalhos de teclado diferentes para quase tudo. Como esses dois conjuntos quase nunca entram em conflito, o MoonLightOS reconhece ambos: a tecla Super segue as convenções do Windows e a tecla Control, as do Mac.
Ação
Quem vem do Windows
Quem vem do macOS
Abrir o menu
Super
Super
Buscar
Super+Espaço
Super+Espaço
Arquivos
Super+E
—
Bloquear a tela
Super+L
Ctrl+Super+Q
Mostrar a área de trabalho
Super+D
Ctrl+Super+D
Encaixar a janela em metade da tela
Super+Esquerda / Direita
—
Maximizar / restaurar
Super+Cima / Super+Baixo
Alt+F10 / Alt+F5
Minimizar
Super+H
Alt+F9
Fechar a janela
Alt+F4
Super+Q
Tela cheia
Super+F
Ctrl+Super+F
Alternar entre janelas
Alt+Tab, Super+Tab
Alt+Tab
Próxima janela do mesmo aplicativo
Alt+`
Super+`
Todas as janelas
Super+W
Ctrl+Cima
Todas as áreas de trabalho
Super+S
Ctrl+Baixo
Trocar de área de trabalho
Ctrl+Alt+Esquerda / Direita
Ctrl+Esquerda / Direita
Mover a janela para outra área de trabalho
Ctrl+Shift+Alt+Esquerda / Direita
Ctrl+Shift+Esquerda / Direita
Configurações
Super+I
Super+,
Monitor do sistema
Ctrl+Shift+Esc
—
Executar um comando
Super+R, Alt+F2
—
Terminal
Ctrl+Alt+T
Ctrl+Alt+T
Navegador
Super+B
Super+B
Calculadora
Super+C
Super+C
Mixer e equalizador
Super+A
Super+A
Histórico da área de transferência
Super+V
Super+V
Anotações
Super+N
Super+N
Converter arquivos
Super+Shift+C
Super+Shift+C
Captura da tela inteira
Print Screen
Shift+Super+3
Captura de uma área
Shift+Print Screen
Shift+Super+4
Captura de uma janela
Alt+Print Screen
—
Painel de captura e gravação
Ctrl+Shift+Print Screen
Shift+Super+5
Encerrar a sessão
Ctrl+Alt+Delete
—
Levar o ponteiro ao canto superior esquerdo abre a visão geral das janelas. A tecla Super sozinha abre o menu, e Super+Espaço abre o menu já com o cursor no campo de busca.
Três formatos de pacote, uma só loja
apt, snap e Flatpak estão todos instalados, e o GNOME Software mostra os três: primeiro os snaps, depois os pacotes do repositório do Ubuntu e, por fim, o Flathub. Um pacote .deb é sempre a opção mais leve, e o Flathub cobre todo o resto.
O aplicativo Snap Store é, ele mesmo, um snap cujas dependências somam cerca de um gigabyte, demais para uma imagem pensada para computadores com 2 GB de RAM. A loja, portanto, já lista e instala snaps desde a primeira inicialização, e um serviço baixa o aplicativo Snap Store assim que houver conexão.
A página de configurações Aplicativos mostra o que está instalado, de qual dos três formatos veio cada aplicativo e se alguma coisa foi instalada duas vezes.
Os aplicativos da imagem
Escolhidos para que um computador de uso geral funcione desde a primeira inicialização, mesmo sem conexão com a internet.
Internet
Firefox (a versão da própria Mozilla, com o uBlock Origin embutido como extensão local, disponível até sem conexão), Thunderbird, Geary, Transmission
Escritório e documentos
LibreOffice Writer, Calc, Impress e Draw; Evince; Editor de texto do GNOME; Xournal++; PDF Arranger; MoonLight PDF; Agenda; Relógios; Meteorologia; Mapas; Calculadora
Mídia
VLC; Celluloid; Rhythmbox; GStreamer com libav, os conjuntos de plugins “bad” e “ugly” e VA-API, para que H.264, H.265 e AAC toquem em qualquer aplicativo
Imagem e digitalização
GIMP; Desenho; Eye of GNOME; MoonLight Export; Digitalizador Simples; Visualizador de fontes; Captura de tela
Sistema
GNOME Software; Monitor do sistema; Discos; GParted; Analisador de uso de disco; Timeshift; Redshift; Gerenciador de arquivos compactados; Seahorse; Blueman; Impressoras; MoonLight Tweaks
Rede e VPN
NetworkManager com OpenVPN, OpenConnect (Cisco AnyConnect, GlobalProtect, Fortinet), L2TP, PPTP, SSH e suporte nativo a WireGuard
Desenvolvimento
Visual Studio Code; gcc, g++, make, gdb; git, git-lfs; cmake, meson, ninja; Python 3 com pip, venv, NumPy e OpenCV; Node.js e npm; Rust e Cargo; Go; OpenJDK 21 com Maven e Gradle; Docker Engine, Compose v2 e Buildx; SQLite
Wine com suporte a 32 bits, winetricks, DXVK (Direct3D 9 a 11) e VKD3D (Direct3D 12)
Hardware e drivers
Firmware
O conjunto linux-firmware completo, microcódigo Intel e AMD e o fwupd para atualizar firmware.
Vídeo
Mesa com Vulkan, VA-API e VDPAU para Intel e AMD. O driver da NVIDIA vai na ISO, então pode ser ativado na página de Drivers mesmo sem internet.
Wi-Fi e rede cabeada
Mais de cinquenta drivers sem fio no kernel, além dos drivers broadcom-sta e r8168 compilados com DKMS para os chips que os drivers padrão atendem mal.
Impressoras e scanners
CUPS com o conjunto completo de drivers, impressão em PDF, SANE e o Digitalizador Simples.
Bluetooth
BlueZ, Blueman e os codecs Bluetooth do PipeWire, com uma página de configurações que avisa com clareza quando o computador não tem hardware Bluetooth.
Áudio
PipeWire com WirePlumber, compatibilidade com PulseAudio e um equalizador de dez bandas integrado.
Notebooks
power-profiles-daemon, thermald, a porcentagem da bateria no painel, toque para clicar e rolagem natural ativados por padrão, suporte a dispositivos de entrada Wacom e Synaptics.
Máquinas virtuais
As ferramentas de convidado para VirtualBox, QEMU/SPICE e VMware já vêm incluídas, e é por isso que a tela se ajusta e a área de transferência é compartilhada.
Leitores de impressão digital
fprintd, libfprint e o carregador TOD vêm instalados e integrados ao PAM. O MoonLight Fingerprint identifica o sensor e conduz o cadastro.
Desbloqueio facial
Desbloqueio facial baseado em OpenCV para a tela de login, a tela de bloqueio e o sudo. Fica desativado até você ligá-lo.
Segurança
Tudo o que vem abaixo já está ativado por padrão em um MoonLightOS instalado.
Secure Boot
Firmware → shim da Canonical → GRUB assinado → kernel assinado. Em Configurações → Sobre o MoonLightOS você vê se ele está ativado no seu computador.
Criptografia do disco
A criptografia de disco inteiro com LUKS2 é uma única caixa de seleção no instalador.
Firewall
O ufw está ativo: as conexões de entrada são bloqueadas e as de saída, liberadas.
AppArmor
Modo de imposição, inclusive para snaps.
Atualizações de segurança automáticas
Todos os dias, do repositório de segurança do Ubuntu e do packages.mozilla.org. Kernels e dependências sem uso são removidos, e o computador nunca reinicia por conta própria.
Conta root bloqueada, sudo rastreável
A primeira conta de usuário administra o computador pelo sudo. Nenhuma senha de root é definida em momento algum.
Qualidade da senha e bloqueio da conta
No mínimo oito caracteres de duas classes diferentes. Depois de oito tentativas erradas, a conta fica bloqueada por quinze minutos.
Reforço do kernel
O kernel está configurado para limitar o que programas sem privilégios conseguem descobrir sobre o sistema e uns sobre os outros: os ponteiros do kernel e as mensagens de inicialização ficam ocultos, a depuração de outro processo é bloqueada e não é possível carregar um kernel substituto com o sistema em execução. A pilha de rede é reforçada contra rotas falsificadas e enxurradas de conexões, e os endereços IPv6 são renovados.
Menos superfície de ataque
O FireWire e um conjunto de módulos de sistemas de arquivos e protocolos de rede raramente necessários não podem ser carregados automaticamente, de modo que um dispositivo conectado ou um pacote recebido não consegue trazer código que este computador nunca usa.
Exclusivo desde a primeira inicialização
O identificador da máquina e as chaves SSH do host são gerados no computador instalado. Uma chave de host igual em todas as instalações tornaria a verificação de host inútil.
Nenhuma telemetria
Os serviços de relatório de erros e de estatísticas de uso não estão na imagem. A telemetria do Firefox, os estudos, o Pocket e o conteúdo patrocinado estão desativados por política, e a proteção contra rastreamento está ativada.
Proteção contra dispositivos USB
O USBGuard vem instalado, então um dispositivo conectado com a tela bloqueada não é considerado confiável. Vem desativado; um botão na página Segurança o ativa.
Senha de emergência
Uma segunda senha que faz outra coisa em vez de abrir a sua sessão. O modo de destruição apaga as chaves LUKS do disco e desliga o computador; o modo de fachada abre uma sessão vazia e a congela depois de cinco minutos. Vem desativada, exige a sua senha verdadeira para ser configurada e não pode ser igual a ela.
Senha no menu de inicialização
Oferecida na página Segurança, porque sem ela quem conseguisse reiniciar o computador poderia editar o menu de inicialização e abrir um shell de root.
Pedidos de senha claros
Cada auxiliar do MoonLight tem uma ação do polkit com nome próprio, então o pedido de senha diz a que você está autorizando.
Captura de tela de uma inicialização real da imagem instalada. Não é montagem.
Funcionando em computadores com pouca memória
Memória comprimida (zram)
Metade da RAM, até 8 GB, compressão zstd, prioridade 100. Compressão de cerca de 3:1 nas páginas de memória de um ambiente gráfico.
Ajuste da troca
O padrão 60 do kernel parte do princípio de que recorrer à swap significa acessar o disco. Com o zram, significa copiar memória.
Proteção contra falta de memória
Age com 4 % de memória livre e envia SIGKILL com 2 %. Nunca encerra o Cinnamon, o Xorg, o LightDM ou o Nemo; encerra antes o Firefox, o Thunderbird, o Code, o LibreOffice e os compiladores.
Sem indexador
Nenhum tracker e nenhuma varredura do disco em segundo plano.
Ajuste gráfico automático
No login, o sistema verifica o renderizador OpenGL. Se for o llvmpipe ou outro renderizador em software, as animações são desligadas. Se depois você escolher outra coisa, o sistema respeita a sua escolha.
GRUB
Pede um modo gráfico modesto, com alternativas, para que o menu apareça até em uma máquina virtual com pouca memória de vídeo.
Squashfs
Comprimido com zstd, para que a sessão live carregue rápido a partir de um pendrive.
Idiomas
A configuração inicial traz uma lista curta com inglês (dos EUA e do Reino Unido), italiano, francês, alemão, espanhol, português do Brasil, holandês, polonês e russo, e todos os outros locales em “Mais idiomas”. O layout do teclado acompanha o idioma escolhido, por isso a segunda etapa normalmente só pede um clique em Avançar.
Todos os MoonTools, 774 textos no total, estão traduzidos para esses oito idiomas além do inglês, e a compilação falha se algum programa tiver um texto visível sem tradução. O pacote de idioma italiano e os dicionários do LibreOffice vão na imagem, por isso uma instalação sem internet na Itália fica inteiramente traduzida; os outros pacotes de idioma podem ser baixados em um clique.
As ferramentas de linha de comando continuam em inglês de propósito: o que elas escrevem é lido ao lado da documentação e colado em relatórios de problema, e isso fica mais fácil em um único idioma.
Decisões de projeto que vale conhecer
Os temas GTK importam o Adwaita e apenas o recolorem.
Um tema escrito à mão quebra sempre que o GTK ganha um controle novo. Este herda as correções do projeto original.
A página de informações do sistema do Cinnamon é desviada, não apagada.
Assim, uma atualização do Cinnamon não consegue reativá-la em silêncio ao lado da nossa, e remover os pacotes do MoonLightOS a traria de volta sem deixar sujeira.
O squashfs guarda a sua própria cópia do kernel.
É esse mesmo squashfs que o instalador copia para o disco. Tirar o /boot de dentro dele instalaria um sistema incapaz de iniciar.
O tema de inicialização se chama moonlightos, não moonlight.
O pacote desktop-base do Debian já traz um tema do Plymouth chamado moonlight, e uma atualização substituiria a animação sem avisar.
O uBlock Origin vem embutido, não é baixado.
Uma política apontando para o addons.mozilla.org instala a extensão só na primeira vez que o Firefox roda com uma conexão funcionando. A extensão vai na imagem, e você continua podendo removê-la.
Docker Engine em vez de Docker Desktop.
No Linux, o Docker Desktop roda o engine dentro da própria máquina virtual, o que significa um segundo kernel e um segundo orçamento de memória em um notebook.
As pilhas de desenvolvimento pesadas são opcionais.
Máquinas virtuais, PHP com bancos de dados e LaTeX estão a um clique em Boas-vindas, em vez de um gigabyte que toda instalação carregaria.