Skip Navigation

Linux Challenge Assignment

For this assignment, you will install a Linux operating system onto a laptop or desktop computer and show that you can use it for many of your day-to-day tasks. To do this assignment, you will need to have a computer available on which you can remove the current operating system to install Linux. See below for more information.

Page Contents

Background

To have any chance of preserving your digital privacy, it is imperative that you stop using Windows (especially Windows 11). While Apple spends a lot of marketing effort discussing privacy, their own corporate privacy policies allow them to employ tracking and advertising software, so macOS probably isn’t a great option, either. There are some other operating systems, like FreeBSD and other BSD variants, that offer good privacy; however, hardware support in the BSDs is problematic. The only class of operating system remaining is Linux.

Linux operating systems are shipped in the form of distributions, which are installable operating environments that contain both the Linux kernel and a set of useful utilities and programs. To be precise, the “operating system” is the Linux kernel itself, while the “operating environment” is the whole distribution, which consists of the kernel plus these other tools.

There are a wide variety of distributions available, each of which has pros and cons. Some popular distributions are tracked by the DistroWatch.com website, although the popularity score it uses isn’t scientific by any means. Each distribution has its own installation method, ranging from simple and easy (for example, Linux Mint or Ubuntu), to difficult but well-documented (for example, Arch Linux), to difficult and not well-documented (Void Linux, Crux, and others), to a book explaining how to build your own distribution from source code by hand (Linux From Scratch).

For this assignment, your first step is to select a Linux distribution to use. The only distribution requirement is that you MAY NOT use Alpine Linux for a few reasons. First, I use Alpine in some of my other courses as a teaching tool, and someone trying to do this assignment with Alpine Linux might run into trouble with a project in another class that requires different configurations. Second, Alpine Linux uses a different C library by default (musl instead of glibc). While I have been using Alpine Linux as a desktop OS personally, I have found times where this library difference creates some issues running some software applications.

Please note that the second issue applies to some flavors of Void Linux and other distributions that use musl. If you want to try Void Linux, be sure to get the glibc version.

One other note: installation will be easiest if you have access to a wired network connection. If you are on campus, setting up eduroam for wireless access can be done on Linux but isn’t always easy (depending on the distribution).

Software Applications

When switching to Linux, it is necessary to substitute some software applications for ones that you might otherwise have used on Windows or macOS. Some common substitutions are:

Many other applications have native Linux versions, including Steam, Discord, Zoom, OBS Studio, and Firefox. There are Linux native versions of Chrome and Edge, but by now, you might be able to think of other reasons not to use these programs :-). For other applications, take a look at AlternativeTo for ideas. The ArchWiki has a list of applications by category, which is also helpful. Note that not all distributions package all programs, although most distributions will support Flatpak and AppImage overlays to get extra software. Ubuntu favors Snap over Flatpak, which creates some controversy.

Another place where you need to make a decision on a Linux desktop is the choice of desktop environment. Unlike Windows or macOS, you can choose among many different desktop environments and window managers with different look-and-feel characteristics. Examples of these include KDE Plasma, Gnome, Xfce, and LXQt. The ArchWiki articles on desktop environments and window managers are helpful, even if you aren’t running Arch as your distribution.

Important Hardware Notes

If you do not have a spare laptop or desktop computer on which to do this assignment, then it might be best to select one of the other Challenge Assignment choices. While it is likely possible to switch your current machine to Linux (barring any unusual hardware devices), such a change is best done during a summer or other break. Remember that the second half of the semester is typically a busy time, so it might not be optimal to make a large change in computing environment just for this assignment.

There are a few software applications that you might be using for other courses that do not work with Linux. In particular, the Respondus LockDown Browser is known to be quite troublesome, as it employs numerous checks to try to prevent itself from being run in virtual machines or in WINE. ArcGIS is another example of an application for which you might need to stay on Windows for now, unless you’re going to a lab to use it.

In the event that you’re already running Linux as your primary desktop environment, you may use that environment for this assignment as long as the distribution isn’t Alpine Linux. For the software applications discussion (requirements 4 and 5), explain which applications you use for which tasks and how you wound up using them.

Requirements

Prepare a video presentation in MP4 or WEBM format that includes the following:

  1. Explain how you picked the Linux distribution you decided to install. Use any distribution other than Alpine Linux.
  2. Demonstrate that you have installed your Linux distribution directly onto the hardware of a laptop or desktop computer system. A virtual machine is not sufficient for this project. Record this part of your video (or the whole video) using your phone, and show the physical computer system that you are using.
  3. Demonstrate that you have configured a Web browser on the installed system, and that you can log into Office365 and Moodle with this browser.
  4. For any applications that you use on Windows or macOS, show how you can accomplish the same tasks on your Linux system.
  5. Explain any additional software you decided to install in the desktop environment, including why you chose that particular desktop environment or window manager.

Upload the completed video as the submission for this assignment.

Grading

Please review the Linux Challenge Rubric before submitting this Challenge Assignment.

As explained in the course syllabus, a minimum grade of 75 is required to receive any partial credit for this assignment.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.