To use Linux on a Chromebook, open Settings > About ChromeOS > Developers, then select Set up beside Linux development environment. Choose your Linux username and disk size, select Install, and wait for Terminal to open. You can then install Linux applications and open them from the Launcher.
The built-in environment runs alongside ChromeOS and does not require Developer Mode or a separate Debian installation image. Start with this option for Linux applications and command-line tools.
The short version
- Setup: Update ChromeOS, then enable Linux development environment in Developers.
- Applications: Install apps with APT, compatible Debian packages, a graphical software manager, or Flatpak.
- Files: Put documents in Linux files or select Share with Linux for an eligible folder.
- Maintenance: Update Linux packages separately and back up your environment before restoring or removing it.
| Installation method | Where to start | What you need |
|---|---|---|
| APT repository installation | Terminal | An available Debian repository package |
| Debian package through Files | Double-click a .deb file in Files | Matching architecture and compatible dependencies |
| Debian package through Terminal | Place the .deb file in Linux files | The filename and compatible dependencies |
| Graphical software manager | Software in the Launcher | Available packages and configured backends |
| Flatpak | Flathub applications | Flatpak setup and an architecture-compatible app |
Check support and update ChromeOS
Google says devices launched in 2019 or later support Linux unless otherwise specified. If your Chromebook is older, check your exact model against Google's Linux compatibility list. Availability also depends on your account and your administrator's policies.
Select the time on the shelf, open Settings, and choose About ChromeOS. Select Check for updates, let the download finish, then select Restart when prompted. After updating, look for Linux development environment under Developers.
Set up the Linux environment
Return to Settings > About ChromeOS > Developers. Beside Linux development environment, select Set up and follow the prompts. Choose your username and initial disk size, then select Install.
Your available Chromebook storage limits how much space you can assign to Linux. ChromeOS downloads the required components during setup, and Terminal opens when installation finishes. Older instructions may use Advanced and Turn on; the current setup path uses About ChromeOS and Set up.
You can also reach setup through Terminal. Open it and select Set up under Linux before installation, or Manage after installation. You do not need experimental browser flags for ordinary setup.
Open Terminal and install your first apps
Press Search or Launcher, search for Terminal, and open it. For quicker access later, right-click its shelf icon and select Pin. Installed graphical Linux apps also appear in the Launcher when they provide a launcher entry.
APT installs applications from your Linux environment's configured Debian repositories. First refresh the package information by running this command in Terminal:
sudo apt updateNext, install your application using its repository package name. Replace PACKAGE_NAME below with that name; availability depends on your Debian release and Chromebook's processor architecture.
sudo apt install PACKAGE_NAMEA publisher may instead offer a downloadable Debian package ending in .deb. Download the package that matches your architecture, open Files, double-click it, and accept the installation prompt. If installation fails because of incompatible architecture or unavailable dependencies, you need a package compatible with your environment.
To install that file through Terminal, place it in Linux files and enter its directory. Run the following command, replacing PACKAGE.deb with the actual filename and keeping the ./ prefix:
sudo apt install ./PACKAGE.debIf you prefer browsing applications in a graphical window, install the software manager with this command. The applications it offers depend on your configured repositories and software backends.
sudo apt install -y gnome-software gnome-packagekitRefresh the package information again with the command below. Then open Software, Package, or Package Update from the Launcher.
sudo apt updateAdd applications from Flathub
You can use Flatpak to install applications distributed through Flathub. Begin by installing Flatpak in Terminal:
sudo apt install flatpakAdd Flathub for your Linux user with the following command. Keep --user in the later Flatpak commands so they use the same installation scope.
flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepoRight-click Terminal on the shelf and select Shut down Linux, then reopen Terminal. Browse the Flathub application catalog and open your chosen application's page for its installation instructions. The application must be available for your Chromebook's architecture.
You can also search directly from Terminal with the command below. Replace NAME with the application name, then find its application ID in the results.
flatpak --user search NAMEInstall the application with the first command below, replacing APP_ID with its actual ID. After installation, open its Launcher entry or use the second command to run it.
flatpak --user install flathub APP_IDflatpak --user run APP_IDMake your files available to Linux
Open Files > Linux files to access files stored inside your environment. Copy or drag documents and directories there to use them with Linux applications. You can also place downloaded packages there for Terminal installation.
To use a folder from another eligible location without moving it, right-click the folder in Files and select Share with Linux. Your Linux applications can access shared folders beneath /mnt/chromeos. Enter that location in Terminal with:
cd /mnt/chromeosTo remove access, open Settings > About ChromeOS > Developers > Linux development environment > Manage shared folders. Select the folder's Stop sharing control. This removes Linux access without deleting the underlying files.
Allow microphone and USB access
To let Linux applications use your microphone, open Settings > About ChromeOS > Developers > Linux development environment. Enable Allow Linux to access your microphone and accept a Linux shutdown if requested. This permission applies to Linux collectively, and you can revoke access through the same control.
Check that permission first when a Linux app cannot use your microphone. If the microphone also fails outside Linux, continue with the steps to troubleshoot microphone problems on your computer.
For a supported USB peripheral, open Manage USB devices in Linux settings and select Add. Choose the peripheral under Device, then select Add again. Use its Remove control to disconnect it later.
Only supported attached peripherals appear in that panel; an older interface may show device switches instead. Sharing a storage folder through Files is separate from passing a peripheral directly to Linux, so use Share with Linux when you need access to an eligible folder.
Update apps and manage storage
Update your Linux packages separately from ChromeOS. To update packages from the configured Debian repositories, open Terminal and run the following command. Restart the Chromebook afterward if necessary.
sudo apt-get update && sudo apt-get dist-upgradeThis updates packages within your configured repositories; it does not select a new Debian release. The older built-in container Upgrade workflow has been removed. For applications installed through the per-user Flatpak setup, run:
flatpak --user updateTo remove an individual Linux application, open the Launcher, right-click its icon, select Uninstall, then confirm with Uninstall. Applications without that action need their package manager instead. For an APT-installed package, replace PACKAGE_NAME below and review the proposed removals before accepting:
sudo apt remove PACKAGE_NAMERemove a Flatpak application with the following command, replacing APP_ID with its application ID. Keep the same per-user option you used during installation.
flatpak --user uninstall APP_IDWhen Linux needs more room, open its settings and select Disk size > Change. Adjust the slider and select Resize. If a dynamically allocated disk offers Reserve size, select it and confirm before resizing. Available internal storage limits the allocation, and some older disks require a backup and recreation instead.
Back up Linux before restoring or removing it
Open Settings > About ChromeOS > Developers > Linux development environment > Backup & restore. Select Backup, choose the destination and filename, then select Save. Your destination needs enough free storage for the backup.
Restoring a backup deletes your current Linux applications and data, so save anything you want to keep first. Return to Backup & restore, select Restore, and confirm replacement. Choose your backup file and select Open. Backups made with the current Backup control use the .img.zst extension, while older backups may use .tini. If you transfer a backup between Chromebooks, their CPU architectures must match and their Linux environment generations must be compatible.
To remove Linux entirely, back up the Linux data you want to keep, then open its settings. Under Remove Linux development environment, select Remove. This deletes the environment, including its installed applications and stored data.
Fix missing setup controls and app problems
If the Linux setup control is missing after updating, check your model's compatibility and your signed-in account. Linux requires an eligible primary user session and is unavailable to supervised child accounts, Guest sessions, and ephemeral sessions. On a school or work Chromebook, contact your administrator if policy blocks Linux. Browser flags cannot override unsupported hardware or administrator restrictions.
When a Linux application stops responding, right-click Terminal on the shelf and select Shut down Linux. This closes running Linux applications without removing them. Open Terminal or a Linux application to start the environment again.
If the entire Chromebook is unresponsive, continue with the steps to restart a computer that is unresponsive. Use shutdown when you only need to restart Linux, since removing the environment deletes its applications and data.
For a Linux app with unsuitable scaling, open its context menu and choose Use low density or Use high density when available. Restart the app if required for the change to take effect. If the display is blurry beyond that application, continue with the steps to fix a blurry computer screen.
Avoid old Crouton and GalliumOS installation tutorials: Crouton is end-of-life, and GalliumOS development is discontinued. Replacing ChromeOS with native Linux is a separate, model-specific firmware task that Google does not support.
Frequently Asked Questions
Can you customize the Chromebook Terminal?
Yes, right-click Terminal, select Settings, and open Appearance to change its theme, background, font, and cursor. Select a theme's Reset action to restore its defaults. You can also adjust input and tab preferences under Keyboard & mouse or Behavior.
Can you use a portable AppImage on a Chromebook?
Yes, download an architecture-compatible AppImage from its publisher, put it in Linux files, and enter its directory in Terminal. Replace the example filename, make it executable with chmod +x my.AppImage, then launch it with ./my.AppImage. If FUSE is unavailable, a supporting type-2 AppImage can instead run with ./my.AppImage --appimage-extract-and-run.
Can you connect to another Linux computer without installing Linux locally?
Yes, open Terminal, select Add SSH, and fill in Connection name and Command, using username@hostname as the destination. Import an identity if needed, save the connection, and open it to authenticate. You need a reachable SSH server and permission to use outgoing SSH, but no local Linux installation.
Can you open remote Linux files in the Chromebook Files app?
Yes, a saved Terminal SSH connection can mount files from a server that provides SFTP. Open the connection's menu on Terminal's home screen, select Mount to Files, and authenticate. Access the mount in Files and keep its connection tab open while using it.
Can you choose a different Linux distribution during ordinary setup?
Ordinary setup does not offer a distribution selector. Additional distribution containers are an advanced option for Termina/LXD environments, and Google tests only its default container. Those commands do not apply to every Linux environment on current ChromeOS.