Chrome Remote Desktop: отключение при запуске сеанса

Вопрос или проблема

Я использую Ubuntu 24.04 на домашнем компьютере, к которому я хотел бы получить удаленный доступ через Google Chrome Remote Desktop. Рабочая станция обычно работает без дисплея или периферийных устройств. Я могу получить доступ к ней через SSH.

В Remote Desktop я выполнил шаги “Настройка через SSH”, чтобы установить клиент на рабочей станции Ubuntu. Компьютер появляется в списке. Когда я открываю его, появляется диалоговое окно “Выберите сеанс для запуска в вашей среде Chrome Remote Desktop”. После любого выбора я сразу же отключаюсь, и компьютер на короткое время появляется в режиме офлайн:

При входе в удаленный рабочий стол меня выбрасывает

Другие важные детали:

  • Я могу успешно подключиться с помощью функции “Удаленная поддержка” в Chrome Remote Desktop (но это не долгосрочное решение, так как требует доступа к удаленному компьютеру).
  • Это проблема при подключении с любого устройства — я пытался подключиться с 2 MacBook и 1 Android, и столкнулся с той же проблемой.
  • При выполнении команд chrome-remote-desktop я получаю предупреждение Python:
$ /opt/google/chrome-remote-desktop/chrome-remote-desktop --start
/opt/google/chrome-remote-desktop/chrome-remote-desktop:2526: SyntaxWarning: invalid escape sequence '\s'
re.split('\s+', os.environ[HOST_EXTRA_PARAMS_ENV_VAR].strip())
2024-08-02 14:05:16,537:INFO:Сервис уже запущен.
  • Версия Python на удаленной рабочей станции – версия 3.12.3.
  • Я пытался следовать этому ответу, но решение устарело, и не все предлагаемые правки применимы к текущей версии.

Что я выяснил, так это то, что он работает, если сеанс на компьютере закрыт. Проблема в том, что если сеанс остается открытым, вы не можете получить доступ.
Кто-нибудь смог это решить?

Ответ или решение

Chrome Remote Desktop (CRD) — это популярный инструмент, который позволяет удалённо управлять одним компьютером с другого. Однако иногда могут возникать проблемы, которые мешают стабильному подключению. В вашем случае, проблема заключается в том, что после выбора сеанса запуска в CRD происходит немедленное отключение, и компьютер временно отображается как офлайн. Рассмотрим эту ситуацию более детально.

Теория

Chrome Remote Desktop устанавливает удалённое соединение между вашим клиентским устройством и хост-компьютером через браузер Google Chrome или отдельное приложение. Работа с удалённым рабочим столом требует нескольких компонентов для безупречной работы:

  1. Google Chrome и Chrome Remote Desktop Host: Эти программы должны быть обновлены до последних версий как на вашем клиенте, так и на хост-компьютере.

  2. Session Management: CRD может вызнать проблемы с различными оконными менеджерами и средами рабочего стола. Например, GNOME, KDE, и т.д. могут иметь свои специфические проблемы и конфликты.

  3. SSH Setup и Конфигурации: Инструкция "Set up via SSH" предполагает, что у вас корректно настроен SSH на машине, но у вас также должны быть правильные права и конфигурации для корректной работы службы CRD.

  4. Проблемы с версией Python: Поскольку CRD использует Python для некоторых своих скриптов, изменения в синтаксисе или в работе Python могут приводить к ошибкам.

Пример

Ваш опыт показывает, что несколько разрывов соединений происходят после запуска, что наводит на мысль о неправильной конфигурации сеансов или проблемах совместимости с конкретными библиотеками или компонентами. То, что соединение разрывается сразу после выбора сеанса, когда оно работает через Remote Support, говорит о проблемах в конфигурации сеанса рабочего стола или в политике разрешений.

Применение

Чтобы максимально полно и эффективно разрешить возникшую проблему, мы предлагаём следующие шаги:

  1. Обновление системы и компонентов: Убедитесь, что у вас установлены последние версии Ubuntu, Chrome, и CRD. Используйте команды:

    sudo apt update
    sudo apt upgrade

    и убедитесь, что все пакеты обновлены.

  2. Определение и изменение оконного менеджера: Убедитесь, что установленный оконный менеджер корректно работает с CRD. Для некоторых версий Ubuntu, вход в простой сеанс "Xfce" вместо "GNOME" может решить проблему:

    sudo apt-get install xfce4

    После чего обновите файл конфигурации CRD, чтобы запустить Xfce. Измените файл ~/.chrome-remote-desktop-session, добавив строку:

    exec /usr/bin/xfce4-session
  3. Проверка разрешений: Убедитесь, что у вас поставлены правильные разрешения для CRD, а также, что ваш пользователь имеет необходимые полномочия.

    sudo chmod +x ~/.chrome-remote-desktop-session
  4. Корректировка CRD Script и Python: Ошибка, связанная с SyntaxWarning: invalid escape sequence '\s', указывает на потенциальную ошибку конфигурации. Вам может потребоваться исправить строку, заменив её:

    re.split(r'\s+', os.environ[HOST_EXTRA_PARAMS_ENV_VAR].strip())

    Это изменение заключает строку в "сырой" формат, чего достаточно, чтобы устранить предупреждение.

  5. Управление сессиями: Если проблема заключается в открытых сессиях, попробуйте залогиниться и выходить из сеансов прежде чем покинуть компьютер или используйте сценарии для автоматизации закрытия сеансов.

  6. Логирование и Отладка: Просмотрите и изучите журналы CRD для обнаружения ошибок. Логи можно найти в одной из следующих директорий:

    cat /var/log/chrome-remote-desktop.log

    или

    cat ~/.cache/chrome-remote-desktop/chrome-remote-desktop.log

Следуя вышеописанным шагам, вы сможете выявить корень проблемы и эффективно её решить, чтобы использовать Chrome Remote Desktop для удалённого доступа к вашим системам на базе Ubuntu.

Оцените материал
Добавить комментарий

Капча загружается...