Skip to content

Linux Терминал Сервер

Полноценный Ubuntu-терминал прямо в браузере — не симуляция, не WebContainer, не WSL. Это Docker-контейнер, изолированный по пользователю, работающий на Ubuntu 22.04 с bash, apt, sudo, всем вашим toolchain (Node, Python, Go и т.д.) и предустановленным roqueos-cli для управления десктопом RoqueOS прямо из shell.

Терминал с запущенным htop

Чем он отличается

  • 🐧 Настоящий Ubuntu 22.04 с Linux-ядром хоста (не симуляция)
  • 👤 Изолирован по пользователю — у каждого логина свой контейнер, постоянная домашняя директория, отдельные процессы
  • 🔐 Sudo без пароля внутри контейнера (вы root СВОЕЙ среды, без влияния на других)
  • 💾 Постоянная домашняя директория в Docker-томе — находится в /data/roqueos/users/<your-id>/, переживает сессии
  • 🛠️ Предустановленные пакеты: Node.js 22, Python 3, Go, Rust toolchain, Git, curl, wget, htop, vim, nano, jq, build-essential
  • 🌐 Доступ к сети полный — можно запустить HTTP-сервер, скачать файл, подключиться к внешней БД
  • 🤖 roqueos-cli предустановлен — вызывает десктоп RoqueOS (notifications, открыть apps, создать файл)

Как открыть

Launchpad → Terminal. Первый раз ~5с на spin up контейнера (потом мгновенно). Несколько инстансов OK — открывайте сколько нужно.

Реальные случаи использования

Быстрый скрипт обслуживания:

bash
# Очистить /tmp от старых логов + уведомить когда закончится
find /tmp -name "*.log" -mtime +7 -delete
roqueos-cli notify "Очистка OK" "Логи > 7 дней удалены"

Setup нового проекта:

bash
cd ~/projects
git clone https://github.com/your/project
cd project
yarn install
yarn dev &  # запустить в фоне
roqueos-cli open-url "http://localhost:5173"  # открыть в Roque Browser

Cron мониторинга:

bash
crontab -e
# Вставить:
0 9 * * * df -h | awk '$5+0 > 80 {system("roqueos-cli notify \"Диск заполнен\" \"" $6 " " $5 "\"")}'

Ad-hoc pipeline:

bash
# Стрим лога сервера + автоматический алерт если появится "ERROR"
docker logs -f roqueos-server 2>&1 | \
  grep --line-buffered ERROR | \
  xargs -I{} roqueos-cli notify "Ошибка RoqueOS" "{}"

roqueos-cli — управление десктопом из shell

Тот же CLI, что использует RoqueClaw. Запустите roqueos-cli --help в Terminal для полного справочника — это источник истины.

6 канонических действий:

roqueos-cli notify       <title> <message>      # Уведомление на десктоп
roqueos-cli open-app     <appId>                # Открыть приложение (finder, vscode, browser и др.)
roqueos-cli open-url     <url>                  # Открыть URL в Roque Browser
roqueos-cli create-file  <path>                 # Создать файл, читая содержимое из stdin
roqueos-cli run-terminal <command>              # Выполнить команду + вернуть stdout
roqueos-cli show-dialog  <message> [--type X]   # Модал confirm/alert/info

Практические примеры:

bash
# Уведомление
roqueos-cli notify "Заголовок" "Сообщение"

# Открыть приложение RoqueOS
roqueos-cli open-app finder

# Открыть URL в Roque Browser
roqueos-cli open-url "https://github.com"

# Создать файл в Finder (читает stdin)
echo "Заметки совещания..." | roqueos-cli create-file "/home/user/notes/reuniao.md"

# Выполнить команду + вернуть вывод как уведомление
roqueos-cli run-terminal "df -h"

# Модал подтверждения (ждёт ответа)
roqueos-cli show-dialog "Удалить 50GB старых логов?" --type confirm

Синтаксис использует позиционные аргументы (не флаги --title/--message). Если ваша версия CLI отличается, обновите через apt-get install --reinstall roqueos-cli внутри контейнера.

Полная документация: RoqueClaw + CLI.

Общий файловая система

Файлы в /home/user/ Terminal — ТЕ ЖЕ, что появляются в Finder и VS Code. Всё в синхронизации:

  • Сохранить код в VS Code → появляется в ls Terminal
  • Создать папку в Finder → cd работает в Terminal
  • wget скачивает в Terminal → появляется в Finder в Roque Browser

Terminal + Finder бок о бок показывают одну файловую систему

Ресурсы контейнера

РесурсПо умолчанию
Память RAM2 GB (настраивается через env CONTAINER_MEMORY_LIMIT)
CPU2 ядра общие
ДискВыделенный Docker-том
СетьBridge roqueos-network (доступ к другим контейнерам сервера)
Образroqueribeiro1988/roqueos-server-ubuntu:latest (Ubuntu 22.04)

Горячие клавиши xterm.js

СочетаниеДействие
Ctrl+Shift+CКопировать выделение
Ctrl+Shift+VВставить
Ctrl+Shift++ / Ctrl+-Увеличить/уменьшить размер шрифта
Ctrl+Shift+FПоиск в буфере
Ctrl+L (bash)Очистить терминал
Ctrl+DLogout / закрыть shell
Ctrl+RОбратный поиск по истории bash

Touch input на мобильных поддержан нативно (xterm.js определяет).

Персистентность между сессиями

/home/user/ (и любые подпапки) персистируются между закрытиями приложения, рестартами контейнера, апдейтами RoqueOS Server (install.sh --update). Теряется только если вручную удалить Docker-том roqueos-userdata-<uid> или пересоздать сервер с нуля (docker compose down -v).

Установка дополнительных пакетов

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

Пакеты остаются в контейнере вашего пользователя — другие пользователи того же сервера их не видят. Хорошая практика: записать в /home/user/.bashrc какие пакеты установлены, чтобы переустановить, если контейнер однажды будет пересоздан.

Разница с xterm напрямую / WSL

АспектRoqueOS TerminalWSL / xterm локальный
Setup0с (уже запущен)Установить Linux + dist + setup
ДоступЛюбой залогиненный браузерТолько ваша машина
Multi-device✅ телефон видит ту же home
ПерсистентностьDocker-том сервераЛокальный диск
ИзоляцияКонтейнер per-userОбщая
ПроизводительностьСервер↔браузер задержкаНативно

См. также