How to Install Linux on Your Chromebook – Complete Tutorial (2023)

So, you want to install Linux on your Chromebook.

You’re probably trying to install some familiar program and you’ve read that you need a copy of Linux to run it.

Or maybe you’re trying to install a copy of Linux so you can run it simultaneously with Chrome OS.

Maybe you want a full-blown desktop rather than a stripped-down Chrome OS.

Or maybe you just want to play Minecraft on your Chromebook and you’ve read you need Crouton.

Whatever the case, here’s how to install Linux on your Chromebook.

To get Linux, you need Crouton.

This guide will go over Crouton’s purpose, the actual installation of Linux, some tips and tricks for Linux, and then a troubleshooting and an uninstall section if you messed up.

By the end of this tutorial, you should have Linux installed alongside Chrome OS on your Chromebook.

So essentially you’ll have two operating systems running at the same time (also known as “dual booting”). Fancy.

Let’s get started.

Last updated: 3/8/23. Updated for accuracy in 2023 with Linux Beta on Chrome OS!

Do you already have Linux on your Chromebook?

Chrome OS recently rolled out a Linux (beta) feature, which lets you run Linux within a Chrome Browser tab in full!

Although this is still new and has some bugs, it works relatively smoothly. If you have this feature, I suggest using it instead of going through these steps. If you’re following another guide and came here, you can skip the “installing Linux” part of the tutorial and continue after that part.

But if you run into problems getting certain games to run or Linux to work, you may want to just install Linux the traditional way- using this tutorial.

Here’s a guide that covers how to enable the Beta feature.

What does Crouton do?

First, you should know what Crouton does.

It’s more like a group of scripts bundled into one program.

Currently, Crouton supports Debian, Kali, and Ubuntu.

You’ll need Crouton in order to install a copy of Linux on your Chromebook. And that’s the first thing we’ll be downloading right after Developer Mode is enabled.

Customizing your installation of Linux

Get Crouton on your Chromebook.
Linux will let you play games, install Windows programs, and do a lot more with your Chromebook.

It’s completely up to you to decide how you want to customize your installation.

You can choose the exact version of Ubuntu and the desktop environment to go with it.

Just to give you an idea of all the different versions you can install, here’s a list of supported Linux distros and desktop environments.

Debian versions supported by Crouton:

  • Woody
  • Sarge
  • Etch
  • Lenny
  • Squeeze
  • Jessie
  • Sid
  • Wheezy

Ubuntu versions supported by Crouton:

  • Warty
  • Hoary
  • Dapper
  • Breezy
  • Edgy
  • Feisty
  • Gutsy
  • Hardy
  • Intrepid
  • Jaunty
  • Karmic
  • Lucid
  • Maverick
  • Natty
  • Oneiric
  • Precise
  • Raring
  • Quantal
  • Saucy
  • Trusty

Desktop environments supported by Crouton:

  • Xfce
  • Unity
  • lxde
  • KDE
  • gnome
  • e17
  • Cinnamon

That’s a lot, right?

If you want to read more about these different Linux versions, you can check out some of their popular distros, or see some of the best desktop environments.

But don’t worry. For the purposes of this tutorial, we’ll just be installing a basic version of Linux with a basic desktop environment.

Trusty works well with the majority of things you may want to do once you get the kernel installed. And Xfce is a minimal, fast, and speedy desktop environment.

However, you can feel free to customize your installation however you’d like. I’ll provide instructions on when and how to do so when we get to that step.

Sound good? Let’s get started.

Install Linux on your Chromebook with Crouton

Step 1: Make a backup of all your important data

Installing Linux will delete all your personal data, so be sure that you save all your stuff before you proceed.

Everything you have saved on your Chromebook in the Downloads folder (or any custom folders) will be deleted.

Your Google Account will remain untouched, so don’t worry about that. It’s just the stuff you have on your hard disk that you need to backup.

You can use the freebies Google provides you with your new Chromebook purchase. Use the free Drive storage from Google, or back up your stuff to a flash drive, SD card, or external hard drive.

Tip: Many people are concerned about this process because it wipes everything from their machine. There’s really no way around it, so you’ll have to bite the bullet and just do it! As long as you make a backup of everything that’s important, that’s all you really need.

Make sure you backup your files in the “Downloads” folder as these will be deleted. This includes all pictures, videos, docs, or any other files you have saved in there. And any custom folders or directories you’ve created will be wiped as well.

Step 2: Enable Developer Mode

I’ve written a complete guide dedicated to enabling Developer Mode which you can read here.

If you’ve never done this before, I strongly suggest you read it over to get familiar with the process.

For those who’ve done this before and just need a refresher, here’s a summary:

Step 1: Press “ESC + Refresh + Power Button” in order and hold it until you get a scary-looking warning screen.

Step 2: Follow the on-screen prompts. You’ll get multiple warning screens. Just read them over and keep going. Press “CTRL + D” to proceed to the next screen. If you get stuck, try hitting “Enter” a few times.

Step 3: Your Chromebook will reboot and you’ll be in Developer Mode when it’s done starting up.

(You’ve backed up your stuff, right?)

Step 3: Download Crouton

After your Chromebook restarts, log in with your credentials and launch the Chrome Web Browser.

Go to the GitHub page here and download the newest Crouton version. It should show up in your “Downloads” folder- the default folder!

Be sure it’s saved in the default folder and not any custom folder you’ve created (or else the code in the following steps won’t work properly).

I also strongly suggest you at least skim over the GitHub page. It answers a lot of FAQs you may have about Crouton.

If you get stuck at any part, you should check out this troubleshooting guide.

Technically, you’ve now installed Crouton on your Chromebook.

But getting this far really doesn’t do anything.

Let’s continue and install Linux.

Step 4: Get Crouton ready

After you’ve downloaded Crouton, you can now install Linux.

Are you ready? Let’s roll.

Press “ALT + CTRL+ T” to open the command prompt.

Type (without the quotes):

“shell”  and press Enter.

If you get an error like this:

“sh: Can’t open /home/chronos/user/Downloads/crouton”

It means you’re not in Developer Mode. Or it means you don’t have the Crouton file in the right folder you specified.

Chrome OS has a habit of reverting back to the normal, stable mode whenever you restart, turn off and turn on, or even wake it up from hibernate mode.

The trick is to press the right keyboard combination when you boot it up. You’ll see a warning screen every time and you have to press the correct keys to keep “OS Verification” off. If you do nothing or press the wrong keys, it’ll revert back out of Dev Mode and you won’t be able to enter any code.

You can also try deleting the Crouton file, redownloading it, and then try running the code again. If you’re still stuck, leave a comment for me and I’ll check it out.

Step 5: Install Linux via Crouton

This is where the customization comes into play.

Remember all the different options from earlier?

As you already know, there are a ton of options.

To keep this guide simple, I’m just going to install Ubuntu (16.04) with the Xfce desktop environment.


Ubuntu LTS (long-term support) and is considered a very stable version of Linux. And the Xfce desktop is very simple and basic…and it works. It’s the most similar to a classic copy of Windows (back in 1997).

It’s minimalistic and puts less of a demand on resources from the CPU since you’re using a bare-bones desktop UI (it’s fast and speedy).

But if you want some eye-candy like transitions and effects, try out KDE.

The most popular desktop environments are Unity, Xfce, and KDE.

Here’s a brief review of each desktop UI:

  • Unity: Probably offers the most features (some of which you won’t use). A very nice starting point for people new to Linux.
  • Xfce: Fast and basic. Minimalistic design. Very bare and ugly to look at, but gets the job done.
  • KDE: A mixture between the two. Eye-candy and transitions. Not overloaded with features.

I’m going to go with the easiest and most straightforward option- Xfce. It’s fast and easy to use, and will probably avoid some confusion for first-time users.

If you’re familiar with Linux, you can choose your version accordingly. Just modify the code to match it.

Go ahead and choose your desktop and Linux version.

I’ll give you some examples here about how to install the custom version you want. Don’t care for it? Skip over it.

How to install different Linux distros with Crouton – some examples

Let’s say you wanted to install Saucy with the Cinnamon desktop UI.

You’d type the following:

“sudo sh -e ~/Downloads/crouton -r saucy -t cinnamon”

All you need to do is replace the command after the “-r” flag with the name of the version you want, and replace the command after the “-t” flag with the desktop environment you want. It’s that easy.

If you leave either of them blank, Crouton will install Precise and Unity by default.

But that’s not all, you can also add in targets to the code.

For example, if you wanted touchscreen support on Linux, you’d type in:

“sudo sh -e ~/Downloads/crouton -r saucy -t cinnamon,touch”

Or if you wanted support for your Chromebook’s unique keys, you’d type in:

“sudo sh -e ~/Downloads/crouton -r saucy -t cinnamon,keyboard”

Or if you wanted both touchscreen support and keyboard support, you’d type in:

“sudo sh -e ~/Downloads/crouton -r saucy -t cinnamon,keyboard,touch”

Here’s a list of optional targets you can add in:

  • chrome (installs Chrome Web Browser)
  • audio (audio playback)
  • keyboard (support for Chromebook’s unique key)
  • touch (support for touchscreens)
  • xbmc (installs xbmc player)
  • extension (clipboard access for both Chrome OS and Linux)
  • gtk-extra (installs a browser and gksu and gdebi)
  • cli-extra (installs additional tools)
  • core (core system configuration)

So, as you can see, you have a lot of different options to install Linux. It’s completely up to you to decide which version to install.

Adding encryption

If you want to secure your connection, you can add encryption to your chroot.

The naked installation is only as safe as the password you created. If someone knows your password, they’re able to log in as you and do as they please.

You can add encryption to your Linux installation by adding the “-e” to your install command.

For example:

“sudo install -Dt /usr/local/bin -m 755 ~/Downloads/crouton -e”

Notice the “-e” tacked on to the very end of the command. That’ll add an additional layer of protection to your chroot. This will install a basic version of Ubuntu Linux with the Xfce desktop environment.

That’s it!

Installing Ubuntu with Xfce

As I said earlier, I’ll stick with installing a basic copy of Ubuntu with Xfce.

It’s simple, fast, and does pretty much everything.

Feel free to change the code to your liking. Or follow along and just install the same version and desktop as me. The choice is yours.

If you want to have audio playback and be able to use the special keys on your Chromebook’s keyboard, you’ll have to modify your code. I’ll just be installing the bare-bones version.

To do this, just type the following:

(The last line of code you entered should’ve been “shell” at this point.)

“sudo install -Dt /usr/local/bin -m 755 ~/Downloads/crouton” and hit Enter.

Lastly, type:

“sudo crouton -t xfce” and hit Enter once again!

That’s it.

A single line of code and Linux is now installing.

This may take a while, so sit back, grab a Red Bull, and watch some Simpsons.

Getting an error?

If you’re getting an error that reads something like:

“WARNING: saucy has reached upstream end of life. That means there will be no package updates available. You also have to specify a mirror to crouton (-m) for installation to proceed.”

For those of you who get an error similar to this one (replace “saucy” with your specific distro), it simply means that there’s no more support for that package and you should try replacing it with a different one.

All you need to do is choose another distro. I recommend against proceeding with the outdated package because it’ll lack patches and updates for the latest games and programs. You can check out Ubuntu’s download page for the current packages you can install.

Step 6: Create an admin account

After the installation is complete, you’ll be prompted to type a username and password.

Go ahead and fill in these fields. Your password field will appear to be blank. This is normal.

Be sure to jot it down. If you forget, you’ll have to start all over.

Step 7: Launch Linux

Open up the command prompt again by pressing “CTRL + ALT + T” and then type the following to launch Linux:

“sudo startxfce4”

If that doesn’t work, try:

“sudo sh ~/Downloads/crouton -t xfce”

(Remember, this assumes you’ve installed Xfce. If you did a custom install, you’ll have to replace the word with whatever you installed.)

The splash screen will show up and you’re now officially able to play around in Linux.

You’ve just installed Linux using Crouton on your Chromebook! Congratulations.

Step 8: Update Linux

I always recommend that you recommend that you update your copy of Linux right away after installing it on your Chromebook.

Type the following to update to the latest version:

“sudo apt-get update sudo apt-get upgrade sudo apt-get install”

That’s it. You’re done.

Next, I’ll go over briefly how to install programs with Linux.

Tip: Something useful to remember- in the future, Crouton updates happen pretty frequently. This may (and probably will) break something on your Linux installation because of outdated code.

When this happens, you can update your “chroot” by using the above code. An update usually fixes the majority of issues.

You can also see what version of Linux you have installed, and if there are any new updates pending by running the following line:

“croutonversion -u -d -c”

After that, if you happen to see an update, you can get the newest version by exiting the chroot then typing the following:

“sudo sh ~/Downloads/crouton -u -n chrootname”

(Replace “chrootname” with your respective…”chrootname.”)

If you don’t know what a “chroot” or “chrootname” is, you should refer to this guide.

How to install programs on Linux

Synpatic makes installing programs on Linux easy.
Synaptic is a good program for installing stuff on Linux.

Your copy of Linux is very bare right now. You probably want to install a few programs and applications to get you started, no?

I only recommend two programs. They both make installing stuff very easy on Linux.

  • The first is using the Konsole. Just click on the Ubuntu button and a search box will appear. Search for “konsole” or you can just look for it in the menu. From there, you can search for whatever applications you want to install. GIMP, VLC, Chrome, Sublime Text, and a lot of others. This is probably the easier method to use.
  • The second one is the Ubuntu Software Center. You can download this application and it’ll act as a central hub to download other applications. You won’t have to use any code as it’s all graphical. It’ll make installing programs a lot easier. Unless you’re a dedicated Linux fan who prefers to “sudo” and type in commands for everything you do on your computer.

Of course, there are a lot of other programs that you can use as well, like Synaptic.

Just try them out and pick one that works for you. Use the pre-installed Ubuntu Software Center for app-store like interface.

Switching between Chrome OS and Linux

Did you know your Chromebook has a built-in keyboard shortcut to switch between the two operating systems on-the-fly?

You can quickly jump between the two kernels simply with hotkeys. It’s like running two machines in one!

How handy is that?

  • To switch to Chrome OS, just press “CTRL + ALT + SHIFT + Back Arrow” and you’ll instantly jump back to Chrome OS.
  • To switch to Linux, just press “CTRL + ALT + SHIFT + Forward Arrow” and you’ll go back to Linux.

(By the way, the Forward/Back Arrows aren’t the Up/Left/Down/Right. They’re the Forward and Back Arrows at the top of your keyboard- where the F1-F12 keys are on a standard QWERTY keyboard. Don’t get confused.)

How to uninstall Linux from your Chromebook

If you’re done playing around or you screwed up while trying to install Linux, it’s very easy to start over and try again.

You can do one of two things:

  • Install the verified version of Chrome OS: During boot up, you’ll see the warning screen telling you that system verification is off. Just press the Spacebar and it’ll automatically fix itself. Your Chromebook will now revert back to factory settings.
  • Powerwash your Chromebook: This will delete everything and restore your laptop back to factory settings. You do this from within Chrome OS. I wrote a complete guide about it if you need a detailed tutorial.

Powerwashing is the fixer of all things. It’s what makes Chrome OS so versatile. Self-repair is built in to it.

You now have the power of Linux

So there you have it.

You can install Linux to do many things you couldn’t previously do on a Chromebook. Most applications work offline as well, so you don’t have that limitation.

To be honest, a Chromebook keeps it simple and will do most of your tasks required.

But for some people, they made need programs that a Chromebook simply can’t run or doesn’t offer in the store. The solution is to use Linux to run these programs.

For most people, Chrome OS will suffice. It’s more than enough to get the job done.

But then again, you have those computer enthusiasts who want to get the most out of their computer. Or hardcore Linux fans who want to have constant access to their favorite OS no matter what they’re dual-booting with.

If you got stuck, leave a comment and I’ll get back to you ASAP.

Or you’ve found this guide to be helpful, I’d also like to know- go ahead and leave a comment.

And consider telling a friend as well =].

Thanks for reading.

About Andy Z.

Andy is a casual-hardcore Chrome OS fan and contributes to the site regularly. He likes computers, tech, sports cars, videogames, and of course, Chromebooks. Thinker. Introvert. Geek. You can find him on Twitter (@platytech), or send him an email (check the "Contact Us" page).

130 thoughts on “How to Install Linux on Your Chromebook – Complete Tutorial (2023)”


  2. Whenever I do the sudo crouton -t xcfe it just says “Invalid target xcfe” (I did do the other lines of code.) I am confused so what should I do.

  3. I followed all the instructions and was successful but my Chromebook is asking for my new username and password to login, it auto filled my username I created with Linux but won’t accept my Linux password so I’m locked out! Help!

  4. after the reset i’m on a screen where it’s a lil rat/mouse and i don’t know what to do from here. where is the “Ubuntu button”? i can’t seem to find it. also i have no experience in this whatsoever all i wanted was to download Osu! lol (“:

  5. I just typed in “sudo install -Dt /usr/local/bin -m 755 ~/Downloads/crouton” and there is a ton of code appearing idk if it’s supposed to do this.

  6. I followed the whole tutorial, but when i tried to update it, it said, and i quote, “sudo: apt-get: command not found”. I tried this twice, and spell-checked it. Still didn’t work.

  7. I was follow your Install Linux file. Followed the advice to use the Linux app if my chromebook had it. It ran fine and I end up at a Terminal screen – Now what to install Minecraft?

  8. Love your guides, used them on my son’s Chromebook to get Ubuntu and Minecraft running. On my PixelBook Go, it looks like the included Mesa drivers are 18.0.5 and don’t support the newer intel chipsets. I can’t find any precompiled newer Mesa drivers for Ubuntu and I’ve never compiled a driver in my life. Any thoughts on getting the GPU fully functional?

  9. Hi Andy,

    I have followed all the steps but am stuck on the part where I install programs to Linux. I have downloaded and installed the most current version of crouton from Github, but when I am in the Linux operating system, I am unable to find an “Ubuntu button” and can not figure out how to add Konsole, Ubuntu Software Center, or Synaptic. I’m assuming these are essential for downloading other applications I would like to use, but I can not get past this step. Thanks so much for your help!

    • Hey Spooky Copter,

      Once you have Ubuntu up and running, that’s the bare basics of what you need. Konsole/USC/Synaptic are useful for getting specific programs onto your system (think of them like an “app store” on your phone).

      USC has most programs available by default- you can install by just searching for the program and hitting the install button. USC should also be on your copy of Ubuntu by default (tucked away in the menus somewhere depending on your distro such as KDE, Xfce, etc.).

      Is there something in particular you’re trying to download? Let me know if you need help.


  10. How do you change the distro after you have installed it. I already installed it with xfce but I dislike it and I would rather use unity instead. Is there a way I can do it without uninstalling linux

  11. Hey Andy, Im going to need some help. I extracted and validated everything then this happend:
    Moving bootstrap files into the chroot…
    mv: cannot create directory ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/bin’: No such file or directory
    mv: cannot create directory ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/boot’: No such file or directory
    mv: cannot create directory ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/debootstrap’: No such file or directory
    mv: cannot create directory ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/dev’: No such file or directory
    mv: cannot create directory ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/etc’: No such file or directory
    mv: cannot create directory ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/home’: No such file or directory
    mv: cannot create directory ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/lib’: No such file or directory
    mv: cannot create directory ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/lib64’: No such file or directory
    mv: cannot create directory ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/proc’: No such file or directory
    mv: cannot create directory ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/root’: No such file or directory
    mv: cannot create directory ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/run’: No such file or directory
    mv: cannot create directory ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/sbin’: No such file or directory
    mv: cannot create directory ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/sys’: No such file or directory
    mv: cannot create directory ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/tmp’: No such file or directory
    mv: cannot create directory ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/usr’: No such file or directory
    mv: cannot create directory ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/var’: No such file or directory
    rm: cannot remove ‘/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial’: Device or resource busy

  12. Hey Andy, I tried your suggestion but it resulted as like before. Is there anything else you recommend me to try? It would save my life. Thanks. Also How do I know if I am in a chroot as a root user? I don’t think I am but I can supply a screenshot of what I’ve end trying if that’d help or if you’d like me to. Please respond soon, thank you so much Andy

  13. Hey, I tried to update Linux with the code you recommended (“sudo apt-get update sudo apt-get upgrade sudo apt-get install”) but it didn’t work. All I keep getting is
    sudo: apt-get: command not found
    And I also tried the others you recommended for that other guy which were
    “sudo apt-get update” and “sudo apt-get update && sudo apt-get dist-upgrade”
    but neither of them worked. Please help me out.

    • Hey Johnny Boy,

      Can you try “apt-get dist-upgrade” and let me know if it works?
      Also, are you in a chroot as the root user by chance?


      • I tried it and it didn’t work with that either. Also how can I tell if I am in a chroot as the root user? I don’t think I am. If you’d like, I can try to send an image of what I’ve been trying.

      • Hey Andy, I tried your suggestion but that didn’t appear to change the result. I respond with the same thing as the other times. Do you have any more suggestions per chance? That’d save my life. Also how can I tell if I am in a chroot as the root user? I don’t think I am but if you’d like or if it’d help, I can possibly supply with a screenshot of what I’ve been trying.

  14. hey i can get it to start downloading but about 15 minutes in it says this “sh: 119: Bad substitution
    Failed to complete chroot setup.
    The chroot setup script may be broken. Your chroot is not fully configured.
    Removing the chroot setup script. You may want to update your chroot again.
    UID 1000 not found in xenial
    Unmounting /mnt/stateful_partition/crouton/chroots/xenial…” do you know why it fails every time ive done it twice now. and ive tried to fix it with sudo startxfce4 but that didnt work either. then it recommended to update it so i put a -u at the end but it just said this:sudo startxfce4 -u
    enter-chroot [options] [command [args…]]
    Enters an installed Debian-based chroot for running alongside Chromium OS.
    By default, it will log into the primary user on the first chroot found.
    You can specify a command and parameters to run instead of an interactive shell.
    -b Fork and run the specified command silently in the background.
    -c CHROOTS Directory the chroots are in. Default: /mnt/stateful_partition/crouton/chroots
    -l Make the command part of a login. Parameters are passed directly
    to the chroot command, and a call to su is appended.
    -k KEYFILE Override the auto-detected encryption key location.
    -n NAME Name of the chroot to enter. Default: first one found in CHROOTS
    -t TARGET Only enter the chroot if it contains the specified TARGET.
    -u USERNAME Username (or UID) to log into. Default: 1000 (the primary user)
    -X XMETHOD Override the auto-detected XMETHOD for this session.
    -x Does not log in, but directly executes the command instead.
    Note that the environment will be empty (sans TERM).
    Specify -x a second time to run the / script. please help!!!!!!!

  15. I followed all the instructions. I added the extension to the desktop, but whenever I click on minecraft, it opens a command window for a short amount of time, then exits. Do you know what that is from? Thanks!

  16. I’m not sure if this is an error or not but after I typed “sudo crouton -t xfce” (I didn’t type the “) it says sudo: crouton: command not found

  17. Everytime i type in Shell it says unknown command… I’ve gone into dev mode and when i press CTRL ALT F and bring up the cmd page it says that. I try moving forward to the sudo part and it says the exact same thing…. I’ve literally been trying for two fking hours man. I’m so stuck i need help. Why wont it take it?????

  18. I’ve previously downloaded another desktop enviorment, xfde (i think) and now it wont let me download kde, it says”/usr/local/chroots/xenial already has stuff in it! either delete it or specificy a different name, or update it”
    can you help me please?

  19. Sorry, but each time I put in
    sudo sh ~/Downloads/crouton -t xfce
    It just says
    sh: 0: Can’t open /home/chronos/user/Downloads/crouton
    and when I do
    sudo startxfce4
    It says “sudo: startxfce4: command not found”

    • And… It allows me to type “shell”
      Here is all of the stuff
      crosh> shell
      chronos@localhost / $ sudo sh -e ~/Downloads/crouton -r saucy -t cinnamon
      sh: 0: Can’t open /home/chronos/user/Downloads/crouton

  20. hi andy,
    so xfce is installed on my computer but i cant figure out how to get ubuntu. whenever i follow the instructions it says failed to download crouton installer and then it says check your internet connection or proxy settings (-P). currently my computer has a blue screen with a mouse on it. i want to run java but i cant

    • Um, I know that you posted a question but, did you get a code line like this: sh: 0: Can’t open /home/chronos/user/Downloads/crouton
      If so, how if you get pass it?

  21. Whenever I try to download any one of the os it says sh: 0: Can’t open /home/chronos/user/Downloads/crouton

  22. I’m pressing control alt shift backspace and only thing that happens is the cursor disappears. Kinda stuck at the konsole part of guide

    • Hey Rsplayer,

      Are you trying to switch between Chrome OS and Linux? Try using the Back/Forward Arrow keys instead (on the top row of your keyboard) with the rest of the hotkey combinations to switch. It’s easy to get confused with the Backspace key and Arrow Keypad, but you’ll just want to hit the arrows used to go forward/backward in Chrome OS in order to switch.

      Let me know if you can’t get it working.


      • Got to where I can use rs finally. You’ve been very helpful so far. Now I’m trying to download runelite a program similar to rsbuddy. Can’t find any exact guides to it Didn’t know if u could help? Ty again for this guide, very helpful!

  23. Pingback: [ubuntu] New and VERY Confused – Mags Forum Technology
  24. Do I have to start all over I set a user name and password but it’s not letting me back in it says incorrect

    • Hey Jimmy,

      It’s best to just do a Powerwash and start over. That’s the quickest way because resetting it is kind of a pain. Just be careful to jot it down when you create it and be very careful with your typing. It’ll log everything you type but the cursor won’t move on the screen.

      Here’s a tutorial on resetting your Chromebook if you need help.

      Let me know if you have any other questions.

  25. Hey thanks for this tutorial Andy. I installed everything successfully and is working good. The only issue is that when I press the key combination and go back to chrome OS everything is red and black on the screen. Do you know why this is?

    • Hey lucas,

      The Ubuntu button is the large button in the corner of your screen- similar to the “Start” button on Windows. You can also run the command prompt by just pressing “CTRL + ALT + T” rather than going through the buttons/menus.

      Let me know if you need help.

  26. i pressed ctrl alt t and it opened up the terminal. i typed shell and then sudo sh ~/Downloads/crouton -t xfce but it just came up with a thing that said:
    We trust you have received the usual lecture from the local System
    Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.


    what do i do?

    • Hey oliver child,

      Are you using a school or work Chromebook by chance? If so, it may be locked by your admin and you won’t be able to run commands without getting permission first.

      If not, try running the following commands:

      chown root:root /var/db/sudo/lectured
      chmod 700 /var/db/sudo/lectured

      Let me know if it still doesn’t work.

      • i tried those 2 commands and it just said that there was no such file or directory. i might want to double check with you that i am doing it right. i click on the link on the page and installs crouton. when i press ctrl alt t, it opens up a new tab named ” chronos@localhost:/ “. it then says crosh> and i type shell, the next thing that pops up is a line of text that reads ” chronos@localhost / $ “, i then type ” sudo sh ~/Downloads/crouton -t xfce ” and it comes up with the “we trust you have received the usual lecture from the local system administrator….” thing. i know for a fact that i don not have an administrator because i bought this Chromebook for personal use and there is no administrator at all. i already put my Chromebook in developer mode and i am very stuck. i do not know if i missed a step or if i am doing something wrong.

        if i have missed something, please contact me.

        • im not an expert, but i think you are supposed to type a sturdy password and then verify it and continue from there

  27. hi zach,

    whenever i type sudo sh -e ~/Downloads/crouton -t xfce -r trusty into the shell i always get the error
    sh: 0: Can’t open /home/chronos/user/Downloads/crouton

    im not sure if this is because of the recent update or what but i cant seem to fix it, help would be appreciated

  28. hey andy,
    i have gotten Linux to run, but when I try to update it, I get this message:

    sudo: apt-get: command not found

    • Hey Zach,

      Try using “sudo apt-get update” or “sudo apt-get update && sudo apt-get dist-upgrade” and let me know if it still doesn’t work.


    • Hey mystic w,

      Did you enable Developer Mode properly? That error usually refers to Dev Mode not being turned on because Chrome OS won’t take any commands if it’s off.

      An easy way to check is to restart your Chromebook and then look for a warning prompt upon startup.

      If you see one, press “CTRL + D” to continue. If you don’t and your Chromebook starts up like normal, then Dev Mode is off and needs to be enabled.

      Here’s a tutorial you may want to refer to.

      Let me know if you’re still stuck.

  29. My friend accidentally pressed a button while it was in the process of downloading so I exited and tried from the beginning. After i put in sudo sh ~/Downloads/crouton -t xfce it said
    “/usr/local/chroots/xenial already has stuff in it! either delete it, specify a different name (-n), or specify -u to update it.”
    What do i do?

  30. I need some help. I got as far as getting crouton and getting to the terminal, but when I typed “shell”, it didn’t recognize the command. I’m positive I’m in the dev mode, and I don’t know what’s wrong.

  31. will these chromebooks be compatible Acer Chromebook 11 CB3-132-C9M7(NX.G4XAA.001) or Acer 15.6″ Full HD IPS Touchscreen Chromebook – Aluminum Silver (CB515-1HT-C2AE) ?

    I’d read that touchpad could be the issue, is it true?

    • Hey Aidan,

      It should be in the corner of your screen, depending on what version of Unbutu you installed. It’s the big button with the Ubuntu logo on it, similar to how Windows OS has the infamous Start button.

      Let me know if you need help.


    • Hey John,

      Could you copy/paste the error output you’re getting here? I’ll look into it and give you a better solution.


  32. Have been running fine for some time. Don’t play often. This last update has not gone well for me. Game crashes every time I’m about ready to enter a game. Will allow champ select, but fails on game load. Any suggestions?

    • Hi Michael,

      Do you know if this was an update on Linux or League of Legends’ part? Haven’t kept up with the game recently so I’m not aware if there’s been an update. I’d guess it’d need an update on Ubuntu/Lutris, which rolls out a bit later after the game is updated.

      Do you get any error output?


      • Hi Andy, Thanks for the response. The update I was referring to was the Lol update. I’m getting a Lutris crash error followed by a critical error crash

          • Hi Andy,

            New to linux. Not sure what is pertinant so I copied everything….

            Entering /mnt/stateful_partition/crouton/chroots/xenial…
            /usr/bin/startxfce4: Starting X server

            _XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not be created.

            X.Org X Server 1.18.4
            Release Date: 2016-07-19
            X Protocol Version 11, Revision 0
            Build Operating System: Linux 4.4.0-97-generic x86_64 Ubuntu
            Current Operating System: Linux localhost 3.18.0-17028-g3f022007a1b8 #1 SMP PREEMPT Tue May 29 22:21:14 PDT 2018 x86_64
            Kernel command line: cros_secure console= loglevel=7 init=/sbin/init cros_secure oops=panic panic=-1 root=/dev/dm-0 rootwait ro dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=1 dm=”1 vroot none ro 1,0 3584000 verity payload=PARTUUID=027cc471-3174-3942-a5a8-829d414446ed/PARTNROFF=1 hashtree=PARTUUID=027cc471-3174-3942-a5a8-829d414446ed/PARTNROFF=1 hashstart=3584000 alg=sha1 root_hexdigest=74836182bd2580af2bf55520d4e5ca276ec27fa1 salt=6c98d404092c717297de1b9d5f8f9c61c506aa4dd1df92b26c15c86c7a3ba3cb” noinitrd vt.global_cursor_default=0 kern_guid=027cc471-3174-3942-a5a8-829d414446ed add_efi_memmap boot=local noresume noswap i915.modeset=1 tpm_tis.force=1 tpm_tis.interrupts=0 nmi_watchdog=panic,lapic
            Build Date: 13 October 2017 01:57:05PM
            xorg-server 2:1.18.4-0ubuntu0.7 (For technical support please see
            Current version of pixman: 0.33.6
            Before reporting problems, check
            to make sure that you have the latest version.
            Markers: (–) probed, (**) from config file, (==) default setting,
            (++) from command line, (!!) notice, (II) informational,
            (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
            (++) Log file: “/tmp/Xorg.crouton.1.log”, Time: Tue Jun 19 19:06:15 2018
            (==) Using system config directory “/usr/share/X11/xorg.conf.d”
            Error org.freedesktop.DBus.Error.UnknownMethod: Method “ReleaseDisplayOwnership” with signature “” on interface “org.chromium.LibCrosServiceInterface” doesn’t exist

            xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
            Error executing command as another user: Not authorized

            This incident has been reported.
            crouton: version 1-20171230152552~master:de1361af
            release: xenial
            architecture: amd64
            xmethod: xorg
            targets: xfce
            host: version 10452.99.0 (Official Build) stable-channel edgar
            kernel: Linux localhost 3.18.0-17028-g3f022007a1b8 #1 SMP PREEMPT Tue May 29 22:21:14 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux
            freon: yes
            xrandr: Output eDP1 is not disconnected but has no modes
            xrandr: Output DP1 is not disconnected but has no modes
            xrandr: Output DP2 is not disconnected but has no modes
            xrandr: Output HDMI1 is not disconnected but has no modes
            xrandr: Output HDMI2 is not disconnected but has no modes
            Kicking xrandr again
            xrandr: Output eDP1 is not disconnected but has no modes
            xrandr: Output DP1 is not disconnected but has no modes
            xrandr: Output DP2 is not disconnected but has no modes
            xrandr: Output HDMI1 is not disconnected but has no modes
            xrandr: Output HDMI2 is not disconnected but has no modes
            Kicking xrandr again
            _IceTransmkdir: ERROR: euid != 0,directory /tmp/.ICE-unix will not be created.
            xfce4-session: No GPG agent found
            xfce4-session: No SSH authentication agent found
            /usr/bin/xbindkeys_autostart: line 24: CONF: unbound variable

            (update-notifier:9995): dconf-CRITICAL **: unable to create file ‘/home/kcfanaticusa/.cache/dconf/user’: Permission denied. dconf will not work properly.

            (update-notifier:9995): dconf-CRITICAL **: unable to create file ‘/home/kcfanaticusa/.cache/dconf/user’: Permission denied. dconf will not work properly.

            (polkit-gnome-authentication-agent-1:10010): polkit-gnome-1-WARNING **: Unable to determine the session we are in: No session for pid 10010

            (update-notifier:9995): dconf-CRITICAL **: unable to create file ‘/home/kcfanaticusa/.cache/dconf/user’: Permission denied. dconf will not work properly.

            (update-notifier:9995): dconf-CRITICAL **: unable to create file ‘/home/kcfanaticusa/.cache/dconf/user’: Permission denied. dconf will not work properly.
            Error executing command as another user: Not authorized

            This incident has been reported.

            (update-notifier:9995): dconf-CRITICAL **: unable to create file ‘/home/kcfanaticusa/.cache/dconf/user’: Permission denied. dconf will not work properly.

            (update-notifier:9995): dconf-CRITICAL **: unable to create file ‘/home/kcfanaticusa/.cache/dconf/user’: Permission denied. dconf will not work properly.

            (update-notifier:9995): dconf-CRITICAL **: unable to create file ‘/home/kcfanaticusa/.cache/dconf/user’: Permission denied. dconf will not work properly.

            (update-notifier:9995): dconf-CRITICAL **: unable to create file ‘/home/kcfanaticusa/.cache/dconf/user’: Permission denied. dconf will not work properly.

            (update-notifier:9995): dconf-CRITICAL **: unable to create file ‘/home/kcfanaticusa/.cache/dconf/user’: Permission denied. dconf will not work properly.
            INFO 2018-06-19 19:06:31,356 [application]:Launching League of Legends
            LeagueClient.exe(0000003D): ALWAYS| Application Version: – CL:2330818 – Build Date:Jun 06 2018 – Build Time:17:11:19
            (II) AIGLX: Suspending AIGLX clients for VT switch
            Error org.freedesktop.DBus.Error.UnknownMethod: Method “TakeDisplayOwnership” with signature “” on interface “org.chromium.LibCrosServiceInterface” doesn’t exist

          • Thanks for your continued support Andy!

            Every time I input one of the codes from the link you provided I just keep getting “chronos@localhost / $” … I’m not sure what to do.

          • Hey again,

            Hmm…try running the commands from the Linux install inside your chroot.

            Log in and run “sudo enter-chroot” in the command prompt. Your username should change to whatever you created during the installation instead of “chronos@localhost.” Then try the running the previously-broken commands again. Does it work?


  33. Please help when i click enter after shell nothing happens and when im done typing in sudo sh ~/Downloads/crouton -t xfce

    • Hey Ryan,

      Are you in Developer Mode? If it’s not enabled, Chrome OS disables any developer commands. Try double-checking that Dev Mode is indeed enabled.

      You can check out this tutorial for detailed instructions. Let me know if you need help.


  34. when i boot up my chromebook i cant seem to get linux because when i put sudo sh -e ~/Downloads/crouton -t xfce -r trusty into crosh it comes up with sh: 0: Can’t open /home/chronos/user/Downloads/crouton , i know you said something about pressing the right keys when booting the chromebook up but i dont know what they are , please help


    • Hey ash,

      Try deleting the Crouton file, restarting your Chromebook, and downloading it again. Then try the command once more.

      And be sure you’re in Developer Mode as well. An easy way to check is to launch the command prompt (“CTRL + ALT + T”) and type “shell” then hit Enter. If you get an error, you’re not in Dev Mode and need to enable it.

      If you need detailed steps, here’s a guide to enabling Dev Mode you can check out.

      Let me know if you’re still stuck.


  35. Hi Andy,
    Thank you for your tutorial. I have managed to install Linux and I have no idea about coding and commands. I have installed steam and downloaded stardew valley, which I am trying to play. The game loads up, but I only get a few minutes into the intro before the chrome screen warning that OS verification is off pops back up, and puts me back into the chrome OS. I can’t seem to progress in he game as this keeps happening. Am I supposed to do something specific when entering Linux to stop this happening? Any help will be greatly appreciated.

    • Hey Suzi,

      Is it the same warning screen that you saw when you enabled Developer Mode?

      Try pressing “CTRL+ D” at the warning prompt the next time it shows up. Let me know if it doesn’t fix the issue =].


      • Hi Andy,
        I tried Ctrl+D, but I still get sent back to chrome after a few minutes. I’m doing ctrl+d, then logging into my chrome account, opening a command window with ctrl+alt+t, typing in shell, then sudo startxfce4, and that gets me into Linux. If I leave it on the Linux desktop, it’s fine. I only get pushed back when trying to play stardew valley. I’ve downloaded it to Linux and it is advertised as a compatible game. Do you have any suggestions? Thank you.

        • Hey Suzi,

          Hmm…does it only boot you out during gameplay? And does it happen immediately after you launch the game or is it random? Is it only happening when you’re playing Stardew Valley? Does it occur during other games as well?


  36. how do you restart it after you forget password?
    i try to download it again but it keeps on saying it already exists how do i delete it?

    • Hey Kenho,

      It sounds like it’s best to just start over if it’s giving you that error. Instead of messing around with code, it’s best to start with a clean slate.

      You’ll have to reinstall Linux again if you forgot your password anyway, so it’s the best approach.

      You can do a Powerwash to start over. But just make sure you write down your password this time around so you can proceed with the guide.

      Let me know if you have any other questions!


  37. Hey Andy,
    I successfully downloaded everything to the point of opening Linux with “shift+Ctrl+alt+forward” however me and my brother are trying to play a game called rules of survival, it is a game that you have to download from the website and can start playing immediately after opening, on my Chromebook with Linux. The main reason I installed Linux was to play PC games that I couldn’t play on my Chromebook. Any help would be appreciated!
    From, Ya Boi

    • Hey Ya Boi,

      I’ve heard about that game. It sounds pretty awesome.

      The game requires that you download the mobile client first before you can play the desktop PC version. Have you done that yet?

      Another thing is that even though the game runs on the desktop, it’s built for native Windows. Chrome OS and Linux will probably not be able to run the game because you need a Windows computer to play it.

      What you could do is install the game on Linux and use WINE to “emulate” the Windows desktop environment.

      You can check out WINE here:

      And you can easily look up some guides on installing it or watch some tutorial videos. It’s super easy. Once you set up WINE, you can download Rules of Survival and run it as a Windows program on Linux on your Chromebook.

      That’s probably the easiest way to get it running.

      Let me know if you need help.


      • I downloaded wine and it is completely ready to play to the point of the icon of the game on my home screen. When I try to open it however it just pops up as the logo and doesn’t load me into the game. Any advice, and yes I am making sure I am running it through wine. Thanks on the advice before, and I will continue to experiment!
        From, Ya Boi

      • So I made it all the way to the point of installing the game and want to know if I can run the game, when I try to open it from my homepage it says loads the logo of the game and the loading screen but doesn’t put me in the game. Any advice, any help would be appreciated.

        • Hey Ya Boi,

          Hmm…does it just freeze? Is there an error thrown?

          Usually, WINE should work with any Windows-based game. In this case, Rules of Survival may be an exception. I’d try reaching out to their support team for more information. It’s possible that the game requires a certain dependency (DX12, Windows Runtime Environment, etc.) that Linux can’t provide.

          If you’re simply trying to play this game on your Chromebook and don’t mind having it mirrored on another computer, there’s another solution which may be helpful. It depends on how bad you want to play it.

          You can try using the Chrome Remote Desktop app. It basically lets you remote access you Chromebook from a Windows computer. So you’ll have the game running on your Windows computer (assuming you have one), and the game will be mirrored and playable on your Chromebook anywhere in the world given that you have a good WiFi connection.

          You can see this tutorial on how to set it up:
          Setting up remote access on your Chromebook

          Besides that, the best choice would be to ask the developer for some suggestions.

          Let me know if you get it working!


  38. Hi Andy,
    I’ve made it through step 6. When I go to step 7, I press “alt+ctrl+t”. The Chrome OS developer shell comes up with “crosh>”. I type “sudo startkde” and receive “ERROR: unknown command sudo”. Do you know if I’ve missed a step?

    • Hey Mark,

      Did you install KDE or Xfce?

      It sounds like either your Chromebook reverted out of Developer Mode (this is why it doesn’t recognize “sudo” commands), or Xfce is installed instead of KDE. If you installed Xfce, you’ll have to replace “KDE” with “Xfce” in the code.

      Let me know if you can’t get it working.

      Thanks. Happy holidays.

  39. When trying to download Linux I get…

    “ we trust you have received the usual lecture from the local system administrator. It usually boils down to these 3 things:
    1) respect the privacy of others
    2)think before you type
    3) with great power comes great responsibility

    Password: “

    I don’t know what to do at this point????!

    Help please

    • Hey Rhonda,

      Try logging out and then logging back in. The user login you’re using isn’t approved to use any “sudo” commands.

      Let me know if you’re still stuck.


    • ive had this issue before, and I finally managed to fix it. first off, make sure your in developer mode. the default password is test0000, [it doesn’t exactly work in crosh, it works in the dev console] How i got around it was by going into the developer console (ctrl+alt+ forward[aka f2]) and when it asks for a login use root and password test000 , after that it should put the user as localhost (chromeos@localhost:) from there you type sudo chromeos-setdevpasswd and follow the prompt to set up your password, its an EXTREMELY good idea to store that password where you cant lose it otherwise in my experience its not fun to recover. once you’ve finished setting the password switch back to crosh (ctr+alt+ backwards[aka f1] then to the tab you have crosh open) and enter your set password when prompted. if you did everything right it should have worked. if not feel free to contact me (no spamming please)

      references i used;

      hope this helps, have a great day!

  40. Hi, the step about updating linux does not work out. An error message about an update argument is presented.

  41. I followed all the steps, but when i got to the crosh part, i typed in: sudo sh ~/Downloads/crouton -t xfce but it just did the error where it sais: sh: Can’t open /home/chronos/user/Downloads/crouton even though i turned on developer mode.

    • Hey Dominic,

      Has your Chromebook been reset or went into hibernate mode since you’ve enabled it?

      It could’ve reverted back out of it if so.

      If you’re sure you’re still in Dev Mode, try deleting the file and redownloading Crouton from here. Then try running the code again.

      If that doesn’t work, do the steps exactly as shown on this guide.

      Let me know if you can’t get it working.

      Thanks. And happy holidays.

        • Hey Dominic,

          Double-check that Dev Mode is indeed enabled on your Chromebook.

          Your laptop will revert back out of Dev Mode by itself if you don’t press the right keyboard combination to keep it in Dev Mode. This happens when you boot it up from a restart, power off, or wake it up from hibernate.

          Usually, you can’t “sudo” when you’re not in Dev Mode because using those commands requires elevated privileges.

          Let me know if you still can’t it working.

          Thanks. And happy holidays.

          • Hey there,

            This would be “CTRL + ALT + SHIFT + Back/Forward arrows” to go between Chrome OS and Linux. they’re often confused with the arrows on the keypad (bottom of keyboard), when they’re actually the arrows at the top (where the F1-F12 keys would be on a traditional QWERTY keyboard).

            I assume that’s what you’re referring to. If you need help on another setup, let me know.


          • No get it right bro, its clear that you dont think this through for /usr/local/bin, the solution is /usr/local/bin not developer mode

  42. I have a problem it won’t recognize the launch of the Linux I replaced saucy with trusty and did all the steps I’m unsure on what to do next

    • Hey Michael,

      I’m going to update this guide very soon.

      For now, after you’ve downloaded Crouton, you can install Linux with the Xfce environment by typing the following line of code:

      “sudo sh ~/Downloads/crouton -t xfce”

      That’ll get you going with Unbutu and Xfce, which is a versatile desktop environment and can handle most games and programs with Ubuntu Software Center, Konsole, or Synaptic.

      Let me know if you need help.


  43. Trying to install Linux on ASUS Chromebook C213S, and it’s telling me that it needs a mirror to crouton (-m) for installation to proceed.

    • Hey Amy,

      You’re probably getting this error:

      “WARNING: saucy has reached upstream end of life. That means there will be no package updates available. You also have to specify a mirror to crouton (-m) for installation to proceed.”

      If so:

      Try using “-r trusty” or “-r tasty” instead and let me know how it goes.

      If both of those don’t work, try using “-r kali-rolling” as well.

      The Saucy distro is considered outdated and I’ll be updating this guide to reflect it very soon (like, right after Christmas).

      In the meantime, you can use either of those distros (or a whole other one entirely), but you’ll have to modify the code to match whichever one you choose. Just replace “trusty” with the new distro’s name that you pick and everything should be just fine.

      Let me know if you’re still stuck.

      Thanks for bringing this up.

  44. I’d like to install Ubuntu on a Asus Chromebook C300MA-DB01.

    Esc + Refresh + Power does not boot into Recovery mode so I can’t get into Developer mode. It simply boots normally, asking for password.
    I’ve tried from a POWER OFF state(which I understand to be the correct way, and a from a power on state, same result.
    I’ve Powerwashed. I’ve changed to both Dev, and Stable channels. no difference.
    I bought it used, and I’ve verified it is not a “managed’ machine.
    Note: “ctrl + alt + shift + r” enters a *different* Recovery Mode with the option to PowerWash only, not the one where you can press ‘Ctrl D’ to get into Developer mode. I’ve already Recovered, Powerwashed, etc. I want DEVELOPER mode.
    I’ve also installed crouton integration and Chromebook recovery Utility, and have tried with each/both, enabled and disabled. I’m Stumped.
    How can I get into Developer Mode?
    Any help is appreciated.

    • Hi,

      I’m surprised that you can’t enable dev mode. I’ll look into this and see if I can find any solution. I’ll reply to your comment here if I seek anything out =].



Leave a Comment

By clicking "Post Comment" I agree that I have read, understood, and abide by the Privacy Policy and Terms of Use.

I also understand that I can post anonymously as the "Name" and "Email" fields are completely optional!