Linux on Chromebooks just might get me through a Masters in Computer Science

Starting this fall, I’ll be pursuing a Masters in Computer Science at Georgia Tech. And just like I did with my recent undergraduate Computer Science coursework, I’m thinking to try using my Chromebook for class. It might be a stretch and I’m not suggesting that a Chromebook is the best tool for this task. But I think Linux on Chromebooks just might get me through the program.

I’m considering this for two reasons.

First, I’m on a budget and would prefer not to buy a new computer just for the Masters program.

Second, I want to see how far Linux on Chromebooks can take me down this path. I realize that most Chromebook owners aren’t walking this path with me. (Although if you are pursuing a Masters in Computer Science, let me know!) But this could show many people that the ability to run Linux apps on a Chromebook is more useful and powerful than they might think.

I’ve already checked the minimum hardware requirements for the program, which are as follows:

My daily Chrome OS driver is still the Acer Chromebook Spin 13 with 16 GB of memory I bought in 2019. And that amount of memory meets the minimum requirement. So too does the Intel Core i5 processor inside.

External SSD for my Chromebook

I’m a bit short on the local storage as this Chromebook only has 128 GB of SSD storage.

However, I have a 256 GB external Samsung SSD lying around from an old project and I already have it hooked up to my Chromebook. I still need to format and run a little maintenance on it but it’s showing up in the Chrome OS Files app. And I can share that storage with Linux.

Even better: There’s a method to run the Linux container on an external drive with Chromebooks. I’ve looked into it but haven’t tried it yet. I definitely will soon.

In terms of being able to code on a Chromebook? Well, that’s not really a problem as I’ve already proven. I started out doing Java code using Linux on Chromebooks and later added Python, JavaScript & React, and Node.js.

My full stack To Do app with HTML, CSS, React, Node.js and cloud-based ElephantSQL

I’m currently writing in C code on my Chromebook since I’ll need C skills for some of the classes. I figure I should use the next two months to prep for the program as best I can.

The tougher aspect will be using libraries and applications that chug through massive amounts of data. It appears I’ll need MATLAB and OpenCV, both of which are available or can be compiled for Linux, for example.

I’m thinking I’ll see this challenge with my Artificial Intelligence and Machine Learning classes specifically. Having the larger external SSD storage will help, but ideally, more memory would be beneficial. So too would a dedicated GPU. Maybe eGPUs will be a Chrome OS thing by then?

Of course, I have to take notes too. I’m one of those people that’s really helped by note-taking.

I’ve already evaluated a bunch of tools such as Notion, Roam Research, Obsidian, and others. I won’t say which I’m leaning towards because frankly, it doesn’t matter: They’re all available as either web and/or Linux apps. So they all run just fine on my Chromebook.

Here’s a knowledge graph of some of my note topics in one of the apps to visualize how I’m using it:

Even if all else fails in some very specific use cases, I’ve got a plan B: Use the Chromebook for the 90% that I think I can use it for and use virtual machines in the Georgia Tech Computing Center.

It’s not ideal, particularly since this is an online, remote program. But it lets me use the Chromebook I have, thanks to Linux support, without splurging on a new computer costing $1,500, $2,000, or more. Frankly, that’s what I’m trying to avoid because I have a pretty decent Linux machine hiding in my Chromebook.

40 thoughts on “Linux on Chromebooks just might get me through a Masters in Computer Science

  • June 13, 2021 at 11:14 am
    Permalink

    In my experience, the biggest issue with online study on platforms other than Windows and macOS isn’t the course materials but the occasional midterm and final exam that requires lockdown browsers and other anti-cheating software. (I do see that a major lockdown browser supplier is currently beta-testing support for ChromeOS.)

    Considering how dominant ChromeOS has been in the education sector for so long addressing this blind spot should have been done long ago. We have a literal generation of kids for whom Google Classroom on Chromebooks has been a major part of their education and they are going to want to retain that. Also, online college is only going to continue to grow. Maybe it isn’t the best approach for getting degrees in medicine or experimental physics but for most careers the ability to attend school while working and most important without spending 4-5 years of your life – and a loan-subsidized $100,000 – in some small college town is going to be increasingly appealing to a lot of people. ChromeOS is going to be the dominant platform for remote learning so the technology providers are going to have no choice but to catch up, and they have their choice of PWA, Android and Linux apps to accommodate these users. It isn’t as if they already don’t have to write a UNIX-like app to accommodate their tiny macOS userbase already so porting that to a proper *.deb package should be easy.

    Reply
    • June 13, 2021 at 11:26 am
      Permalink

      That’s a great point. And I know that a few profs use the Respondus Lockdown Browser, which IIRC, isn’t available for Linux. Totally agree on your points regarding ChromeOS and education!

      Reply
    • June 13, 2021 at 1:41 pm
      Permalink

      I provide IT Support in schools and we use a lockdown browser for exams on Chromebooks and have done so for a few years now. Super simple to setup, from my end, and totally stable and secure.

      Reply
  • June 13, 2021 at 12:03 pm
    Permalink

    Get a Raspberry Pi4+ with 8gb, a good monitor, keyboard, and mouse. Excellent Linux platform. The CB is probably useful as a portable device for Linux, but not nearly as stable.

    Reply
    • June 13, 2021 at 12:19 pm
      Permalink

      That would likely be a nightmare. Even the top Pi has very low compute power compared to any modern Core CPU. And another wrinkle: it’s limited to ARM-based Linux apps. 😉

      Reply
    • June 14, 2021 at 1:05 am
      Permalink

      I am co-founder at an Anglo-Icelandic data analytics and visualisation start-up. I use a Chromebook as my main machine. Given the spec of your device, you should have no problems. As an aside, in the real world, most of the data ops pipeline is managed in the cloud. We increasingly spin up on-demand, tailored environments with elastic resources in the cloud. You might consider looking into tools like gitpod, as they might be more flexible and economic for you as well as giving you additional in-demand skills.

      Reply
      • June 14, 2021 at 10:17 pm
        Permalink

        That may work well and is something I’ve done in the past; as long as the school allows it for code grading (although I think I can submit a GitHub repo), it’s definitely a good option!

        Reply
      • June 14, 2021 at 10:28 pm
        Permalink

        Thanks for the feedback, Gary. I’ll check out Gitpod and some other related tools. Cheers!

        Reply
    • June 14, 2021 at 2:28 am
      Permalink

      Raspberry Pi is a really nice ‘swiss army knife’.
      It can do everything, but it cannot do anything really good.

      Reply
  • June 13, 2021 at 12:11 pm
    Permalink

    The next iteration of the Asus CX5 with the Tiger Lake 11th gen dual core i3, which according to on review already runs circles around 10th gen core i7s (May 14 Chrome Unboxed), I am guessing may well have 16 GB RAM and 256 GB of storage. That would meet the requirements you listed for your Masters degree course. But even more interesting to me (I have not tried it yet) is the possibility of installing Linux with crouton on a large capacity external drive, which could be quite small in physical dimensions. As far as crostini has come, it still feels to me like it is in perpetual beta. Crouton on the other hand runs many flavors of Linux and so far I have not found a feature of Linux under crouton that does NOT work. Just my $0.02 worth.

    Reply
    • June 14, 2021 at 10:37 pm
      Permalink

      Yup, the next-gen devices look great from a performance perspective. We might even see more than 16GB of RAM on some models; I believe Dell has already offered some for enterprise Chromebooks. I used to use Crouton all the time but I prefer an integrated, rather than a dual-boot solution. Just personal preference. Also, you can run just about any Linux distro you want with Crostini; it’s not a feature limited to Crouton. 😉

      Reply
  • June 13, 2021 at 12:37 pm
    Permalink

    Well, my days of a Master’s is way done. But I use a chromebook for fairly serious stuff. It’s Java, Rust and C, mostly; I can get all the cool IDE-like stuff going, using vim and coc and so on. Writing is done mostly with markdown. 4Gb of ram, 32 of storage plus a 64G SD and I don’t have a problem. OK, I might wait a few seconds for a build but wotthehell archie.
    But I am almost completely fingers-on-keyboard when working. I do backend, not pictures. And I have a wireless keyboard for when I’m in the office. That’s the kitchen.

    Reply
  • June 13, 2021 at 2:00 pm
    Permalink

    You may need to enable swap for big ML experiments, is that working yet?

    Reply
  • June 13, 2021 at 3:10 pm
    Permalink

    Good to see someone trying this, I believe its the future and you are a pioneer before it becomes common place. From when I’ve tried to more CS style uses with a Chromebook, there always seems to be a solution, but for MacOS there are Xtimes tutorials, and StackOverflow articles. So the solution can be harder to find.

    For the machine language type assignments the situation could be reversing. Am I wrong to think the trend is better to do ML type task, with less headaches in a rented cloud computer, than on a beefy individual computer. And the Chromebook would give a great experience.

    Reply
  • June 13, 2021 at 4:48 pm
    Permalink

    I’m using a Chromebook abotu 50% of the time when working. The Linux sub-system works quite well for Python, Go and any shell related tasks. Because I spend the majority of my time on the command line, it’s really a non-issue for most of my administration tasks. Octave CLI works. Matlab-online is fine for my occasional needs. I have also used online IDEs such as Codenvy/Cloud9. They work fine, though I admit I don’t use them all that often. Jupyter notebooks also work fine. I can even spin up web servers and other browser tools directly (e.g., node or Python servers, Kubernetes dashboards, etc.).

    About the only pain point is that my work uses a proprietary network software that’s only available for Mac/Windows.

    Reply
    • June 13, 2021 at 11:34 pm
      Permalink

      I am in OMSCS one class over halfway through. I got by fine with a 2500k and 16gb of ddr3 up until this year when I finally upgraded (not because I desperately needed to). That said I run windows. Most proctored exams use proctortrack which I’m not sure runs on Linux.

      Regarding class environments, those I’ve taken so far use anaconda (through miniconda) for python stuff (most ml and robotics based courses will use python), or vagrant for C and C++. Matlab is talked about in recorded lectures but every class I’m aware of has moved fully to a combination of numpy, opencv, and pandas

      Reply
      • June 14, 2021 at 10:31 pm
        Permalink

        Thanks for the info, Kyle! I can’t imagine doing the program with an Intel CPU that debuted in 2011, so props to you. 🙂 You’re right, Proctortrack doesn’t support Linux. It’s Mac, Windows, and… surprisingly, Chrome OS version 80 or above, according to the site. I might be OK there. Cheers and continued OMSCS success!

        Reply
  • June 13, 2021 at 7:11 pm
    Permalink

    Just buy a used corporate/business Laptop like ThinkPad or Dell Precision. This will save you even more money and provide a better quality computer than most chromebooks. Also older hardware often better Linux support.

    Reply
    • June 13, 2021 at 9:31 pm
      Permalink

      Wise advice. The connectivity advantages, dock options (external peripherals are inherently superior and much more ergonomic than any notebook) and in the case of Thinkpads an enormously helpful community are hard to beat. ‘Pads are well made, generally easy to work on, popular with Linux devs so support is no problem, have outstanding HMM (Hardware Maintenance Manuals) and are typically easy to upgrade. The matte screens on many models are ideal for prolonged coding but less so for video or gaming. Thinkwiki and the Thinkpad forums are good places to start learning about them.

      Reply
    • June 14, 2021 at 4:07 am
      Permalink

      Wanted to write the same. You can get refubrished thinkpad(which would be basically like a new) for cheap cos corporations get rid of then when their warranty start to expire. They have good keyboard which is very important if you type a lot. Reliable. You can spill coffee on it even. Good linux support. Unlike most modern laptops you can easily repair/upgrade them yourself(there are even videos on lenovo site) and spare parts are cheap.
      Even older model would work great with enough ram and ssd(you can even upgrade CPU on older models like t440). External GPU can be used too(or you can get one with nvidia).
      Chromebooks, well can be used as thin terminal. They should have good battery life and light to carry around when you travel.
      But many thinkpads are light too. And on older models you can have spare batteries, extended batteries. On newer you can use usb-c powerbank AFAIK.
      Dell business are good too.
      But seriously if you need a laptop for work get a decent one. And you don’t have to pay a lot.
      Your hardware requirements aren’t too high but if they were you could get mobile workstation(lenovo has those) or.. just use workstation over network.

      Reply
      • June 14, 2021 at 4:15 am
        Permalink

        btw about terminals. last year I wrote telegram bot(not a simplest one, something like a gate between tg and other messenger).. on a cheap chinese android phone using vim in termux and could run it there. I could do the same via ssh and then compile and run something more heavy. and if I had some sort of keyboard.. it would be even comfortable somewhat. and could connect to some larger screen like tv. so you can do something useful on any device

        Reply
  • June 13, 2021 at 8:21 pm
    Permalink

    For big jobs, can you rent AWS machines? You only pay for the runtime and transfer of data.

    Reply
  • June 13, 2021 at 9:02 pm
    Permalink

    When I see an article like this, it makes me wonder: 🤔
    Well, what hardware and OS platforms are Google coders using? 🤷🏻‍♂️ Are they allowed to use Chromebooks? 🤨

    Reply
    • June 13, 2021 at 9:10 pm
      Permalink

      Absolutely they do. Not all, of course, and I don’t know the internal numbers but I’m pretty sure at I/O, it was stated that more of them continue to adopt Chromebooks.

      Reply
  • June 14, 2021 at 4:11 am
    Permalink

    I just finished this year. Some classes to watch out for: advanced os where you have to write a balloon memory controller, this needs to be able to run a proper VM setup and reinforced learning where you really need the fastest machine possible or a gpu that runs cuda and Windows.

    Reply
    • June 14, 2021 at 10:27 pm
      Permalink

      Oh wow, congrats on finishing the program, Malcolm! Appreciate you sharing the experience. I do have a custom gaming PC that I built last summer and have an RTX 3080 in there. If worse comes to worse, I can use Windows and the 3080 for very specific purposes such as ML. I’d rather not because I prefer keeping that rig very game-centric but if I have to make the concession, I will. Cheers!

      Reply
  • June 14, 2021 at 4:18 am
    Permalink

    also you can run vscode on a server with interface rendered in a browser. I run it on a vps and it worked fairly well. you can debug code on a server etc and access it from anywhere with a modern browser.

    Reply
  • June 14, 2021 at 5:27 am
    Permalink

    Anything too heavy duty you can always push off to the cloud for as long as it needs to run.

    Anyway all the best with your endeavours.

    Reply
  • June 14, 2021 at 6:54 am
    Permalink

    Thanks for writing the article.

    How are you creating those knowledge graphs?

    Reply
    • June 14, 2021 at 10:24 pm
      Permalink

      Guess I’ll have to share the secret of which notes app I chose. It’s Roam Research which automatically creates the knowledge graphs based on the linking in your notes. 😉

      Reply
  • June 14, 2021 at 10:56 am
    Permalink

    Mr. Tofel, this is a little off-topic, but in a very recent episode of All About Android on TWIT (I believe from 2 weeks ago) a listener wrote an e-mail asking if a Chromebook could be used for programming purposes and the hosts were all basically stumped. At one point they even said Linux on ChromeOS was “kind of a hack”.

    Sometimes I’m still shocked that even Android diehards seem to be unaware of not only the potential of ChromeOS, but also of what you can actually already do today, still believing it’s mostly “just an browser”.

    When I heard this discussion my first thought was actually of you and the many articles you posted about using a Chromebook on your COLLEGE course.

    If you could forward a few of your articles to your friends at AAA I think that would be very useful as I believe ChromeOS and it’s ever-increasing Android integration are a huge component of the current Google ecosystem.

    Thank you.

    Reply
    • June 14, 2021 at 1:33 pm
      Permalink

      Appreciate the heads up. I watched the last 2 episodes and see what you mean. The panel was a little out of their element on the 2nd most recent show, but in fairness, they’re not developers or heavy users of Linux on their Chromebooks. So I totally get it. On the most recent show, the featured reader email definitely clarified how capable that Linux on Chromebooks is; they even pointed out one of my articles as a reference. So, from what I can see, it’s all good now!

      Reply
  • June 14, 2021 at 11:36 am
    Permalink

    Cloud9 and Codenvy were mentioned by an earlier commenter, and I just wanted to suggest REPL.it as another option.

    Still a long ways away from a Masters, but I’m also a CS major and my 713 is serving me well so far! (Only 8GB for now, but I’m probably going to get the 16GB model once it’s available with Tiger Lake).

    Reply
    • June 14, 2021 at 10:21 pm
      Permalink

      Yup, we used Repl.it in one of my early web dev classes. Definitely a nice tool. Continued luck on your CS degree and glad to hear the Spin 713 is doing its job. Considering it’s an upgrade from my Spin 13 in the CPU department, I’m not surprised! I used both an 8 and 16 GB Spin 13 and was much happier with the latter’s experience for coding. Cheers!

      Reply
  • June 15, 2021 at 7:03 am
    Permalink

    Great and detailed article on the use of Linux in Chromebooks for real life situations Kevin, good luck with the masters!

    Reply
  • June 16, 2021 at 10:18 am
    Permalink

    My full-time work computer is a Pixelbook. I graduated in 2018, but I did almost all of my CIT degree with a Samsung Chromebook Plus (and on a ThinkPad running Linux before that.)

    Reply
  • June 23, 2021 at 8:22 am
    Permalink

    Hi Kevin,

    Thanks for your commentary. As a non-technical user, I often struggle to leverage the Linux apps. For example, I wanted to use KeepassXC (I prefer not to put my passwords in the cloud) but have been unable to get auto-fill to work — either with ChromeOS or a browser installed inside the Linux VM. Alternatively, I cannot get auto-fill to work using an Android app on ChromeOS, such as KeepassDX. I do not want to use copy-paste due to the security concerns about using the clipboard.

    I understand that Keepass may be considered niche but I do think it’s a respectable and reasonable way to do password management. I find that still with a Pixelbook on M91, I cannot move many of my workflows to Chrome OS. Do you have any suggestions?

    Reply
  • June 27, 2021 at 8:06 pm
    Permalink

    @Bob I too struggle to get Linux apps going on my Chromebook, an Acer R721T (I think I need to dedicate more time to it really but that’s easier said than done). I also use KeepassXC on my linux boxes but on the chromebook use the android app Keepass2Android Offline. This works well but where autofill doesn’t work (I think it’s restricted to android apps) I happily use Ctrl+C. As I understand the KeePassXC notes the clipboard copy is cleared after about 10 seconds and the basic process is a little more secure than autofill too. Like you, though, I do not want my passwords kept in the cloud!

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.