Skip to content

Conversation

@zachmmeyer
Copy link
Member

Because

The Xubuntu VirtualBox instructions were severely out of date and nearly non-functional

This PR

Updates the instructions to a long-term set with screenshots

Issue

Additional Information

Pull Request Requirements

  • I have thoroughly read and understand The Odin Project curriculum contributing guide
  • The title of this PR follows the location of change: brief description of change format, e.g. Intro to HTML and CSS lesson: Fix link text
  • The Because section summarizes the reason for this PR
  • The This PR section has a bullet point list describing the changes in this PR
  • If this PR addresses an open issue, it is linked in the Issue section
  • If any lesson files are included in this PR, they have been previewed with the Markdown preview tool to ensure it is formatted correctly
  • If any lesson files are included in this PR, they follow the Layout Style Guide

@zachmmeyer zachmmeyer requested review from ManonLef and mao-sz February 2, 2026 01:24
@zachmmeyer zachmmeyer self-assigned this Feb 2, 2026
@github-actions github-actions bot added the Content: Foundations Involves the Foundations content label Feb 2, 2026
Copy link
Contributor

@mao-sz mao-sz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm going to have to leave the proper content review for someone else as I don't have access to a Windows machine to properly test this/troubleshoot etc.

Just a few things below that caught my eye.

Also, and this is just a idea I'm not 100% convinced with, what do you think about converting any note boxes to GitHub markdown alerts? Temporarily, while this is hosted on GitHub. The note box divs won't render differently here, so they'll just be normal paragraphs and headings.
Caveat with GitHub alerts is that

  1. We'd remove headings as they're not quite the same as our note boxes
  2. Would need to convert back and add headings once we can host the guides on the TOP site again

@ric-projects
Copy link
Contributor

Thanks Zach, great job with the lesson updates, it looks great!

I wasn't able to fully test it myself by following the guide yet, but should be doing it soon. Will share more comments if needed then.

One quick comment I had is about line 122, specifically the You are encouraged to do your research on saving the machine state, should you so choose.
I've seen snapshots causing a few issues in earlier versions, so I wonder if perhaps omitting that specific bit about snapshots might avoid some future issues? Linking a couple of instances as examples 1, 2

I suspect that at one point the Safely Shutdown part was added due to that, at least my impression from the way it was originally written.

The new step-by-step is very clear, I bet it'll reduce the amount of issues we have to help with, thank you.

@zachmmeyer
Copy link
Member Author

Thanks Zach, great job with the lesson updates, it looks great!

I wasn't able to fully test it myself by following the guide yet, but should be doing it soon. Will share more comments if needed then.

One quick comment I had is about line 122, specifically the You are encouraged to do your research on saving the machine state, should you so choose. I've seen snapshots causing a few issues in earlier versions, so I wonder if perhaps omitting that specific bit about snapshots might avoid some future issues? Linking a couple of instances as examples 1, 2

I suspect that at one point the Safely Shutdown part was added due to that, at least my impression from the way it was originally written.

The new step-by-step is very clear, I bet it'll reduce the amount of issues we have to help with, thank you.

Yeah that's a good idea, I can omit the snapshot information. And I am leaving the safely shutting down section at least.

Thank you!!

@mao-sz
Copy link
Contributor

mao-sz commented Feb 4, 2026

A heads up that alerts do work, they just need > as well. Though tbh on second thought, might just be better off without since once we get these hosted on the TOP site, we'd need to convert them back anyway.

> [!NOTE]
>
> Foo
>
> Debarbazbong

Note

Foo

Debarbazbong

@zachmmeyer
Copy link
Member Author

A heads up that alerts do work, they just need > as well. Though tbh on second thought, might just be better off without since once we get these hosted on the TOP site, we'd need to convert them back anyway.

> [!NOTE]
>
> Foo
>
> Debarbazbong

Note

Foo

Debarbazbong

@zachmmeyer zachmmeyer requested a review from mao-sz February 5, 2026 22:00
@zachmmeyer zachmmeyer mentioned this pull request Feb 9, 2026
3 tasks
Copy link
Contributor

@ric-projects ric-projects left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some small grammar suggestions.

Not used yet to reviewing and sending suggestions directly via Github's interface, so hopefully this was sent correctly.


Upon logging in you may not notice anything different, but try to maximize your VM now. Look at all of this room for activities!

![Maxmimized VM](../../installations/imgs/34_room_for_activities.png)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
![Maxmimized VM](../../installations/imgs/34_room_for_activities.png)
![Maximized VM](../../installations/imgs/34_room_for_activities.png)


You do not have to exclude Python Support. It is an optional package to allow for automation Virtual Machines with VirtualBox, which is out of scope for this curriculum, and we simply do not want you to install more than what you have to.

Make sure you install the application on `C:` drive, as it has tendency to error out otherwise. The virtual machine itself can be installed anywhere but we'll get to that soon.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Make sure you install the application on `C:` drive, as it has tendency to error out otherwise. The virtual machine itself can be installed anywhere but we'll get to that soon.
Make sure you install the application on `C:` drive, as it has a tendency to error out otherwise. The virtual machine itself can be installed anywhere but we'll get to that soon.

**Uncheck "Proceed with Unattended Installation".** This feature does not work and you will not be able to control your installation. If you do enable it accidentally before installing just delete your VM and try again.

Continue by pressing **Next** and follow the next steps:
The fields should auto populate once you enter the VM Name.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The fields should auto populate once you enter the VM Name.
The fields should auto-populate once you enter the VM Name.

![GRUB Boot Screen](../../installations/imgs/11_grub.png)

#### Step 3.3: Add yourself to sudo
You should then see some console text show on the screen show up and disappear, and eventually make it to the Xubuntu desktop screen.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You should then see some console text show on the screen show up and disappear, and eventually make it to the Xubuntu desktop screen.
You should then see some console text show up on the screen and disappear, and eventually make it to the Xubuntu desktop screen.

![Select your keyboard layout](../../installations/imgs/14_select_keyboard_layout.png)

#### Step 3.5: Test your newly gained sudo privileges
The next screen will ask you to configure your settings so you can *Connect to the internet*. If it is not selected you should choose **Use wired connection**. VirtualBox is configured to use your host machines network device, so whether the VM knows you're wired or wireless it **does not matter**, to it you are essentially hard wired to the internet.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The next screen will ask you to configure your settings so you can *Connect to the internet*. If it is not selected you should choose **Use wired connection**. VirtualBox is configured to use your host machines network device, so whether the VM knows you're wired or wireless it **does not matter**, to it you are essentially hard wired to the internet.
The next screen will ask you to configure your settings so you can *Connect to the internet*. If it is not selected you should choose **Use wired connection**. VirtualBox is configured to use your host machine's network device, so whether the VM knows you're wired or wireless it **does not matter**, to it you are essentially hard wired to the internet.


#### Microsoft Visual C++ 2019

If you receive an error about needing Microsoft Visual C++ 2019 Redistributable Package, you can find it on the [official Microsoft Learn page](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2015-2017-2019-and-2022). You most likely want the version with `X64` Architecture (that means 64-bit) - download and install it then try installing VirtualBox again.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If you receive an error about needing Microsoft Visual C++ 2019 Redistributable Package, you can find it on the [official Microsoft Learn page](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2015-2017-2019-and-2022). You most likely want the version with `X64` Architecture (that means 64-bit) - download and install it then try installing VirtualBox again.
If you receive an error about needing the Microsoft Visual C++ 2019 Redistributable Package, you can find it on the [official Microsoft Learn page](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2015-2017-2019-and-2022). You most likely want the version with `X64` Architecture (that means 64-bit) - download and install it then try installing VirtualBox again.


![Maxmimized VM](../../installations/imgs/34_room_for_activities.png)

You should also have less performance issues overall and should now be ready to move on with the curriculum. Don't forget to eject the Guest Additions image by clicking this button here. It doesn't hurt to leave mounted but it's far more tidy to remove it as we do not need it anymore.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For accessibility, our text instructions should ideally be standalone, images accompanying but not being relied on. If the image isn't available to someone for whatever reason, they won't have actually been instructed on how to remove Guest Additions.

Not sure if this is the only time this sort of image-reliant instruction occurs (leaving the rest of the content review for more installations-minded maints)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Content: Foundations Involves the Foundations content

Projects

None yet

3 participants