ChromeOS Linux

Use 200 OK without Android or Google Play

This is the full-control ChromeOS option: install one small signed Linux component, then configure, start, stop, and update it from the Chrome extension—without Google Play.

Before you start: your Chromebook and profile must allow the Linux development environment. Older devices, child accounts, and managed work or school profiles may not provide it. ChromeOS Flex support also varies by model and is x86_64 only.

Install

  1. Open ChromeOS Settings → About ChromeOS → Developers → Linux development environment, then choose Set up.
  2. Open Terminal after Linux finishes installing.
  3. Paste this command and press Enter:
    curl -fsSL https://ok200.app/install-crostini.sh | bash
  4. Open 200 OK Web Server from the ChromeOS Launcher. The extension will ask once for permission to communicate with the local Linux controller.

The installer detects x86_64 or ARM64, verifies the signed release manifest, and installs only for your Linux user. It does not use sudo, enable an always-on service, or start serving a folder.

After a reboot

Open 200 OK Web Server from the ChromeOS Launcher whenever you want to use it. That Launcher item wakes Linux and opens the extension controller. If ChromeOS cannot wake it, open Terminal once, wait for the prompt, close Terminal, and try the Launcher item again.

Choose a folder

The default is ~/Downloads/200 OK under Linux files. To serve a Chromebook folder, right-click it in the Files app, choose Share with Linux, then enter its /mnt/chromeos/… path in the controller. Linux cannot read unshared ChromeOS folders.

Reach it from another device

  1. Start the server in the extension controller.
  2. Open ChromeOS Settings → About ChromeOS → Developers → Linux development environment → Port forwarding.
  3. Add the content port shown by 200 OK (8080 by default) as TCP and turn it on.
  4. Use the Chromebook's Wi-Fi IPv4 address, shown in its network details, from the other device.
Forward only the content port you selected. Never forward controller port 20080.

Updates and removal

The controller checks the signed update channel while Linux is already running. Automatic installation is opt-in and waits until the web server is stopped. These recovery commands are also available in Terminal:

ok200-crostini check-update
ok200-crostini update
ok200-crostini rollback
ok200-crostini uninstall

Normal uninstall preserves controller settings for a later reinstall. ok200-crostini uninstall --purge also removes pairing and update state. Neither command deletes served folders.

← Compare ChromeOS options