Lo and behold, I made an unintended mistake today and lost the ability to use the Terminal for Linux apps on my Pixelbook. It turns out that you can manually update the Linux container component by typing chrome://components in your browser bar and selecting the Update option for the cros-termina component.
Just because you can do something doesn’t mean you should. As I, and several others on Reddit found out, the latest version of cros-termina sort of breaks the ability to run the Terminal app on a Chromebook. When I click the Terminal app to open it, it appears and then disappears. Fret not because there’s a solution. And to be honest, the Chromium team is already working on a fix.
Until that happens, following these steps will get you back into your Linux apps on Chrome OS, which of course is only in the Dev Channel for now.
- Press ctrl+alt+t to open the standard crosh shell in a browser tab.
- Type vsh <vm_name>, where vm_name is very likely termina by default.
- Type lxc exec <container_name> — /bin/login -f <username>. The default container_name should be penguin and the username is whatever user name you used to set up your container in the first place. For me that was kctofel.
What should happen — or at least what happens for me — is the container opens, but not in the Terminal app. Instead you’ll see the Linux environment in crosh, however, it works the same as in Terminal.
It’s likely we won’t need this workaround for long, but I wrote it up because if there’s ever a future occurrence of this issue, I suspect this same workaround will do the trick.
6 Comments
Man, thanks — opening the Linux terminal has been hit and miss on my Chromebook, with it taking an awkwardly long time to open, or the icon just “spinning and spinning” and not actually opening. This method of yours is fast and so far 100% reliable. Wonderful, thanks!
??
Thanks for this, latest update breaks Terminal as well. Unfortunately, that command just waits for a second, then goes back to the normal `termina` prompt. Any ideas how to debug? I’ve been using `lxc exec penguin /bin/bash`, but that drops me in as root and `su – username`-ing doesn’t allow me to enter a password when I run `sudo` commands. Any idea how I can dig in more deeply?
You can login as root and set/reset your user’s password using `passwd YOURUSERNAME` and then use the instructions above (the -f didn’t work for me) and supply the password you set to get logged in. I prefer working without a password, but to investigate fully why it broke I’m OK with temporarily setting it before I reset everything again.
I get this after running “vsh termina” -> [ERROR:vsh.cc(101)] Failed to get VM info for termina
I’m running 79.0.3945.123 and it still stops creating VMs after a while and the only complete workaround is to log out and back int. This procedure going through the browser tab, however, works fine.