Remote Learning Tools for Tero's Courses

All my courses are online for spring 2020.

I'll use Jitsi video conferencing, VirtualBox and Xubuntu Linux 18.04. In addition to Internet connection, you'll need headphones, a mic and a webcam. Some 30-40 GB of free disk space would be nice, too.

Is it all obvious to you? Just test that all of these work, and you can skip the rest of the document:

  • Jitsi Meet (have a video conference with yourself, try sharing a window)
  • VirtualBox (install and test a guest OS)
  • Xubuntu Linux 18.04 (browse the web, use apt-get)

If you have Linux running on hardware (as the host OS), that's very convenient.

For us mere mortals, here is a very detailed explanation of the same thing. You still have to be able to do regular troubleshooting, as it's not possible to create step-by-step instructions that work on every possible computer and software combination.

Jitsi Meet Video Conference

Jitsi is a Free, open source video conference program. Go to Jitsi.org, click start call, and GO.

No registration, no install. I'd say that's a user intefrace I like.

Jitsi (and Zoom) work best with Chrome and Chromium web browsers. Unfortunately, Firefox currently has a bug in WebRTC that makes it unsuitable for use with Jitsi. And if you want to invite someone to your call, just copy the link. Like https://meet.jit.si/TeroKarvinenCom. Jitsi calls are not end-to-end encrypted, but they are encrypted on transit; encrypted between client and server, but not encrypted on the server.

We'll mainly use video conferecing on a computer. But it's a good idea to install it on your cell phone, too. It's free on F-Droid (recommended), Google Play and Apple App Store.

I have currently only used Jitsi with small groups, we'll see how it works with a whole class. As a backup system, Haaga-Helia provides a Zoom license for our course.

VirtualBox OS Virtualization

With VirtualBox, you can play with a guest operating system (OS) on a window on your desktop. For example, you can have Linux running in a window on Windows.

Install VirtualBox

Install VirtualBox from VirtualBox.org. It's available for Linux, Windows and Mac OSX. If you're using Ubuntu, it's even easier with 'sudo apt-get install virtualbox'.

Install Virtual Xubuntu Linux

Update: as of 2021, most of my courses use Debian 10 Buster. Tutorial: Install Debian on Virtualbox. It's very similar to Ubuntu, as Ubuntu is created from Debian.

Linux is the most popular OS connected to the Internet, the most popular server OS and the most popular OS in supercomputers. It's the main OS used by Amazon, Google, Facebook, Netflix and Uber. It's even the most popular OS in Microsoft's Azure cloud. Ubuntu is popular and easy to use distribution. We'll use long term support version, currently 18.04.

Download Xubuntu

Download Ubuntu ISO image from xubuntu-18.04.5-desktop-amd64.iso.

If you know how, it's nice to have it installed and running directly on hardware. Just backup first. In fact, always back up. All hardware will eventually fail.

Create a New Virtual Machine

To install Xubuntu in VirtualBox, first open VirtualBox graphical user interface (GUI).

In menus, Machine: New. In the new virtual machine wizard:

  • Name and operating system
    • Name: XubuntuTero
    • Type: Linux
    • Version: Ubuntu (64-bit)
  • Memory size: 2048 MB
    • More is better. If you have lots of RAM, try 4096 MB or more.
    • Advanced courses might have different requirements. If you use just command line over SSH - without a graphical desktop - one gigabyte is plenty. For digital forensics, you'll need at least six gigabytes. But at that point, you can probably quickly create new virtual machines as needed.
  • Hard disk (use defaults)
    • Yes: Create a virtual hard disk now
  • Hard disk file type: (use defaults)
    • Yes: VDI (VirtualBox Disk Image)
  • Storage on physical hard disk: (use defaults)
    • Yes: Dynamically allocated
  • File location and size
    • ...name of the new virtual hard disk file: XubuntuTero
    • ...size of virtaul hard disk: 20 GB

Now, a new virtual machine is created. It's shown on the list on the left in the GUI. Right click on the new XubuntuTero entry and choose Settings.

  • (Virtual Machine) Settings: Storage:
    • Select under Controller: IDE device (CDROM icon) Emtpy
    • Attributes: Optical Drive, click the tiny CDROM icon drop down menu.
    • Choose Virtual Optical Disk File: Select the ISO file you have downloaded, xubuntu-18.04.4-desktop-amd64.iso
    • OK

Install Xubuntu Linux

Double click XubuntuTero entry to boot the virtual machine. Your new machine boots from the ISO cdrom image. Booting to desktop and starting the installer

  • Install: English, Try Xubuntu
  • You'll get a desktop - you're running Xubuntu Linux
  • Double click "Install Xubuntu 18.04... LTS" on the left side of desktop

The installer starts.

  • Welcome: English
  • Keyboard layout: Finnish, Finnish (You can type "åäö" to the box to try it out. If you have some other physical keyboard layout, you can choose that one)
  • Updates
    • Yes: Download updates while installing Xubuntu
    • Yes: Install third-party software for graphics and Wi-Fi hardware...
  • Installation type
    • Yes: Erase disk and install Xubuntu
  • Where are you?
    • Helsinki
  • Who are you?
    • Your name: John Doe (use your full name here, normally written)
    • Your computers name: noop (might become public DNS name, so single lowercase ASCII word)
    • Pick a username: john (lower case, max 8 chars, must start with a-z, may only contain a-z 0-9)
    • Choose a password: shaipo%N8e (ALWAYS USE A GOOD PASSWORD. Never use a bad password.)
    • Yes: Require my password to log in
  • After waiting 10-15 min, the system is installed.
  • Installation Complete
    • Restart Now
  • Press ENTER (VirtualBox removes the virtual CDROM automatically, as you can see on menu Devices: Optical Drives)

Wait while your VM boots to freshly installed system. Log into your new desktop.

Open Firefox, Google (or DuckDuckGo) "Tero Karvinen" and click a link. If it worked, you just tested the critical components

  • Internet connection works (at least well enough to transfer the web page)
  • Display (you're looking at it)
  • Keyboard (you typed in the search)
  • Mouse (you clicked a link)

Well done, you have now installed Linux to your virtual machine.

VirtualBox Guest Additions

With guest additions, you can strech your desktop, use clipboard to copy-paste between host and guest OS, and create file shares between guest and host.

  • Devices: Insert Guest Additions CD image... (menu on top of guest os window)
  • "download this disk...?": Download; "Are you sure": Download
  • "insert...?" Insert (after a moment, file manager likely opens showing the disk)
  • Start a terminal (ugly-T or top left menu: "Terminal Emulator"

Install requirements and and install addons.

$ sudo apt-get update
$ sudo apt-get -y install linux-headers-$(uname -r) build-essential dkms virtualbox-guest-dkms

$ cd /media/*/VBox*
$ sudo ./VBoxLinuxAdditions.run # type your password when asked

Building the kernel modules is automatic, but it takes a while. As it says, "Running kernel modules will not be replaced until the system is restarted".

Reboot guest OS. 'sudo shutdown -r now' or you can hunt the reboot button from the menu.

Test that guest additions work. Stretch the VirtualBox guest OS window. Does the desktop fill the larger window? If the desktop is now larger, it works, you have guest additions. If it does not, try grabbing a corner of the window to strecth instead of using the maximize button.

Well done, you are ready to use your guest OS.

Updated. After two months of use, these tools are working nicely. Improved RAM recommendations for virtual machines. Updated again in 2021: my courses mostly use Debian 10 Buster now.