X11 через SSH: требования и ограничения
Anubis пересылает X11-трафик через SSH, но не рисует X11-окна самостоятельно и не устанавливает X server. Это не RDP, не удалённый Chrome и не показ существующего рабочего стола.
Настройка
- На машине, где работает SSH-backend Anubis, подготовьте локальный X server: например, XQuartz на macOS, X.org-совместимую сессию на Linux или совместимый X server на Windows.
- Сохраните аутентификацию X server и ограничьте доступ доверенным процессам. На Unix убедитесь, что процесс Anubis получает корректный
DISPLAYи доступ кxauth. Не публикуйте cookie. - Администратор SSH-сервера должен разрешить X11 forwarding для вашей учётной записи; на сервере должны быть необходимые X11-приложения и средства аутентификации.
- В SSH-закладке включите x11; по умолчанию это поле выключено. Переподключитесь и проверьте разрешённое графическое приложение без чувствительных данных.
Не используйте «Disable access control», отключение «Authenticate connections» или расширяющий доступ xhost как способ исправления. Некоторые старые подсказки исходников предлагают ослабление защиты; это руководство намеренно его не рекомендует. Если безопасный режим конкретного X server несовместим, остановитесь и согласуйте другой способ доступа.
Где появится окно
«Локальный» означает локальный для SSH-backend. В standalone/managed Web это хост backend, не компьютер браузера оператора: Web не содержит X11 renderer и не доставляет X11-окно в браузер. SYSTEM/session 0 также не предоставляет интерактивный экран пользователя.
Реальные границы реализации
Source-контракт читает DISPLAY, проверяет локальные socket/TCP endpoints и отдельно пытается получить cookie через xauth list :0. Поэтому иной display или успешная проверка TCP сами по себе не подтверждают правильную X11-аутентификацию. Поддержка произвольных display-конфигураций не гарантирована.
При connection hopping в текущем SSH-пути обработчик X11 пропускается; не обещайте X11 через цепочку переходов. Проверьте прямое разрешённое SSH-соединение либо используйте другой согласованный способ.
Предупреждение «нет X server» относится к backend. Ошибка cookie требует восстановления окружения/аутентификации, а не выключения контроля доступа. Проверяйте отдельно доступность SSH, разрешение forwarding и окружение X server.
Основание: x11.js, session-ssh.js, поле x11. Это описание исходников, не новая живая приёмка.