/pt-br/projects/compterm.md


Compterm

· github.com/crgimenes/compterm

Criei o Compterm para resolver um problema concreto do Grupo de Estudos de Go: mostrar o terminal ao vivo, durante uma aula, sem depender de compartilhamento de tela. Compartilhar tela come muita banda, exige software específico do lado de quem assiste e quase sempre fica pesado para quem está em conexão ruim.

A solução é mais simples do que parece. O Compterm transmite só o terminal pela rede e o cliente é o navegador, via WebSocket. Quem assiste não instala nada. Quem apresenta roda um binário.

Isso acabou cobrindo casos que apareceram depois: pareamento remoto em conexões fracas, uso na BBS Atomic Blast e demonstrações em geral. Suporte a BBS não é nostalgia decorativa, é requisito de projeto – funcionar bem em banda limitada e latência imprevisível força decisões de design que a maioria dos projetos similares ignora.

A configuração segue o padrão UNIX: argumento de linha de comando, variável de ambiente e, opcionalmente, um init.lua em ~/.config/compterm/. A precedência é a esperada – linha de comando vence env vars, e Lua pode sobrescrever qualquer um dos dois. Não inventei mecanismo novo.

Build com make. Em modo desenvolvimento (make dev) os assets ficam fora do binário; em produção, embutidos.

O repositório tem a lista completa de flags, variáveis de ambiente e exemplos.


crg.eti.br · © 2026 Cesar Gimenes · CC BY 4.0 · github · en