If you are interested in programming or are a programmer and if you would like a lightweight device or would rather not invest in a PC, you might wonder if you can use a Chromebook for programming. The answer is yes, you can. Furthermore, the good news is that with the updates to Chromebooks, now is as good a time as any to do so. While programming with Chromebooks has always been possible, doing so may, in the past, have presented a challenge for developers. However, with newer updates to Chromebooks –such as adding Linux support- and even more updates to look forward to, it has undoubtedly become more accessible for developers, including beginners, to code thereon, and it should get more comfortable.
WHAT SHOULD I HAVE IN MIND WHEN CHOOSING A CHROMEBOOK?
One word that is going to be used repeatedly in this article is “Linux.” This is because although there are other ways to code on a Chromebook without it (these are discussed in a subheading below), once installed. It appears that the consensus that it is the easiest way to get the work done. When considering if a particular Chromebook will work well for programming, serious consideration is whether or not the Chromebook supports Linux. Post-2019, all Chromebooks launched will support Linux (Beta), also known as Crostini. Some examples of Chromebooks launched before 2019, which support Linux, are the Acer Chromebook (C732, C732T, C732L, C732LT), the ASUS Chromebook C202SA, the Dell Chromebook 11 (3180), the Google Pixelbook, the HP Chromebook 11 G5, and the Lenovo 100e Chromebook. There are many others, and with some quick research, you can determine if a Chromebook supports Linux or not. Just bear in mind that to truly get the best out of your Chromebook, you should get one using an intel processor.
WHAT IS LINUX?
Linux is a group of open-source Unix-like operating systems designed for use in cloud computing, embedded devices, mainframe computers, mobile devices, personal computers, servers, and supercomputers. It is its use in cloud computing incorporated into Chromebooks, which aids in programming.
Linux runs a virtual machine that was designed from scratch for Chromebooks (Linux Kernel-based Chrome OS).
Support for Linux ought to enable you to create, test, and run Android and web app for phones, tablets, and laptops on one Chromebook. You should also be able to run popular editors, code in your preferred language, and launch projects to the cloud. Linux runs as a window on top of a Chrome OS, just like Chrome or any other application. As a result of this, one needs to know that it can be a little bit buggy because you are running an environment on top of an environment.
Popular Linux distributions include Debian, Fedora, and Ubuntu.
HOW DO I INSTALL LINUX?
What you need to install Linux is the right Chromebook (as discussed in the second paragraph) and basic knowledge of how an operating system works, including the command line. If you are a beginner, fear not as online platforms such as Ubuntu Forums and Linux subreddits provide much help. It may be a fantastic idea to have a recovery disk so that you can reverse the process if something goes awry.
Let’s now consider in detail, two ways of installing Linux onto your Chromebook.
The first way to install Linux on your Chromebook is by using Google’s official method, which is based on container technology (no hacking required). It is known as ‘Crostini’ which is pretty straightforward. With this method, you can install Linux directly from your device on the settings menu and then install Linux apps after that. To get started, click on the clock in the bottom-right corner of the screen and select the Settings icon. Next, scroll to “Linux (Beta),” select Turn On, then follow the steps on the screen (note that Setup can take 10 minutes or more). After this, a terminal window will open. You can run Linux commands, install more tools
using the APT package manager, and customize your shell. If you couldn’t find “Linux Beta” in your settings, then it means that your Chromebook isn’t Linux supported yet. If in doubt, at any given point in the process, follow the command line. Note, though, that Google issues a disclaimer stating that Linus Beta is still being improved and might experience issues.
Another option is to install an Ubuntu desktop alongside Chrome OS with an unofficial chroot environment called Crouton. This has a more “hacker” feel. To establish Crouton, first, you will have to put your Chromebook in Developer Mode. Note that doing this has the unfortunate side effect of wiping your files and settings, so it would be a wonderful idea to back up your data or ensure that they are already stored in the cloud. Next, after putting your Chromebook in Developer Mode, turn off your Chromebook, hold down the ESC and Refresh keys; after that, press the Power button. At the recovery screen, which appears, press Ctrl+ D. You will be asked if you want to turn OS verification off, press Enter. Once you are back in Chrome OS, amongst other things, you will need to do the following:
Download Crouton, then press Ctrl+Alt+T to open the Chrome Operating System terminal.
Type “shell” and hit Enter to open a shell.
To copy the Crouton installer to the /usr/local/bin folder, run this command: sudo install –Dt /usr/local/bin-m 755 ~/Downloads/croutonNext, you can run a standard command to install Crouton with the XFCE desktop environment. If you would rather have another environment, you can choose another from a list of options. The standard XFCE command is sudo crouton –t xfce
Please note that the “Crouton GitHub readme” contains other things that you can do to improve your environment, such as setting a password and backing up your data. You have to follow the command line, which is very helpful. After this, please wait for the installation process to run its course. However, note that you would need to exercise some patience as the installation process takes roughly 45 minutes to finish. Once the installation has ended, you can go back and forth between the Linux desktop and your Chrome OS desktop without rebooting.
After you’ve installed Linux, if you after that experience problem with Linux or Linux apps, you could try restarting your Chromebook, then checking that your virtual machine is up-to-date. After that, you could try updating your packages.
A third way is via the Dual-Boot Chrome OS. This requires you partitioning the drive, then when booting your device, you select if you want to boot Chrome OS or Linux. Also, this would only work if the Chromebook is in developer mode.
Lastly, under this subheading, a fourth way involves using an Android app called Termux, which gives you a sandboxed Linux environment that you can run without the need for rooting your Chromebook. So if your Chromebook supports running Android apps, you could install this app and have access to a Linux terminal. However, this has some significant drawbacks. The sandboxing often gets in the way if you try to create a streamlined coding workflow-oriented towards web development.
WHAT IF I CAN’T, OR DON’T WANT TO USE LINUX?
Suppose your Chromebook doesn’t support Linux because Chrome OS has a few text editors, for example, Text. You can use this, then save the files in your Downloads folder. You can use tools to SSH your scripts over to your server.
A better possibility and this is a viable option even if your Chromebook supports Linux, would be the option of using online IDE’s. Online IDE’s allow you to write, edit, compile, and debug your code- all on your browser itself. Some good IDE’s you could use are Cloud9, Codenvy, Shift Edit, and Codeanywhere. Also, Virtual Servers (VDS) do not cost much to handle. You get the advantage of a full-sized Linux and full server
While Chromebooks work, particularly if you are learning to program or are not going to be compiling massive projects, a good laptop will be more comfortable and efficient for more substantial projects. Chromebooks typically don’t have more than 64GB SSDs, and most have 16GB to 32GB SSDs. On the other hand, while an entry-level Windows 10 laptop might have an SSD as small as 32GB, others come with larger than 500GB drives.
In conclusion, while not perfect for the job, it is possible to code using a Chromebook. While you might be more familiar with using or programming on a laptop or PC, you certainly can do the same using the Chromebook, mainly if you are open to tinkering around on it.
Sam has been a Smart Things expert for years and the author of DIY SmartThings. Recently he’s really more into Nest smart devices and has a lot of experience with all sorts of projects from converting a regular Home to completely a smart home with the background degree in Electronics.