Как отладить приложение 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>