How to debug a Kiosk Chrome application running on a Chromebox?

google-chrome-app, google-chrome-devtools, google-chrome-extension, google-chrome-os

Solution

If you run Chrome with the --remote-debugging-port=9222 option it will provide access to DevTools at `http://localhost:9222/`. Now, on a Chromebox running in Kiosk mode that's not all that useful (or even possible) without some extra steps:

- Put your device in "developer mode". Instructions vary depending on hardware model.

- Make the file system writable so that you can modify chrome's command line arguments.

- Add "--remote-debugging-port=9222" to `/etc/chrome_dev.conf`.

- `killall chrome` or `pkill chrome` so that the command line changes take effect.

- Use ssh to log into the Chromebox and forward the port locally: `ssh -L9222:127.0.0.1:9222 chronos@<chromebox ip>`

- Access DevTools from your local machine at `http://localhost:9222/`

Given all this it is easier to debug a kiosk app if you can run it unpackaged in non-kiosk mode.

Problem

A Chrome Kiosk application that I wrote has a problem only when running in Kiosk mode on a Chromebox. When staring the application manually after I log into the Chromebox it runs well. Also when testing the application on my development machine everything works well. How can I attach a remote debug session, write remote logging information or in any other way get debugging information from the Kiosk application on the Chromebox to my development machine?

Original source