46 lines
2.0 KiB
Markdown
46 lines
2.0 KiB
Markdown
# Snap Chromium and browser-harness (Linux)
|
||
|
||
## Why Snap browsers break CDP
|
||
|
||
Ubuntu and several other distributions ship Chromium as a [Snap](https://snapcraft.io/) package. Snap runs apps in a confined environment. Chrome’s remote debugging endpoint must bind on the host network where the `browser-harness` daemon can reach it. Snap’s sandbox and filesystem layout commonly prevent that from working the way a normal `.deb` Chrome install does, so the harness may see no usable DevTools port even when Chromium appears to run.
|
||
|
||
Symptoms: `browser-harness --doctor` shows Chrome running, but the daemon never attaches, or CDP handshake fails without an obvious cause. [Issue #191](https://github.com/browser-use/browser-harness/issues/191) discusses this class of setup problem.
|
||
|
||
## Install Google Chrome natively (Ubuntu example)
|
||
|
||
Use Google’s official package (AMD64), not the Snap:
|
||
|
||
```bash
|
||
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
|
||
sudo apt install ./google-chrome-stable_current_amd64.deb
|
||
```
|
||
|
||
ARM or other architectures: download the matching package from [Google Chrome for Linux](https://www.google.com/chrome/linux/).
|
||
|
||
## Point the harness at the native binary
|
||
|
||
Put the non-Snap binary **first** in how you resolve “which Chrome,” so a Snap wrapper on `PATH` is not chosen by mistake.
|
||
|
||
- **`BH_CHROME_PATH`** — preferred name in this project’s docs and `browser-harness --doctor` snap probe.
|
||
- **`CHROME_PATH`** — honored the same way for compatibility with other tooling.
|
||
|
||
Example for `~/.bashrc` or your environment:
|
||
|
||
```bash
|
||
export BH_CHROME_PATH=/usr/bin/google-chrome-stable
|
||
```
|
||
|
||
Then start Chrome from that path for Way 2 (`--remote-debugging-port=…`), or use Way 1 with a profile opened from the native install. Connection details are in [`install.md`](../install.md).
|
||
|
||
## Verify
|
||
|
||
```bash
|
||
browser-harness --doctor
|
||
```
|
||
|
||
If a Snap binary is still the one detected on Linux, doctor prints a `[snap-detect]` warning. For a concise fix checklist:
|
||
|
||
```bash
|
||
browser-harness doctor --fix-snap
|
||
```
|