Challenges of installing Ubuntu 20.04 on my new work computer
Posted On May 9, 2020
Why get a work computer?
I would first like to say that I believe separating work life from home life is a good thing. However, that has become a bit obfuscated, due to everyone having to work from home, essentially. I spend a lot of free time on the computer writing, watching videos, reading articles, and a lot of other things. I also was using my own personal laptop for work-related tasks, such as creating lesson plans, PowerPoint presentations, grading, etc. I figured it was time for a change. So, I went out and I bought the cheapest work laptop I could think of: an Asus M509BA.
The Windows setup
The computer came pre-installed with a licensed copy of Windows 10, which is often rare to find in a third-world country and one usually needs to pay more. I personally would have rather bought a computer with no operating system on it, since my daily driver is Linux Mint. However, because this computer is to be used for work, I figured having a legitimate copy of Windows 10 also installed wouldn’t hurt. I refused, however, to let the people at the store take more time to put their bloatware on my computer. I just told them I will install the software myself. And that I did.
The employees at the computer store also tried to set the default security settings for Windows 10, which I wasn’t comfortable with, because they by default gave Microsoft access to all of my anonymous user data. That’s a big no-no in my book. However, they were essentially just clicking “Next” at every install prompt. They were also going to set my username to ASUS and generate a default password. At this point, I stepped in and just managed it myself. After setting the username, I let them continue on with the regular install. Once they were done, they handed the computer over to me to play with and I agreed that it was a fine machine. It was boxed back up, I paid in USD for it, and I was out the door.
After installing Firefox, Zoom and LibreOffice (M$ Office was only a trial and it was bound to expire soon), I decided not to go any further installing Windows programs until I got Linux installed. So, I downloaded the latest Ubuntu 20.04 .iso file from the servers, wrote it to a USB drive, booted Windows in recovery mode and selected the USB drive as my boot device. I thought I was golden!
Problem 1: WiFi
I must admit that I’ve been very spoiled by my Dell laptop. Dell has been known to make sure its drivers are compatible with Ubuntu-based distros, even to the point that Dell once sold laptops with Ubuntu pre-installed as the Main OS. For that reason, I was totally surprised to see that WiFi was not working as I ran the Live USB.
I was installing the OS from my office, so my main computer wasn’t there for me to troubleshoot online. So, I pulled out my phone and started searching for reasons why the WiFi driver wasn’t being loaded by the OS. The card itself was recognized but it wasn’t being loaded into the system. Sure enough, it’s a driver that wasn’t included in the Ubuntu installer by default, and it needs to be manually activated, after downloading it from online. The only thing I could do, at this point, was boot back into Windows, download the necessary driver from GitHub, install it in the Live CD and follow the instructions that some random person on the internet gave all the way back in 2018. To my great surprise, it actually worked! Yay! WiFi activated! So, I hooked it up to the local access point and continued the install.
I was surprised again to learn that the driver did not remain installed after I fully installed Ubuntu on the hard drive. Frustrating, eh? I forgot that the live installer wipes all of your settings upon reboot. Not only that, but many utilities that were installed on the live installer were uninstalled during installation!!! So, I luckily found a workaround where I could load my Ubuntu installer as a source for installing packages. I did that and was successfully able to install the utilities needed to reactivate the driver, which I did. Yay again! After what I considered a job well-done, I installed some small things, shut down the computer, and went to bed early for a change. “I’ll finish the install tomorrow,” I thought to myself. Little did I know, the fun had just begun!
Problem 2: Blank screen after boot
This one was a doozy. After getting everything to a suitable setting the evening before, I woke up and booted my laptop to a… blank screen? I knew that the hard drive was fine, because it went through the boot sequence and I knew the screen wasn’t broken, because it briefly showed the cursor before turning off. Why I was only getting this problem now and not the night before, I have no idea. So, frustrated again, I started DuckDuckGo-ing for answers.
The simplest one came in the form of a modification to the bootloader (the software that tells your computer which files to use for booting into the OS). I just had to add a small word at the end of the bootscript “nomodeset”. That command supposedly tells the bootloader not to load any video drivers until the video server (X in most Linux distros) is loaded. Lo and behold, I added that line and my computer booted normally again. The issue was that my graphics were noticeably less-accelarated than usual. So, I knew I needed to find a way to get that functionality back. Apparently an update or something did the trick, because later, I tried rebooting without the “nomodeset” option and it booted just fine with all graphic functionality back! I have no idea why it works now, but I’m happy that I probably don’t have to go through that mess again knock on wood.
Problem 3: Microsoft Core Fonts
For any Ubuntu users that have to regularly write reports or anything using Microsoft fonts, ttf-mscorefonts-installer is an essential package. It uses fonts that Microsoft released freely way back in the day, to allow Times New Roman, Arial Bold, Comic Sans MS and their friends to be used in Linux. Without it, you get clones that look similar, but are still not quite the same. At any rate, I go to install the program as normal and notice that the default installer is having problems downloading the fonts from its server. Using my Linux intuition, I look on GitHub and, sure enough, someone created a repository of the files which are no longer available. I downloaded all of those into another directory and, following the instructions someone left on the internet, configured the mscorefonts-installer to install the fonts from the directory I created and not from the server. It worked! Yay!
Problem 4: iBus
iBus is an advanced keyboard layout daemon that allows for complex layouts, like Burmese, to be run inside of Linux. I use the SIL-maintained Keyman to manage my advanced keyboards and, since my OS is actually Ubuntu now, I figured I would have a better chance of getting the program and the keyboards to work. I successfully get Keyman installed, with all of its dependencies. However, I realize there’s no way for me to switch keyboards. After about 30 minutes of fiddling around, I realized that the ibus-daemon was not running. So, I went into the “Run at startup” section in Ubuntu and added a line for ibus-daemon. Without it, iBus cannot load any of the custom keyboards I feed it, making it impossible to switch. I rebooted and it worked! Yay!
Experiences like these make me thankful that I have access to the internet. People much more experienced than I have already found the answers to the problems I had and freely shared the solutions. They didn’t charge a consultation fee or a repair fee. That’s the beauty of the Linux community. Everyone wants to help the newbies, to increase Linux’s user base. Little by little, as I encounter more problems, I understand how Linux works and that means that many problems I face I just end up fixing on my own. As of right now, my computer is right at the point I need it to be as a work computer. I even drafted this blog post on it, to see if I can get used to the keyboard. It’s not that bad, actually. I still consider myself a big fan of Dell, but I’m happy to have this little computer.