Chromebooks with the right stuff inside now are able to install and run a complete Linux experience with the KDE desktop without giving up the Chrome OS on the same device. It is not yet flawless, but it does create a hybrid computing platform that lets Linux and Android apps coexist on top of the Chrome OS.
I do not mean flashing the Galium OS distribution
as a replacement for Chrome OS. I have done that on an end-of-life early Chromebook with usable results. However, I mean running a complete Linux graphical environment with the KDE desktop. This adds to the existing use of Android apps all in separate containers on top of Chrome OS on a single Chromebook.
Since Google first released a Chrome OS version with the Linux apps feature a few years ago, I have been using the Crostini project to run Linux apps on a Chromebook. “Crostini” is Google’s umbrella term for making Linux application support easy to use for integrating Linux with Chrome OS. That method installs a command line version of the Linux OS
to run Debian Linux apps on supported Chromebooks.
Since then I have been sharing my Chromebook as a platform to run the Chrome OS with Android apps and a limited number of my daily Linux tools. I have been waiting impatiently for Google to advance the Chrome OS to run a fully functional Linux OS complete with a graphical desktop in a container, much like Virtualbox now runs other OSes within a host OS.
That functionality now is baked into Chrome OS. It works — not perfectly yet, but it does let me have a reasonably good user experience running a Linux graphical environment and Linux apps.
That process soon will upgrade to accessing Debian “Buster” repositories instead of Stretch. All of this works with the KDE desktop, along with Android apps and the Chrome OS, within a collection of four virtual workspaces.
This view of the Chromebook shows four open windows from virtual desk 1 — KDE settings panel (far left), the KDE desktop, the mispositioned KDE panel bar, and the Linux Terminal (far right). The Chrome OS App shelf is displayed along the bottom of the screen. Chrome OS’ four virtual workspaces or desks are displayed across the top of the screen.
– click image to enlarge –
Why Do It?
The ability to run numerous components on a Chromebook is a handy benefit. It does not completely replace my large screen desktop computer. Nor does this Chromebook feature expansion make my collection of Linux-powered laptops useless.
Running a full Linux desktop on Chrome OS is something I have wanted since the Linux Beta feature was first introduced to Chrome OS. The latest development of Linux support via Crostini on Chrome OS is indeed somewhat magical.
This next point is critically important. Chromebooks do not yet run an actual full Linux distribution within Chrome OS. The Crostini technology is a container-like space that accommodates running Linux apps, and now a graphical user interface (GUI). Having KDE’s pretty face added to the mix brings us one-step closer to installing an actual Linux distribution.
How It Works – Overview
The experience so far is reminiscent of the clunky performance with Android apps first appearing within Chrome OS. Some stuff fails to work well if at all. Google has a ways to go before it becomes a liquid-smooth operation running on top of Chrome OS.
Chromebooks run Linux just as they run Android apps — in a container treated like isolated windows. The KDE desktop functions much like an app in a Chrome window. At this point, the experience is not quite like running Linux in a virtual box.
I can alt-tab from a window running the Chrome browser to windows running a variety of Android apps, Linux applications and separate Chrome tabs displaying as standalone Web apps. Any combination of these work in tablet mode.
In that mode, however, a Linux “window” does not open the virtual keyboard when I try typing an entry in a dialogue box. The attached keyboard works fine in clamshell mode.
I can keep each module — Chrome browser tabs, Android apps and Linux apps — in its own virtual desktop. Or I can ignore the virtual desktop feature and cycle through all windows on one workspace by repeatedly alt-tabbing. Navigating among them is cool whether I alt-tab, swipe gestures on the touchpad, or use keyboard shortcuts.
The mispositioned panel bar stays in the center of the window but is fully functional otherwise. When tabbing among windows, the centered panel bar shows up as a solitary object displayed on the desktop image.
– click image to enlarge –
The Installation Process, Part 1 – Basic Linux
First, check to see if Linux is enabled on your Chrome device. If it is, you will see an entry for Linux Files in the Chromebook File app.
If Linux Beta is already enabled, you can skip this section and advance to Part II of the Linux installation process. Part II covers how to install the KDE Plasma desktop and its collection of applications.
If you do not see the Linux enabled indicator,
click here to check Google’s list of all Chromebooks that support running Linux.
If the Linux feature is not enabled on your Chromebook, and you have checked the link above to make sure your model is capable of running Linux, follow these steps to turn on the Linux support feature on your laptop.
- At the bottom right of the App Shelf on the bottom of the Chromebook screen, click on the time portion in the right end of the shelf.
- Then select the gear wheel to access Settings.
- Under Linux (Beta), select Turn On. If you do not see this entry, go to the magnifying glass icon at the top of the settings panel to search for Linux.
- Follow the steps on the screen. Setup can take 10 minutes or more.
When the process is finished, a terminal window opens. You can run Linux commands, install more tools using the APT package manager, and customize the Linux shell.
Get Ready for Plasma
This part of the process is not difficult, but it does take at least 45 minutes for the Chromebook to complete the process. Once you enter a few commands in the terminal, sit back and wait for the installation to complete. It could take considerably longer for the process to complete — in my case, it took close to two hours.
If something goes wrong, do not panic. Just turn off Linux Apps in the Chrome OS Settings menu and start over.
The Chrome OS Files app (on the left) shows the Linux files button. The Linux Terminal (on the right) shows the progress of the KDE desktop installation.
– click image to enlarge –
Part 2 – Adding the GUI
To get started, you can close the Chrome browser window, or go to another virtual workspace. Either way, open the Chrome OS Files app and click on the Linux label to run Crostini. Then open the Linux terminal.
If you are familiar with running Linux apps from the terminal on a Chromebook, you know that even with sudo (superuser do) commands, the system does not ask you for a password. That might change for some commands once you install a desktop environment.
To prevent any issues over finding what the default KDE password is, let’s create one now. Create a Linux password by entering the command in the terminal. This will not wipe out or override the existing Google account password you use to log onto your Chromebook when you power it on.
Security is less of a concern here so keep it short and simple. To forgo having to remember another password, I used the same one that I use on one of my Linux rigs.
- Enter this command in the Linux Terminal:
sudo passwd root
- Enter the same password when prompted to confirm it.
You will see a notification in the terminal window that you have succeeded. Proceed with the next step to begin installing the desktop.
- Enter this command into the terminal:
sudo apt-get install task-kde-desktop
- Hit enter and when prompted, select Y to confirm the installation.
Fix One Potential Glitch
That is all there is to it. Restart the Chromebook. When Chrome OS reloads, open the Files app and click on Linux in the files list.
- Open a Linux Terminal and enter this command:
- Hit Enter
Some Chromebook configurations may balk at starting the X server on first run. If that happens do the following:
- Enter this code into the Terminal for a one-time quick fix:
cp /etc/X11/xinit/xinitrc ~/.xinitrc
- Hit the Enter key and then restart the Chromebook.
Once your desktop is up and running, you can right-click anywhere to customize it by adding widgets, new backgrounds and themes, and shortcuts. Any applications you previously installed from the terminal will show up in KDE’s application menu, as will any future installs.
Pushing RAM Limits
This computing experience is a wild feat considering the 4GB of RAM and ultra limited internal storage in most Chromebook hardware configurations. I have a large SD card on board, but Chrome OS does not let you store and run system files and apps on the SD card the way Android does. That serious weakness can put limits on how much added software you install on your Chromebook.
When you think about it, the Chrome OS was built to run lean and mean. Chromebook hardware is built with 2 to 4 gigabytes of RAM in mind for typical users.
In the same vein, many Linux distributions are notable for their lightweight designs. Some Linux OSes provide lightning fast performance on hardware powered by really old processors and 1GB RAM.
Still, having a mix of Chrome OS, Android apps and a Linux desktop with more apps can become a performance challenge. This expanded use for Chromebooks makes a good selling point for getting a new higher-end Chromebook loaded with RAM and storage. The newer, faster processors will improve overall performance as well.
For example, my 4-GB Asus C213S Chromebook with 25 GB internal storage is extremely close to maxing out. Aside from an occasional lag in swiping around virtual screens and waiting for an app to load, though, the overall performance is very workable. Performance is even better if I do not need to keep every app and window running all the time.
One way to work around this issue is to uninstall unneeded Android apps and Linux applications. The KDE desktop installs dozens of default programs on the Chromebook. Go through the assortment and remove the ones you do not need. Numerous applications are duplicates for doing the same tasks, such as audio players, video editors, and text and spreadsheet tools.
New Meaning to Multipurpose Computing
Running a fully functional Linux desktop could be the perfect solution for lightweight mobile computing. In many cases, the Linux apps are more functional than Android apps on the Chromebook.
Chrome OS concentrates on a browser interface with no actual desktop interface. Chrome OS also lacks added functionality provided by widgets and applets. Running a Linux desktop on a Chromebook fills that void. The KDE desktop lets you have widgets, notes, app shortcuts and more.
The Chromebook is simply more useful and convenient. I have a three-in-one model that serves me well, with a foldaway keyboard to convert the clamshell laptop design into a tablet device with the same Android and Linux functionality.
Remember to Update
The Chrome OS will tell you periodically when a new version of the browser operating system is ready for you to install. That does not affect the Linux files. Just like you have to manually update any Android apps installed on your Chromebook, you also must update the Linux installation.
You can continue to update the Linux system and software files from the Linux Terminal outside of the desktop shell. Use this command:
sudo apt-get update && sudo apt-get upgrade
Or you can use the Software Update tool in the Software Management tab of the Systems panel in the KDE main menu.