Skip to content

🌐 Cette page n'est pas encore traduite en français. Affichage de la référence portugaise (BR). Aidez-nous à traduire.

Terminal Linux Servidor

Terminal Ubuntu completo direto no navegador — não é simulação, não é WebContainer, não é WSL. É um container Docker isolado por usuário rodando Ubuntu 22.04 com bash, apt, sudo, sua toolchain inteira (Node, Python, Go, etc.) e o roqueos-cli pré-instalado pra você controlar o desktop RoqueOS direto do shell.

Terminal com htop rodando

O que torna ele diferente

  • 🐧 Ubuntu 22.04 real com kernel Linux do host (não simulação)
  • 👤 Isolado por usuário — cada login tem container próprio, home persistente, processos separados
  • 🔐 Sudo sem senha dentro do container (você é root do SEU ambiente, sem afetar outros)
  • 💾 Home persistente em volume Docker — fica no /data/roqueos/users/<seu-id>/, sobrevive entre sessions
  • 🛠️ Pacotes pré-instalados: Node.js 22, Python 3, Go, Rust toolchain, Git, curl, wget, htop, vim, nano, jq, build-essential
  • 🌐 Acesso à rede completo — pode rodar servidor HTTP, baixar arquivo, conectar em DB externo
  • 🤖 roqueos-cli pré-instalado — chama o desktop RoqueOS (notifications, abrir apps, criar arquivo)

Como abrir

Launchpad → Terminal. Primeira vez leva ~5s pra spin up do container (depois é instantâneo). Múltiplas instâncias OK — abre tantas quantas precisar.

Casos de uso reais

Script rápido de manutenção:

bash
# Limpar /tmp de logs antigos + avisar quando terminar
find /tmp -name "*.log" -mtime +7 -delete
roqueos-cli notify "Limpeza OK" "Logs > 7 dias removidos"

Setup do projeto novo:

bash
cd ~/projects
git clone https://github.com/seu/projeto
cd projeto
yarn install
yarn dev &  # roda em background
roqueos-cli open-url "http://localhost:5173"  # abre no Roque Browser

Cron de monitoramento:

bash
crontab -e
# Cole:
0 9 * * * df -h | awk '$5+0 > 80 {system("roqueos-cli notify \"Disco cheio\" \"" $6 " " $5 "\"")}'

Pipeline ad-hoc:

bash
# Stream do log do servidor + alerta automático se "ERROR" aparecer
docker logs -f roqueos-server 2>&1 | \
  grep --line-buffered ERROR | \
  xargs -I{} roqueos-cli notify "RoqueOS error" "{}"

roqueos-cli — controle o desktop pelo shell

Comandos disponíveis (mesmo CLI que o RoqueClaw usa):

bash
# Notificação
roqueos-cli notify "Título" "Mensagem"

# Abrir app do RoqueOS
roqueos-cli open-app finder
roqueos-cli open-app vscode
roqueos-cli open-app browser

# Abrir URL no Roque Browser
roqueos-cli open-url "https://github.com"

# Criar arquivo no Finder (lê stdin)
echo "Notas da reunião..." | roqueos-cli create-file "/home/user/notes/reuniao.md"

# Executar comando + retornar output como notification
roqueos-cli run-terminal "df -h"

# Modal de confirmação (espera resposta)
roqueos-cli show-dialog "Apagar 50GB de logs antigos?" --type confirm

Documentação completa: RoqueClaw + CLI.

Filesystem compartilhado

Os arquivos no /home/user/ do Terminal são os MESMOS que aparecem no Finder e no VS Code. Tudo em sincronia:

  • Salva código no VS Code → aparece no ls do Terminal
  • Cria pasta no Finder → cd funciona no Terminal
  • wget baixa no Terminal → aparece no Finder no Roque Browser

Terminal + Finder lado a lado mostrando mesmo filesystem

Recursos do container

RecursoDefault
Memória RAM2 GB (configurável via env CONTAINER_MEMORY_LIMIT)
CPU2 cores compartilhadas
DiscoVolume Docker dedicado
NetworkBridge roqueos-network (acessa outros containers do servidor)
Imagemroqueribeiro1988/roqueos-server-ubuntu:latest (Ubuntu 22.04)

Atalhos do xterm.js

AtalhoAção
Ctrl+Shift+CCopiar selection
Ctrl+Shift+VColar
Ctrl+Shift++ / Ctrl+-Aumentar / diminuir font size
Ctrl+Shift+FFind in buffer
Ctrl+L (bash)Limpar terminal
Ctrl+DLogout / fechar shell
Ctrl+RReverse search no histórico bash

Touch input em mobile suportado nativamente (xterm.js detecta).

Persistência entre sessions

/home/user/ (e qualquer subpasta) persistem entre fechamentos do app, restarts do container, updates do RoqueOS Server (install.sh --update). Só perde se você apagar manualmente o volume Docker roqueos-userdata-<uid> ou recriar o servidor do zero (docker compose down -v).

Instalando pacotes extras

bash
sudo apt update
sudo apt install -y <pacote>

Os pacotes ficam no container do seu usuário — outros usuários do mesmo servidor não veem. Boa prática: anotar no /home/user/.bashrc quais pacotes você instalou pra reinstalar se algum dia o container for recriado.

Diferença vs xterm direto / WSL

AspectoRoqueOS TerminalWSL / xterm local
Setup0s (já está rodando)Install Linux + dist + setup
AcessoQualquer browser logadoSó sua máquina
Multi-device✅ celular acessa o mesmo home
PersistênciaVolume Docker do servidorDisco local
IsolationContainer per-userCompartilhado
PerformanceLatência server↔browserNativo

Veja também