Как отладить приложение Chrome Kiosk, работающее на Chromebox?

Приложение Chrome Kiosk, которое я написал, имеет проблему только при работе в режиме киоска на Chromebox. При просмотре приложения вручную после входа в Chromebox он работает хорошо. Также при тестировании приложения на моей машине разработки все работает хорошо.

Как я могу подключить удаленный сеанс отладки, записать информацию о удаленной регистрации или каким-либо другим способом получить отладочную информацию из приложения Kiosk на Chromebox на моей машине разработки?

Ответ 1

Если вы запустите Chrome с параметром --remote-debugging-port = 9222, он предоставит доступ к DevTools в http://localhost:9222/. Теперь, на Chromebox, работающем в режиме киоска, не все, что полезно (или даже возможно) без дополнительных шагов:

  • Поместите устройство в "режим разработчика". Инструкции зависят от от аппаратной модели.
  • Сделайте файловую систему доступной для записи, чтобы вы могли изменять аргументы командной строки chrome.
  • Добавить "--remote-debugging-port = 9222" в /etc/chrome_dev.conf.
  • killall chrome, чтобы изменения в командной строке вступили в силу.
  • Используйте ssh для входа в Chromebox и переадресации порта локально: ssh -L9222:127.0.0.1:9222 [email protected]<chromebox ip>
  • Доступ к DevTools с вашего локального компьютера в http://localhost:9222/

Учитывая все это, проще отладить приложение для киоска, если вы можете запустить его в неуправляемом режиме без киоска.

Ответ 2

В надежде сохранить другое немного времени в будущем, я обнаружил, что вам не нужно ssh в качестве пользователя chronos при попытке отладить приложение, работающее в режиме киоска.

Фактически, я обнаружил, что я не смог выполнить ssh в качестве пользователя chronos, пока устройство запускало приложение в неуправляемом режиме киоска вообще, однако я мог во время входа в ОС.

Вместо этого мне пришлось ssh в качестве пользователя root. Затем я смог настроить туннель, как описано в Reilly Grant, и подключиться к удаленному отладчику через localhost: 9222.

Это означает, что единственное изменение, которое вы должны внести в инструкции Reilly Grant, находится в шаге 5, изменив ssh -L9222:127.0.0.1:9222 [email protected]<chromebox ip> на ssh -L9222:127.0.0.1:9222 [email protected]<chromebox ip>