How to Set Up and Use Linux on a Chromebook

Unlocking Desktop Computing Power on ChromeOS

Chromebooks are celebrated for their speed, simplicity, cloud synchronisation, and all-day battery life. However, because ChromeOS originally functioned strictly as an operating system wrapped around a web browser, users historically faced severe software constraints: if an application could not run in a browser tab or as an Android app, it simply could not run on a Chromebook. Professional code editors, local Python compilers, Git version control, and desktop-class graphics software remained out of reach.

To eliminate these barriers, Google built a secure virtualized container engine directly into ChromeOS: the Linux development environment (internally codenamed Crostini). With a few clicks, you can boot a lightweight, fully functional Debian Linux terminal inside ChromeOS, allowing you to install desktop Linux software (such as Visual Studio Code, GIMP, LibreOffice, and Node.js) alongside your standard Chrome tabs without dual-booting or compromising Chromebook security.

Hardware Prerequisites and Compatibility

Virtually all modern Chromebooks released within the past several years support the Linux development environment:

  • Device Compatibility: Any Chromebook running ChromeOS version 69 or later on 64-bit x86 (Intel/AMD) or ARM processors.
  • Free Disk Space: At least 10 GB of free internal storage on your device (Google allocates a dedicated virtual disk image for the Linux container).
  • Security Status: You do not need to enable “Developer Mode” or disable system integrity checks. Linux runs safely within a hardened, sandboxed virtual machine managed by the ChromeOS hypervisor.

Step-by-Step Tutorial: Enabling Linux on Your Chromebook

  1. Click the Quick Settings panel (the clock and battery area) in the bottom-right corner of your desktop shelf.
  2. Click the Gear icon to open the ChromeOS Settings app.
  3. In the left-hand navigation menu, click About ChromeOS, then select Developers.
  4. Locate the Linux development environment section and click Turn on.
  5. A setup wizard will appear. Click Next.
  6. Configure Your Username: Choose a Linux username (lowercase letters and numbers only). This username becomes your standard non-root terminal profile.
  7. Allocate Disk Size: ChromeOS recommends a default disk allocation (typically around 10 GB). If your Chromebook has ample storage and you plan to install heavy IDEs or Docker containers, adjust the slider to 20 GB or 30 GB. You can dynamically resize this virtual disk later in Settings.
  8. Click Install. ChromeOS will download the latest Debian Linux container image and configure the environment. This process takes 3 to 8 minutes depending on your internet connection.

Updating and Navigating Your Linux Terminal

Once installation finishes, a dedicated Terminal window will open automatically, presenting a standard bash prompt:

username@penguin:~$

Before installing applications, update your container’s package index and upgrade base components:

sudo apt update && sudo apt upgrade -y

Installing Graphical Desktop Applications (GUI Apps)

Linux applications installed inside your container integrate seamlessly with ChromeOS. They appear directly in your ChromeOS App Launcher and open in standard, resizable desktop windows.

Example: Installing the GIMP Image Editor

sudo apt install -y gimp

Once installation completes, press the Everything button (Search key) on your Chromebook keyboard. Open the Linux apps folder in your app drawer, and click the GNU Image Manipulation Program icon. GIMP will launch natively on your desktop.

Installing Debian (.deb) Packages Directly from the Browser

You can also download standard Linux installers directly from web pages (such as the .deb package for Visual Studio Code from code.visualstudio.com):

  1. Download the .deb file using Google Chrome.
  2. Open the ChromeOS Files app and navigate to your Downloads folder.
  3. Right-click the downloaded .deb file and select Install with Linux.
  4. Click Install, and ChromeOS will unpack and configure the application automatically.

Sharing Files and USB Devices with Linux

Because the Linux container is sandboxed, it cannot browse your personal ChromeOS Downloads folder by default:

  • Sharing Folders: Open the Files app, right-click any folder (e.g., Downloads or Google Drive), and select Share with Linux. The folder will mount cleanly inside your container under /mnt/chromeos/MyFiles/.
  • USB Device Access: When you connect an Arduino, flash drive, or Android phone via USB, ChromeOS displays a prompt asking if you want to connect the hardware to Linux.

Frequently Asked Questions

Can I delete or reset the Linux environment if something breaks?

Yes. If you make a mistake or run out of disk space, go to Settings > Developers > Linux development environment, click the arrow, and select Remove. This completely wipes the container, allowing you to start fresh in minutes.

Does installing Linux impact Chromebook battery life?

When you are not running Linux applications, the container engine sits in a low-power idle state. Battery consumption only increases when running resource-intensive desktop programs or compiling code.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.