Skip to main content
Gateway полностью поддерживается в Linux и требует Node. Bun по-прежнему можно использовать для установки зависимостей или запуска скриптов пакетов, но он не может запускать OpenClaw, поскольку не предоставляет node:sqlite.

Сопутствующее приложение для рабочего стола

Сопутствующее приложение OpenClaw для Linux — это настольное приложение Tauri для локального Gateway. Оно:
  • устанавливает CLI OpenClaw и управляемую среду выполнения Node, если они отсутствуют
  • подключается к исправному Gateway перед попыткой изменить службу
  • делегирует операции установки, запуска, остановки и перезапуска пользовательской службе systemd, управляемой через CLI
  • открывает предоставляемый Gateway интерфейс управления по определённому URL аутентификации
  • остаётся доступным в системном трее после закрытия окна
Готовые выпуски пока не публикуются. Соберите .deb и AppImage из копии исходного кода:
Процесс CI Linux App также загружает те же пакеты в виде артефакта openclaw-linux-companion для запросов на включение изменений, затрагивающих приложение, и для запусков вручную. Зависимости для сборки в Linux и команды разработки см. в apps/linux/README.md в репозитории.

Альтернатива с CLI и SSH

CLI остаётся самым простым вариантом для сервера без графического интерфейса, VPS или удалённого Gateway:
  1. Установите Node 24.15+ (рекомендуется), Node 22.22.3+ (LTS) или Node 25.9+.
  2. npm i -g openclaw@latest
  3. openclaw onboard --install-daemon
  4. На ноутбуке выполните: ssh -N -L 18789:127.0.0.1:18789 <user>@<host>
  5. Откройте http://127.0.0.1:18789/ и пройдите аутентификацию с помощью настроенного общего секрета (по умолчанию токена; пароля, если gateway.auth.mode имеет значение "password").
Полное руководство по серверу: Сервер Linux. Пошаговый пример для VPS: exe.dev.

Установка

Служба Gateway (systemd)

Установите одним из следующих способов:
Восстановите или перенесите существующую установку:
openclaw gateway install по умолчанию создаёт пользовательский модуль systemd. Полное руководство по службе, включая вариант модуля системного уровня для общих или постоянно работающих узлов, приведено в руководстве по эксплуатации Gateway. Создавайте модуль вручную только для нестандартной конфигурации. Минимальный пример пользовательского модуля (~/.config/systemd/user/openclaw-gateway[-<profile>].service):
Включите его:

Нехватка памяти и завершение процессов из-за OOM

В Linux ядро выбирает жертву OOM, когда на узле, виртуальной машине или в cgroup контейнера заканчивается память. Gateway плохо подходит на роль жертвы, поскольку он обслуживает долгоживущие сеансы и подключения к каналам, поэтому OpenClaw по возможности повышает вероятность завершения временных дочерних процессов в первую очередь. Для подходящих дочерних процессов Linux OpenClaw оборачивает команду коротким скриптом /bin/sh, который повышает собственное значение oom_score_adj дочернего процесса до 1000, а затем выполняет exec реальной команды. Для этого не требуются повышенные привилегии: процесс всегда может повысить собственную оценку OOM. Охватываются следующие типы дочерних процессов:
  • Дочерние процессы команд под управлением супервизора
  • Дочерние процессы оболочки PTY
  • Дочерние процессы серверов MCP stdio
  • Процессы браузера/Chrome, запускаемые OpenClaw (через среду выполнения процессов SDK плагинов)
Обёртка используется только в Linux и пропускается, если /bin/sh недоступен или если в окружении дочернего процесса для OPENCLAW_CHILD_OOM_SCORE_ADJ задано значение 0, false, no или off. Проверьте дочерний процесс:
Ожидаемое значение для охватываемых дочерних процессов — 1000; сам процесс Gateway сохраняет обычную оценку (как правило, 0). Параметр OOMPolicy=continue модуля systemd оставляет службу Gateway запущенной, когда средство OOM killer выбирает временный дочерний процесс, вместо того чтобы помечать весь модуль как сбойный и перезапускать все каналы; завершившийся дочерний процесс или сеанс сообщает о собственной ошибке. Это не заменяет обычную настройку памяти. Если VPS или контейнер регулярно завершает дочерние процессы, увеличьте лимит памяти, сократите параллелизм или добавьте более строгие ограничения ресурсов (systemd MemoryMax=, лимиты памяти контейнера).

Связанные материалы