If you were like me who found their Terminal application completely broken after upgrading to ChromeOS 68.0.3431.0, you are likely irritated and mashing the update button for a fix to be delivered a few times a day. I got to thinking this afternoon of a workaround, why not replace it with something a bit more reliable – like Gnome Terminal? It turns out that it works flawlessly and is pretty easy to setup. Here are the steps;
Accessing your Virtual Machine
As a reminder, this is currently only supported on the Google Pixelbook. We will need to start by accessing your virtual machine. Fortunately this can be done from inside of the ChromeOS Shell by following the steps below:
Open a ChromeOS Terminal via (ALT + Ctrl + T) and run the following commands. Make sure you replaceĀ <unixusername> with your gmail username (before the @gmail.com/@domain.com). If my gmail address were gmailtest@gmail.com, my unix username will be gmailtest
vmc start termina run_container.sh --container_name=penguin --user=<unixusername> --shell
If you were dropped to a “<unixusername>@penguin” prompt, it means you are now inside of your container. The next few steps will take place inside of that container.
Installing Gnome Terminal
Run the following commands from within the container
sudo apt-get update sudo apt-get install nano gnome-terminal
If everything went well, you should now have Gnome Terminal installed however you will need to do one additional step to allow it to show up in ChromeOS’s Application Launcher. For some reason, ChromeOS cannot use the .desktop launcher that ships with Gnome Desktop but fortunately it is very easy to create our own.
Run the following command to create the desktop entry.
sudo nano /usr/share/applications/GnomeTerminal.desktop
This will open the nano text editor and tell it to create a new desktop entry. Copy the following into that new file.
[Desktop Entry] Name=Gnome Terminal #GenericName=Terminal Comment=Gnome Terminal for ChromeOS Exec=/usr/bin/gnome-terminal Terminal=false Type=Application #Encoding=UTF-8 Icon=/usr/share/icons/Adwaita/scalable/apps/utilities-terminal-symbolic.svg Categories=System;TerminalEmulator;Utility; Keywords=shell;prompt;command;commandline;cmd;
On your keyboard, hit Ctrl+X followed by a “Y” at the prompt to save the entry. You should now be able to locate the “Gnome Terminal” icon from within your ChromeOS Application Launcher. You can even pin this to the system shelf to give you easy access.
How was your terminal app “completely broken after upgrading to ChromeOS 68.0.3431.0”? I hadn’t heard about this. (I’m on 66.0.3359.181 and wondering what’s ahead.)
When launching the ChromeOS Linux Terminal Application, it launches with the window decorations but it never drops to the bash prompt.
Have you seen this?
“`
$ sudo apt-get update
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.
sudo: no tty present and no askpass program specified
“`
Actually, you can delete that last comment and this one. I finally found out how to set the password from this site: https://blog.drewolson.org/so-you-bought-a-pixelbook
Thanks!
The Gnome Terminal works fine if I launch it through the default terminal, but if I try to launch it from the app drawer it just infinitely loads on the shelf.
What can I do to fix this?
Can you launch any other Linux applications or do they all act like they are loading?
I found a fix. When the applications stop loading/crash on startup you can type “vmc stop termina” in the Crosh, then launch your preferred terminal again and launch gui apps from there.
vmc start terminal
Error: routine at frontends/vmc.rs:133 `vm_start(vm_name,user_id_hash,VmFeatures{gpu:matches.opt_present(“enable-gpu”),software_tpm:matches.opt_present(“software-tpm”),})` failed: component updater could not load component `cros-termina`
crosh>
Unfortunately the only fix I have come across is to rebuild your crostini instance, it seems like there is a problem with the way GPU flag was enabled between some updates.