Вопрос или проблема
Я использую 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 или отдельное приложение. Работа с удалённым рабочим столом требует нескольких компонентов для безупречной работы:
-
Google Chrome и Chrome Remote Desktop Host: Эти программы должны быть обновлены до последних версий как на вашем клиенте, так и на хост-компьютере.
-
Session Management: CRD может вызнать проблемы с различными оконными менеджерами и средами рабочего стола. Например, GNOME, KDE, и т.д. могут иметь свои специфические проблемы и конфликты.
-
SSH Setup и Конфигурации: Инструкция "Set up via SSH" предполагает, что у вас корректно настроен SSH на машине, но у вас также должны быть правильные права и конфигурации для корректной работы службы CRD.
-
Проблемы с версией Python: Поскольку CRD использует Python для некоторых своих скриптов, изменения в синтаксисе или в работе Python могут приводить к ошибкам.
Пример
Ваш опыт показывает, что несколько разрывов соединений происходят после запуска, что наводит на мысль о неправильной конфигурации сеансов или проблемах совместимости с конкретными библиотеками или компонентами. То, что соединение разрывается сразу после выбора сеанса, когда оно работает через Remote Support, говорит о проблемах в конфигурации сеанса рабочего стола или в политике разрешений.
Применение
Чтобы максимально полно и эффективно разрешить возникшую проблему, мы предлагаём следующие шаги:
-
Обновление системы и компонентов: Убедитесь, что у вас установлены последние версии Ubuntu, Chrome, и CRD. Используйте команды:
sudo apt update sudo apt upgrade
и убедитесь, что все пакеты обновлены.
-
Определение и изменение оконного менеджера: Убедитесь, что установленный оконный менеджер корректно работает с CRD. Для некоторых версий Ubuntu, вход в простой сеанс "Xfce" вместо "GNOME" может решить проблему:
sudo apt-get install xfce4
После чего обновите файл конфигурации CRD, чтобы запустить Xfce. Измените файл
~/.chrome-remote-desktop-session
, добавив строку:exec /usr/bin/xfce4-session
-
Проверка разрешений: Убедитесь, что у вас поставлены правильные разрешения для CRD, а также, что ваш пользователь имеет необходимые полномочия.
sudo chmod +x ~/.chrome-remote-desktop-session
-
Корректировка CRD Script и Python: Ошибка, связанная с
SyntaxWarning: invalid escape sequence '\s'
, указывает на потенциальную ошибку конфигурации. Вам может потребоваться исправить строку, заменив её:re.split(r'\s+', os.environ[HOST_EXTRA_PARAMS_ENV_VAR].strip())
Это изменение заключает строку в "сырой" формат, чего достаточно, чтобы устранить предупреждение.
-
Управление сессиями: Если проблема заключается в открытых сессиях, попробуйте залогиниться и выходить из сеансов прежде чем покинуть компьютер или используйте сценарии для автоматизации закрытия сеансов.
-
Логирование и Отладка: Просмотрите и изучите журналы CRD для обнаружения ошибок. Логи можно найти в одной из следующих директорий:
cat /var/log/chrome-remote-desktop.log
или
cat ~/.cache/chrome-remote-desktop/chrome-remote-desktop.log
Следуя вышеописанным шагам, вы сможете выявить корень проблемы и эффективно её решить, чтобы использовать Chrome Remote Desktop для удалённого доступа к вашим системам на базе Ubuntu.