A Live MATE (e variantes)

A imagem completa (~2.3 GB) com MATE + Calamares.

Visão geral

A live é um chroot (em /home/wellton/debian/gnucego-chroot) com o ambiente MATE já instalado e configurado, empacotado em um squashfs e montado numa ISO bootável via isolinux.

O instalador é o Calamares, que copia o squashfs para o disco, cria o usuário e instala o GRUB — com a identidade GNUcego já toda configurada.

O build

O script gnucego-build-iso.sh faz o seguinte:

# 1. pega o kernel Linux-libre do chroot
KVER=$(basename $(ls $CHROOT/boot/vmlinuz-* | tail -1) | sed 's/^vmlinuz-//')

# 2. gera o squashfs (zstd nível 15, excluindo dev/proc/sys/run/tmp/cache)
mksquashfs "$CHROOT" live/filesystem.squashfs \
  -comp zstd -Xcompression-level 15 -processors 6 -noappend \
  -wildcards -e "dev/*" "proc/*" "sys/*" "run/*" "tmp/*" \
                "var/cache/apt/*" "var/lib/apt/lists/*" "var/log/*"

# 3. copia kernel + initrd + isolinux
cp $CHROOT/boot/vmlinuz-$KVER live/vmlinuz
cp $CHROOT/boot/initrd.img-$KVER live/initrd

# 4. monta a ISO (xorriso, isohybrid)
xorriso -as mkisofs -o gnucego-live-mate-amd64.iso \
  -isohybrid-mbr isohdpfx.bin -c isolinux/boot.cat \
  -b isolinux/isolinux.bin -no-emul-boot \
  -boot-load-size 4 -boot-info-table -J -R .

# 5. publica (nome estável + datado) + sha256
Importante: o chroot é root-owned, então o build deve rodar com sudo. Se o mksquashfs rodar como usuário comum, os arquivos root-only (/etc/shadow, /etc/sudoers) são criados vazios no squashfs, quebrando o login do sistema instalado.

As variantes

Cinnamon, i3wm e GNOME usam o mesmo chroot. A única diferença é a sessão default do LightDM (trocada temporariamente pelo script gnucego-build-variant.sh):

gnucego-build-variant.sh <chroot> gnucego-live-cinnamon-amd64 "GNUcego Cinnamon" cinnamon
gnucego-build-variant.sh <chroot> gnucego-live-i3wm-amd64     "GNUcego i3wm"     i3
gnucego-build-variant.sh <chroot> gnucego-live-gnome-amd64    "GNUcego GNOME"    gnome

Identidade visual (o que foi configurado no chroot)

Tema GNUcego-Dark

Criado a partir do BlackMATE (que usa botões circulares), com duas mudanças:

Menu preto com hover vermelho: o fundo do menu (.menu, popover) e as linhas divisoras (menu separator) foram corrigidos para usar @theme_bg_color (escuro) em vez de @theme_selected_bg_color (vermelho). Assim o menu fica preto o tempo todo, e só o item sob o cursor fica vermelho.

O tema é definido via gschema.override do sistema (20_mate-debian.gschema.override), que tem prioridade sobre o dconf do usuário:

[org.mate.interface]
gtk-theme='GNUcego-Dark'
icon-theme='mate'

Ícone do menu (morcego)

O ícone start-here (botão do menu do painel) foi substituído pelo morcego do site, em todos os tamanhos (16/22/24/32/48/256), no tema de ícones mate.

Calamares (instalador)

Os 4 slides do carrossel:

  1. GNUcego 2026.2 LTS (introdução).
  2. A homenagem ao livro "Ensaio sobre a Cegueira" (Saramago).
  3. Por que o morcego (GNU + morcego = GNUcego, ver no escuro).
  4. O projeto GNU (bash, coreutils, Make, Emacs, Octave, binutils, GCC, glibc).

Plymouth (splash de boot)

O tema gnucego do Plymouth exibe o morcego pulsando (animação de opacidade via SetRefreshFunction) durante todo o boot, com o título "GNUcego" em vermelho — deixando claro que o sistema não travou.

LightDM + autologin

O live faz autologin no usuário gnucego (sem senha) para entrar direto no MATE. No sistema instalado, o Calamares cria o usuário do instalador normalmente.

fastfetch

O logo do morcego em ASCII (gerado com chafa a partir do morcego do site) é instalado em /etc/fastfetch/gnucego-logo.txt, colorido de vermelho via color: {"1": "red"}.

Atalho Ctrl+Enter → Terminator

Adicionado o keybinding do Marco run-command-9='<Control>Return' com command-9='terminator' no gschema.override.

O Calamares (configurações chave)

# /etc/calamares/modules/users.conf
defaultGroups: [cdrom, dip, plugdev, sudo, users]
doAutologin: true
setRootPassword: false

# /etc/calamares/modules/removeuser.conf  (remove o gnucego do instalado)
username: gnucego

# /etc/calamares/modules/shellprocess.conf  (remove o instalador do sistema)
dontChroot: false
script:
  - "rm -rf /home/gnucego"
  - "rm -f /usr/share/applications/calamares.desktop"
  - "apt-get remove -y --purge calamares"

A sequência exec do Calamares (no settings.conf) ficou:

- exec:
  - partition
  - mount
  - unpackfs
  - machineid
  - fstab
  - locale
  - keyboard
  - localecfg
  - initramfs
  - users
  - removeuser
  - displaymanager
  - networkcfg
  - hwclock
  - bootloader
  - shellprocess
  - umount

A live Testing

Existe um chroot separado (gnucego-testing-chroot) com a base ogum (testing), kernel 7.3.1-gnu, e a mesma identidade. Ele produz gnucego-testing-live-amd64.iso. As mudanças de tema/Calamares/plymouth/GRUB do stable são sincronizadas para lá.

→ Próximo: todos os scripts (código-fonte completo)