From 84b141c3b1ed6ab9bb0da30174fe87f4c988a720 Mon Sep 17 00:00:00 2001 From: Michael Frank Date: Sun, 30 Apr 2023 08:49:02 +1200 Subject: [PATCH 01/30] Update installation_overview.md Include preliminary introduction to WSL2. --- .../installations/installation_overview.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/foundations/installations/installation_overview.md b/foundations/installations/installation_overview.md index 122244a73d5..6c41e0a6737 100644 --- a/foundations/installations/installation_overview.md +++ b/foundations/installations/installation_overview.md @@ -15,7 +15,7 @@ In the next few lessons, we will walk through these installation steps together: * Installing a supported [operating system](https://en.wikipedia.org/wiki/Operating_system) (OS). * Installing Google Chrome web browser. * Installing a code editor. -* Creating an SSH key (a personal "password" that will identify you to GitHub, Heroku, and many other sites you'll be using). +* Creating an SSH key (a personal "access key" that will identify you to GitHub, Heroku, and many other sites you'll be using). At the end of the next lesson, you'll be up and running with many of the tools you need to write and run code! It may seem like a lot of steps, but we'll get through it as painlessly as possible together! If anything goes wrong, remember to use these steps: @@ -37,7 +37,11 @@ If you're using a Mac, you're in great shape. The Odin Project instructions assu #### Windows -Windows **is not natively supported** by The Odin Project, or on our Discord server; however, if you're currently using Windows you can use either a virtual machine or dual boot to keep your Windows install while creating your development environment in Linux. +Windows, by itself, **is not natively supported** by The Odin Project, or on our Discord server. Because many of the tools you'll be using were written with a Linux environment in mind, you'll need to have to one even if you plan to use Windows as your development OS. If you are currently using Windows you can use one of the following options to create your development environment: + +* A VirtualBox Virtual Machine +* Dual-boot Ubuntu installation +* Windows Subsystem for Linux A **virtual machine** is an emulation of a computer that runs within your existing OS. It allows you to use another operating system inside of a program on your current operating system (e.g. Running Linux inside of Windows). Virtual machines are as simple to install as any other program and are risk free. If you don't like Linux, you can easily remove the virtual machine. Virtual machines are a great way for new developers to get started quickly. @@ -47,6 +51,8 @@ A **virtual machine** is an emulation of a computer that runs within your existi Dual-booting can be as easy as inserting a flash drive and clicking a few buttons. The benefits of dual-booting cannot be overstated. You will allow Linux to access the full capabilities of your hardware, have a clean and distraction-free environment for coding, and learn the platform used by many senior developers and servers around the world. +**Windows Subsystem for Linux**, or WSL2 as we'll refer to it from now on, is a feature that lets users run a Linux environment directly inside Windows without the need to run a virtual machine. TODO: Insert further copy here. + ### Concerned About Installing A New OS? "Woah, woah, woah! I like my OS just fine the way it is!" @@ -63,11 +69,7 @@ Still not convinced? Here are a few great reasons to install Linux: - **Work Like The Pros** - Many developers use a Unix-based operating system. - **Performance** - You are worried about installing Linux because your machine is slow/older and has limited space? When performance is a priority, Linux is a great choice. It uses fewer system resources than Windows and will occupy less hard drive space. -Many learners come to our Discord channel to ask if the directions on this page need to be followed. The moderators of our Discord server wrote everything you just read about the installation plan. Those supporting learners on our Discord server agree with the guidance on this page and will make the same recommendations you have read here. - -Before we can continue, we must first stress one detail of importance: - -**We can only support what is provided within the scope of our curriculum. We do not support native Windows or any version of Windows Subsystem for Linux (WSL) as a development environment.** Using Windows and WSL has been discussed many times and it is not feasible to do so at this time. Please do not ask us to support Windows, and please **do not bring it up in the Discord**. We are constantly evaluating our curriculum to keep content as fresh and accessible as possible, and Windows/WSL [has not proven to be a path of low resistance.](https://github.com/microsoft/WSL/issues) +Many learners come to our Discord channel to ask if the directions on this page need to be followed. The maintainers of our Discord server wrote everything you just read about the installation plan. Those supporting learners on our Discord server agree with the guidance on this page and will make the same recommendations you have read here. With that out of the way, we need to set up an appropriate development environment! From b20a9c87f12325d3e588c9caf1697cc84464e5cb Mon Sep 17 00:00:00 2001 From: Ryan McEntire <107779145+RyanMcEntire@users.noreply.github.com> Date: Mon, 8 May 2023 00:26:57 -0600 Subject: [PATCH 02/30] Add WSL instructions to HTML foundations Links and Images --- .../html-foundations/links-and-images.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/foundations/html_css/html-foundations/links-and-images.md b/foundations/html_css/html-foundations/links-and-images.md index 00f0c234b7c..3b762c25cc5 100644 --- a/foundations/html_css/html-foundations/links-and-images.md +++ b/foundations/html_css/html-foundations/links-and-images.md @@ -154,12 +154,36 @@ For example, using an absolute path we can display an image located on The Odin To use images that we have on our own websites, we can use a relative path. +
+Linux, macOS, ChromeOS + + 1. Create a new directory named `images` within the `odin-links-and-images` project. 2. Next, download [this image](https://unsplash.com/photos/Mv9hjnEUHR4/download?force=true&w=640) and move it into the images directory we just created. 3. Rename the image to `dog.jpg`. +
+ +
+WSL + + +When you download a file from the internet, Windows has a security feature that creates a hidden `Zone.Identifier` file with the same name as your downloaded file and it looks like `mypicture.jpg:Zone.Identifier` This file is harmless, but we'd like to avoid copying it over and cluttering up our directories. + +1. Create a new directory named `images` within the `odin-links-and-images` project. + +2. Next, download [this image](https://unsplash.com/photos/Mv9hjnEUHR4/download?force=true&w=640). + +3. Right click on the new download at the bottom of the chrome window and select "Show in folder". + +4. Drag the file from your downloads folder to VSCode's file browser into your new `images` directory. + +Dragging files from Windows into the VSCode file browser prevents the `Zone.Identifier` files from being copied over. From now on, any time you need to copy pictures or other downloaded files like this into WSL, you can do it in this way. If you ever accidentally copy these `Zone.Identifier` files into WSL, you can safely delete them without any issue. + +
+ Finally add the image to the `index.html` file: ~~~html From 08135069d777a7fba32340b4e46d10ad1909dd83 Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Fri, 21 Jul 2023 20:32:25 +0200 Subject: [PATCH 03/30] update text-editors for WSL --- foundations/installations/text_editors.md | 33 ++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/foundations/installations/text_editors.md b/foundations/installations/text_editors.md index 7041b943a95..5e920588fda 100644 --- a/foundations/installations/text_editors.md +++ b/foundations/installations/text_editors.md @@ -51,7 +51,7 @@ rm code-latest.deb ~~~ #### Step 4: Using VSCode - + You can start VSCode in two ways, - Click **Visual Studio Code** from the Applications menu @@ -89,6 +89,37 @@ code +
+WSL + +#### Step 1: Install VSCode + + - Follow the instructions on [the Visual Studio Code website](https://code.visualstudio.com/docs/setup/windows) to install VSCode. + +#### Step 2: Delete the installer file + + - Open **File Explorer** + - Go to the **Downloads** folder + - Drag **VSCodeUserSetup-{version}.exe** to the trash + +#### Step 4: Install WSL Extension + + - Open Visual Studio Code + - Navigate to the extensions tab + - Find and install the [WSL exstention](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl) + +#### Step 5: Ensure that WSL can correctly open VSCode + - Open a new WSL terminal + - Run the following command to open a new VSCode window + +~~~bash +code +~~~ + + - After a few moments a new VSCode window should open, and VSCode should provide a notification that its opening in WSL + +
+ ### Assignment
From 387c6dabb45187fc8b834523b04c57994021ceed Mon Sep 17 00:00:00 2001 From: Saad Mehr Date: Sat, 22 Jul 2023 12:49:31 -0700 Subject: [PATCH 04/30] added instructions on using WSL in command_line_basics.md --- foundations/installations/command_line_basics.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/foundations/installations/command_line_basics.md b/foundations/installations/command_line_basics.md index 3630358b6af..bcb9f6428a1 100644 --- a/foundations/installations/command_line_basics.md +++ b/foundations/installations/command_line_basics.md @@ -42,15 +42,16 @@ This section contains a general overview of topics that you will learn in this l
**Note**: Many of these resources assume you're using a Mac or Linux environment. If you did our previous installation lesson, you should already have Linux installed in dual-boot or a virtual machine. Or, you might be using MacOS. If you don't have MacOS, or any version of Linux installed, please return to the [operating system installation guide](https://www.theodinproject.com/paths/foundations/courses/foundations/lessons/prerequisites). +**Note for WSL users**: If you are using WSL on Windows, you will have to use the `wget` with the link given in the `Download files` section in order to have the zip file in your WSL installation (`wget https://swcarpentry.github.io/shell-novice/data/shell-lesson-data.zip`). You will also have to install unzip by using the command `sudo apt-get install unzip` and then `unzip shell-lesson-data.zip` to unzip the file. Also keep in mind through out the course below, your terminal's output will look very differently from what is shown in the lessons. Anytime the course asks you to go to the desktop, you will instead be going to the home directory which can be done by using the cd command (`cd ~`). 1. Visit [The Unix Shell](https://swcarpentry.github.io/shell-novice/) course designed by the Software Carpentry Foundation. There you will find a full complement of lessons on using the CLI, but for now just focus on completing the following lessons: - + * Setup (Follow instructions in `Download files` section only, this is all you need as you have the required software already) * Introducing the Shell * Navigating Files and Directories * Working With Files and Directories * Pipes and Filters - + 2. With your newly discovered CLI super powers, practice creating a folder and a few files using the `mkdir`, `touch`, and `cd` commands introduced in the previous step. As an example, a basic website might have a main `index.html` file, a CSS stylesheet file called `style.css`, and a folder for `images`. Think about how you could create these files with the commands and put it into practice! 3. Let's practice creating files and directories and deleting them! You'll need to enter the commands for the steps below in your terminal. If you can't recall how to open a terminal, scroll up for a reminder. @@ -90,6 +91,8 @@ Third, there's a really handy shortcut for opening everything within a project d - **macOS**: Some setup is required. After installing VSCode, launch it any way you're comfortable with. Once it's running, open the Command Palette with `CMD + Shift + P`. In the little dialog that appears, type `shell command`. One of the choices that appears will be `Shell Command: Install 'code' command in PATH`. Select that option, and restart the terminal if you have it open. +- **WSL**: Opening up VSCode from the command line in WSL is just as easy as it is in Linux. Just enter `code` which will open VSCode in WSL. + ### Additional Resources This section contains helpful links to related content. It isn’t required, so consider it supplemental. From 4498f052e2e9c53449ff515d139fbbd3b31d9f61 Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Sat, 29 Jul 2023 13:33:29 +0200 Subject: [PATCH 05/30] Add WSL Chrome installation instructions --- foundations/installations/installations.md | 159 ++++++++++++--------- 1 file changed, 90 insertions(+), 69 deletions(-) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index 904d4eb5182..aada35124f4 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -4,7 +4,7 @@ If you are already using **MacOS**, **Ubuntu**, or [an official flavor of Ubuntu
-We can only support the operating systems indicated above. Our instructions have been tested with MacOS, Ubuntu, and official flavors of Ubuntu. We do not recommend installing an OS that is only based on Ubuntu (like Mint, Pop!_OS, ElementaryOS, etc). +We can only support the operating systems indicated above. Our instructions have been tested with MacOS, Ubuntu, and official flavors of Ubuntu. We do not recommend installing an OS that is only based on Ubuntu (like Mint, Pop!\_OS, ElementaryOS, etc).
@@ -46,11 +46,11 @@ Installing VirtualBox is very straightforward. It doesn’t require much technic During the installation, you’ll be presented with various options. We suggest dropping the Python Support as you don't need it by clicking on the drive icon with an arrow and choosing **Entire feature will be unavailable**: - ![The Python option is at the bottom of the list](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/01_turn_off_python.png) +![The Python option is at the bottom of the list](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/01_turn_off_python.png) This is how your installation window should look like after turning it off: - ![You want the Python option to have a scarlet "X" on it](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/02_c_install.png) +![You want the Python option to have a scarlet "X" on it](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/02_c_install.png) 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. As the software installs, the progress bar might appear to be stuck; just wait for it to finish. @@ -59,11 +59,11 @@ As the software installs, the progress bar might appear to be stuck; just wait f Now that you have VirtualBox installed, launch the program. Once open, you should see the start screen. - ![The VirtualBox start screen](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/03_start_screen.png) +![The VirtualBox start screen](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/03_start_screen.png) Click on the **New** button to create a virtual operating system. Give it a name of **Xubuntu**, if you want the VM installed somewhere else than default `C:` location, change that accordingly in the **Folder** option. This is the place where your virtual disk will reside, so make sure that you've got at least 30GB for that. In **ISO Image** choose **Other** - you'll see a window open for you to find the `.iso` file on your PC. It most likely is in the `Downloads` folder. Leave **Skip Unattended Installation** as it is. - ![Half of the options being greyed out is normal. Don't worry about it.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/04_install_start.png) +![Half of the options being greyed out is normal. Don't worry about it.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/04_install_start.png) Continue by pressing **Next** and follow the next steps: @@ -71,46 +71,43 @@ Continue by pressing **Next** and follow the next steps: You should see a window like this one now: - ![No need to worry about the Product Key.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/05_unattended_install.png) +![No need to worry about the Product Key.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/05_unattended_install.png) You want to tick the **Guest Additions** and **Install in Background** options and also change your **Username** and **Password** fields to your liking. If you forget to change the default password, it will be `changeme`. Leave the **Guest Additions ISO**, **Hostname** and **Domain Name** as they are. Continue by pressing **Next**. - #### Step 2.2.2: Hardware - ![You might be tempted to give your VM more than 2 processors. Don't.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/06_hardware.png) +![You might be tempted to give your VM more than 2 processors. Don't.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/06_hardware.png) In the **Hardware** section of the installation you want to set your **Base Memory** to at least 2048 MB or more if possible - the upper limit is half of your total RAM but 4096 MB with the settings we recommend should give you a smooth experience. For example, if you have 8 GB (8192 MB respectively) of RAM, you could allocate up to 4096 MB (1024 MB to 1 GB) to your VM’s operating system. If you do not know how much RAM is available to you, [please run this Google query](https://www.google.com/search?q=how+to+find+out+how+much+ram+you+have) to learn how to find this out. If the VM runs a bit slow, try allocating more memory! -_(__note:__ Difficulty converting your **G**iga**B**ytes into **M**ega**B**ytes? 1 GB of RAM is equal to 1024 MB. Therefore, you can say that **8 GB = 8 x 1024 = 8192 MB.**)_ +_(**note:** Difficulty converting your **G**iga**B**ytes into **M**ega**B**ytes? 1 GB of RAM is equal to 1024 MB. Therefore, you can say that **8 GB = 8 x 1024 = 8192 MB.**)_ As for **Processors** you want this to be at 2 and no more. Leave **Enable EFI (special OSes only)** as it is - that is **unchecked** - and click **Next** to continue. #### Step 2.2.3: Virtual Hard Disk - ![Don't Pre-allocate Full Size.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/07_virtual_hard_disk.png) +![Don't Pre-allocate Full Size.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/07_virtual_hard_disk.png) Now, you want to leave all the settings as they are besides the **Disk Size**, we recommend giving the VM **at least 30GB** of space. Reminder that this disk will be created in the folder that you've specified on the very first step of the VM creation process but nonetheless, the disk can be moved and resized in the future if needed. - #### Step 2.2.4: Begin the Unattended Installation Click **Next** to be taken to a **Summary** page, on which you can simply click **Finish** to begin the process of unattended installation. The neat thing about it? It installs the OS and GuestAdditions on its own, without your input! Just let it do its own thing, you will know it is finished when you will see a login screen like this one in the **Preview** section: - ![The Preview section is in the top right of VirtualBox window.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/08_preview_login.png) +![The Preview section is in the top right of VirtualBox window.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/08_preview_login.png) Just click the green arrow called **Show** and you'll be presented with a VM window and the login screen. Log in with the password you've set up during the installation process and we'll have one bit of configuration left to do. It is possible that you'll receive an error like this one after clicking **Finish**: - ![The error shows up on the right side of the VirtualBox window and can be a little differently worded.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/09_virtualization_error.png) +![The error shows up on the right side of the VirtualBox window and can be a little differently worded.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/09_virtualization_error.png) It means you have to [enable virtualization in your computer’s BIOS/UEFI settings](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-troubleshooting-enabling_intel_vt_x_and_amd_v_virtualization_hardware_extensions_in_bios). [Alternative set of instructions](https://2nwiki.2n.cz/pages/viewpage.action?pageId=75202968). If you have an AMD CPU, you're probably looking for something called `SVM` to enable, for Intel CPUs, `Intel Virtualization Technology`. The error should tell you what it is looking for. After you deal with it, just **Start** the machine and let things happen, you'll know that the process has finished when you see a login screen: - ![You can already make your VM full screen or just maximize the window.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/10_login_screen.png) - +![You can already make your VM full screen or just maximize the window.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/10_login_screen.png) ### Step 3: Setting Correct sudo Permissions @@ -120,19 +117,19 @@ Due to how the unattended installation is configured by VirtualBox, your account First, click on the The blue-white rodent Whisker Menu Icon in top left of your window, afterwards type in `Users` and you should see `Users and Groups` show up. Click on it. - ![It should be the top option you see. It is possible that due to localization it'll be called differently - try using the term in your language then.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/11_users_and_groups.png) +![It should be the top option you see. It is possible that due to localization it'll be called differently - try using the term in your language then.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/11_users_and_groups.png) #### Step 3.2: Manage Groups In the window that just came up you want to click on **Manage Groups**, click somewhere on the list and type `sudo` on your keyboard. That should bring you to the `sudo` entry like in the picture: - ![You will find the search functionality like this in many corners of Xubuntu.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/12_sudo_group.png) +![You will find the search functionality like this in many corners of Xubuntu.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/12_sudo_group.png) #### Step 3.2: Add Yourself to sudo With `sudo` selected, click **Properties** and in the window that shows up tick your user's name like this: - ![No need to touch anything else.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/13_sudo_properties.png) +![No need to touch anything else.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/13_sudo_properties.png) And then click **OK**. You will be greeted with a password prompt - it's the same one you logged in with. @@ -140,9 +137,9 @@ And then click **OK**. You will be greeted with a password prompt - it's the sam Now that this is all done, you can close those windows and reboot your VM. You can open a `Terminal` window by doing CTRL + ALT + T and type in `reboot` and then press Enter to execute the command. Alternatively, you can click on the The blue-white rodent Whisker Menu Icon , then click on the power icon in bottom right and pick **Restart**. - ![You might want to take note of other options that you see in this menu.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/14_logout.png) +![You might want to take note of other options that you see in this menu.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/14_logout.png) - ![Not the most exciting of menus, but take note of the Shut Down option.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/15_restart.png) +![Not the most exciting of menus, but take note of the Shut Down option.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/15_restart.png) #### Step 3.4: Test Your Newly Gained sudo Privileges @@ -161,30 +158,29 @@ After `sudo apt upgrade` runs for a while you will be asked whether you want to Here are some tips to help you get started in a virtual environment: -- Enable the toolbar in your VM settings - there are useful options there that you might want to play around with, especially the ones concerning full screen or multiple displays. To do so, click on **Settings** and then navigate to **User Interface** and finally tick **Show at Top of Screen**. - ![It's a good idea to look around the settings overall to get a feel of what's possible.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/16_toolbar.png) -- All your work should happen in the VM. You will install everything you need for coding, including your text editor, language environments and various tools inside the VM. The Xubuntu installation inside of your VM also comes with a web browser pre-installed but we'll be installing Chrome shortly. -- To install software on your VM, you will follow the Linux (Ubuntu) installation instructions from inside the Xubuntu VM. -- You might need to take screenshots when asking for help on our Discord, here's how depending on where you use it: - - **Inside the VM:** you can use Shift + PrtSrc to take screenshots of portion of your screen. Alternatively, you can click the **Whisker Menu** and type in **Screenshot**, in which you can choose to take a screenshot of your entire screen, the current window you are on or to select a certain area to capture. - - **On your host (Windows):** you can use a shortcut of the Host Key (Right Ctrl + E) or click **View -> Take Screenshot** for a full screenshot. A different way would be unfocusing your VM window by clicking outside of it and then using the regular Windows shortcut of Windows key + Shift + S to take screenshots of portion of your screen. -- **Remember:** all of the development that you'll do related to TOP should be done in the VM. -- We recommend going full screen (**View -> Full-screen Mode**) and forgetting about your host OS (Windows). For best performance, close all programs inside of your host OS when running your VM. -- If you added additional monitors in the **Display** tab of your VM settings, with the VM running, clicking **View -> Virtual Screen 2 -> Enable**. You can run fullscreen with multiple monitors, but it may ask for more **Video Memory**, which you should have increased when adding more monitors. **Make sure you enable your Virtual Screens in windowed mode before going fullscreen, otherwise they won't work.** Upon exiting fullscreen, your secondary display may close. You can reopen it with these instructions. - +- Enable the toolbar in your VM settings - there are useful options there that you might want to play around with, especially the ones concerning full screen or multiple displays. To do so, click on **Settings** and then navigate to **User Interface** and finally tick **Show at Top of Screen**. + ![It's a good idea to look around the settings overall to get a feel of what's possible.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/16_toolbar.png) +- All your work should happen in the VM. You will install everything you need for coding, including your text editor, language environments and various tools inside the VM. The Xubuntu installation inside of your VM also comes with a web browser pre-installed but we'll be installing Chrome shortly. +- To install software on your VM, you will follow the Linux (Ubuntu) installation instructions from inside the Xubuntu VM. +- You might need to take screenshots when asking for help on our Discord, here's how depending on where you use it: + - **Inside the VM:** you can use Shift + PrtSrc to take screenshots of portion of your screen. Alternatively, you can click the **Whisker Menu** and type in **Screenshot**, in which you can choose to take a screenshot of your entire screen, the current window you are on or to select a certain area to capture. + - **On your host (Windows):** you can use a shortcut of the Host Key (Right Ctrl + E) or click **View -> Take Screenshot** for a full screenshot. A different way would be unfocusing your VM window by clicking outside of it and then using the regular Windows shortcut of Windows key + Shift + S to take screenshots of portion of your screen. +- **Remember:** all of the development that you'll do related to TOP should be done in the VM. +- We recommend going full screen (**View -> Full-screen Mode**) and forgetting about your host OS (Windows). For best performance, close all programs inside of your host OS when running your VM. +- If you added additional monitors in the **Display** tab of your VM settings, with the VM running, clicking **View -> Virtual Screen 2 -> Enable**. You can run fullscreen with multiple monitors, but it may ask for more **Video Memory**, which you should have increased when adding more monitors. **Make sure you enable your Virtual Screens in windowed mode before going fullscreen, otherwise they won't work.** Upon exiting fullscreen, your secondary display may close. You can reopen it with these instructions. #### Frequent Issues/Questions: -- If upon trying to start the VM you only get a black screen, close and `power off` the VM, click **Settings -> Display** and make sure **Enable 3D Acceleration** is UNCHECKED, and Video memory is set to **AT LEAST 128MB**. -- Running out of space? Look at [these instructions on our Discord](https://discord.com/channels/505093832157691914/690588860085960734/1015965403572351047). -- Are you using a touchscreen? [Here's a video](https://www.youtube.com/watch?v=hW-iyHHoDy4) on how to enable touchscreen controls for VirtualBox. -- **VM performance tips**: - - When running the VM, minimize your Windows activity. You probably want to be plugged into power as well if you're using a laptop. - - Make sure your processors are set to only 2 and the Memory you've given your VM is at most half of your total RAM but at least 2GB. If you can't spare the 2GB, dual boot. - - If videos lag in the VM, make sure to max out Video Memory to whatever you can or alternatively play them on your Windows if your machine can handle it. Disable 3D Acceleration if you have it enabled. - - Do look out for the Icon with a green turtle and a V icon in bottom right of your VM window, if you have it, here's a [VirtualBox forum thread on how to get rid of it](https://forums.virtualbox.org/viewtopic.php?f=25&t=99390). You want to have the Icon of a chip with a V icon instead. If you don't see a Icon with a green turtle and a V or a Icon of a chip with a V in bottom right, you have to exit full screen mode to see them. - - If your performance is still lacking, go for a dual boot as this will make sure you're using all of your specs for one OS only, thus improving your experience significantly. -- If your scroll wheel behaves oddly in Google Chrome and you have gone through VM performance tips to make sure your VM is working as intended, look into `imwheel`: [see these AskUbuntu instructions for more information](https://askubuntu.com/a/621140). If you have VSCode installed, use that instead of `gedit`, otherwise install it with `sudo apt install gedit` - if you install it with `snap`, it won't let you save the file. To make sure `imwheel` works every startup, you need to click the whisker The blue-white rodent Whisker Menu Icon , type `Session` and click on `Session and Startup` that shows up, go to `Application Autostart`, click `Add` and put it `imwheel` for `Name` and `imwheel -b "4 5` for `Command`. Click `OK` and you should be all set. +- If upon trying to start the VM you only get a black screen, close and `power off` the VM, click **Settings -> Display** and make sure **Enable 3D Acceleration** is UNCHECKED, and Video memory is set to **AT LEAST 128MB**. +- Running out of space? Look at [these instructions on our Discord](https://discord.com/channels/505093832157691914/690588860085960734/1015965403572351047). +- Are you using a touchscreen? [Here's a video](https://www.youtube.com/watch?v=hW-iyHHoDy4) on how to enable touchscreen controls for VirtualBox. +- **VM performance tips**: + - When running the VM, minimize your Windows activity. You probably want to be plugged into power as well if you're using a laptop. + - Make sure your processors are set to only 2 and the Memory you've given your VM is at most half of your total RAM but at least 2GB. If you can't spare the 2GB, dual boot. + - If videos lag in the VM, make sure to max out Video Memory to whatever you can or alternatively play them on your Windows if your machine can handle it. Disable 3D Acceleration if you have it enabled. + - Do look out for the Icon with a green turtle and a V icon in bottom right of your VM window, if you have it, here's a [VirtualBox forum thread on how to get rid of it](https://forums.virtualbox.org/viewtopic.php?f=25&t=99390). You want to have the Icon of a chip with a V icon instead. If you don't see a Icon with a green turtle and a V or a Icon of a chip with a V in bottom right, you have to exit full screen mode to see them. +- If your performance is still lacking, go for a dual boot as this will make sure you're using all of your specs for one OS only, thus improving your experience significantly. +- If your scroll wheel behaves oddly in Google Chrome and you have gone through VM performance tips to make sure your VM is working as intended, look into `imwheel`: [see these AskUbuntu instructions for more information](https://askubuntu.com/a/621140). If you have VSCode installed, use that instead of `gedit`, otherwise install it with `sudo apt install gedit` - if you install it with `snap`, it won't let you save the file. To make sure `imwheel` works every startup, you need to click the whisker The blue-white rodent Whisker Menu Icon , type `Session` and click on `Session and Startup` that shows up, go to `Application Autostart`, click `Add` and put it `imwheel` for `Name` and `imwheel -b "4 5` for `Command`. Click `OK` and you should be all set. ### Step 5: Safely Shutting Down Your VM @@ -234,9 +230,9 @@ Note: You can use this method to try out [different flavors of Ubuntu](https://w First, you need to boot Ubuntu from your flash drive. The exact steps may vary, but in general, you will need to do the following: -- Insert the flash drive into the computer. -- Reboot the computer. -- Select the flash drive as the bootable device instead of the hard drive. +- Insert the flash drive into the computer. +- Reboot the computer. +- Select the flash drive as the bootable device instead of the hard drive. For example, on a Dell computer, you would need to plug in the flash drive, reboot the computer, and press the F12 key while the computer is first booting up to bring up the boot menu. From there, you can select to boot from the flash drive. Your computer may not be exactly the same, but Google can help you figure it out. @@ -261,8 +257,8 @@ If you encounter an error requesting you to disable **Intel RST** while attempti With the recent addition of being able to run a Linux terminal, the ChromeOS platform has been opened up to the ability to install native Linux applications. If you wish to use your Chromebook to complete The Odin Project, you will need to ensure you meet a couple requirements: 1. You have a supported Chromebook: - - [Official Chromebooks](https://www.chromium.org/chromium-os/chrome-os-systems-supporting-linux) - - [ChromeOS Flex Chromebooks](https://support.google.com/chromeosflex/answer/11513094) + - [Official Chromebooks](https://www.chromium.org/chromium-os/chrome-os-systems-supporting-linux) + - [ChromeOS Flex Chromebooks](https://support.google.com/chromeosflex/answer/11513094) 2. You can install Linux by following [these instructions](https://support.google.com/chromebook/answer/9145439?hl=en) Once you have successfully met both of these requirements, you should be able to follow along with the Linux instructions throughout the entire curriculum. @@ -283,8 +279,8 @@ Choose your Operating System: #### Step 1: Download Google Chrome - - Open your **Terminal** - - Run the following command to download latest **Google Chrome** `.deb` package +- Open your **Terminal** +- Run the following command to download latest **Google Chrome** `.deb` package ~~~bash wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb @@ -292,15 +288,15 @@ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb #### Step 2: Install Google Chrome - - Enter the following command in your terminal to install **Google Chrome** `.deb` package +- Enter the following command in your terminal to install **Google Chrome** `.deb` package - ~~~bash - sudo apt install ./google-chrome-stable_current_amd64.deb - ~~~ + ~~~bash + sudo apt install ./google-chrome-stable_current_amd64.deb + ~~~ - - Enter your password, if needed +- Enter your password, if needed - _(__note__: You might see a notice starting with `N: Download is performed unsandboxed (...)`. You don't need to worry about it. [Read this reddit post for more information.](https://www.reddit.com/r/linux4noobs/comments/ux6cwx/comment/i9x2twx/))_ +_(**note**: You might see a notice starting with `N: Download is performed unsandboxed (...)`. You don't need to worry about it. [Read this reddit post for more information.](https://www.reddit.com/r/linux4noobs/comments/ux6cwx/comment/i9x2twx/))_ #### Step 3: Delete the Installer File @@ -312,14 +308,14 @@ rm google-chrome-stable_current_amd64.deb You can start chrome in two ways, - - Click **Google Chrome** from the Applications menu - - **Or**, use the `google-chrome` command from the terminal +- Click **Google Chrome** from the Applications menu +- **Or**, use the `google-chrome` command from the terminal ~~~bash google-chrome ~~~ -_(__note__: Chrome is going to use this terminal to output various messages and won't let you run other commands. Don't worry about those messages. If you want to use the same terminal that you run Chrome in for other commands, use `google-chrome &` instead.)_ +_(**note**: Chrome is going to use this terminal to output various messages and won't let you run other commands. Don't worry about those messages. If you want to use the same terminal that you run Chrome in for other commands, use `google-chrome &` instead.)_ @@ -328,26 +324,51 @@ _(__note__: Chrome is going to use this terminal to output various messages and #### Step 1: Download Google Chrome - - Visit [Google Chrome download page](https://www.google.com/chrome/) - - Click **Download Chrome for Mac** +- Visit [Google Chrome download page](https://www.google.com/chrome/) +- Click **Download Chrome for Mac** + +#### Step 2: Install Google Chrome + +- Open the **Downloads** folder +- Double click the file **googlechrome.dmg** +- Drag the Google Chrome icon to the **Applications** folder icon + +#### Step 3: Delete the Installer File + +- Open **Finder** +- Click the **arrow** next to Google Chrome in the sidebar +- Go to the **Downloads** folder +- Drag **googlechrome.dmg** to the trash + +#### Step 4: Using Google Chrome + +- Go to your **Applications** folder +- Double click **Google Chrome** + + + +
+WSL + +#### Step 1: Download Google Chrome + +-   Visit [Google Chrome download page](https://www.google.com/chrome/) +-   Click **Download Chrome** #### Step 2: Install Google Chrome - - Open the **Downloads** folder - - Double click the file **googlechrome.dmg** - - Drag the Google Chrome icon to the **Applications** folder icon +-   Open the **Downloads** folder +-   Double click the file **ChromeSetup.exe** #### Step 3: Delete the Installer File - - Open **Finder** - - Click the **arrow** next to Google Chrome in the sidebar - - Go to the **Downloads** folder - - Drag **googlechrome.dmg** to the trash +-   Open the **Downloads** folder +-   Drag **ChromeSetup.exe** to the trash #### Step 4: Using Google Chrome - - Go to your **Applications** folder - - Double click **Google Chrome** +- Search for **Google Chrome** in your applications +-   Double click **Google Chrome**
@@ -355,4 +376,4 @@ _(__note__: Chrome is going to use this terminal to output various messages and This section contains helpful links to related content. It isn’t required, so consider it supplemental. -- It looks like this lesson doesn't have any additional resources yet. Help us expand this section by contributing to our curriculum. +- It looks like this lesson doesn't have any additional resources yet. Help us expand this section by contributing to our curriculum. From 962de65ca7271e4647d1bfc3a7c2aad35c2881c2 Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Sat, 29 Jul 2023 13:40:59 +0200 Subject: [PATCH 06/30] Add WSL installation instructions --- foundations/installations/installations.md | 74 ++++++++++++++++++++-- 1 file changed, 67 insertions(+), 7 deletions(-) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index aada35124f4..adf55b7a90b 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -265,6 +265,66 @@ Once you have successfully met both of these requirements, you should be able to +
+WSL + +Windows Subsystem for Linux (usually abbreviated as WSL) lets you run a Linux environment from within an existing Windows installation, giving you all of the advantages of Linux without needing to run a virtual machine or dual boot. + +WSL is available on Windows 10 version 2004 and higher (Build 19041 and higher) and Windows 11. + +
+

WSL and Linux instructions

+Because WSL is a full fledged Linux distrubtion, almost everything that the curriculum teaches about Linux is also applicable to WSL. In future lessons whenever there are instructions that differ by OS you should follow the Linux instructions, unless the lesson includes WSL specific instructions. +
+ +### Step 1: Installations + +#### Step 1.1: WSL and Hyper-V + +If you've previously used another software to run a virtual machine, such as Oracle VirtualBox, you might have turned off Hyper-V to improve performance of the virtual machine. + +Hyper-V is required to get WSL to work however, so in order to use it you'll first have to re enable Hyper-V, which may interfere with existing installations. + +- Search for Control Panel in your applications, and open it +- Select **Programs** +- Select **Turn Windows Features on or off** (under the Programs and Features header) +- Select **Hyper-V**, toggle the checkbox to checked, and click **OK** +- When prompted, restart your computer + +#### Step 1.2: Installing WSL + +- Open PowerShell in administrator mode by searching for it in your applications, right clicking, and then selecting run as administrator +- Enter the following command + +~~~powershell +wsl --install +~~~ + +- After a few minutes you'll be prompted to enter a new username. This username should be lowercase, but can otherwise be whatever suits you. You'll also need to enter a new password. + +#### Step 1.3.1: Install Windows Terminal (Windows 10 only) + +Windows Terminal is an terminal application that lets you more easily customize and run terminals, as well as supporting multiple tabs which can each run their own different terminals. + +- Follow [Microsoft's guide](https://learn.microsoft.com/en-us/windows/terminal/install) to install Windows Terminal. + +#### Step 1.3.2: Setting WSL as default (Optional) + +Unless you are regularly using other terminals on your computer we recommend that you set WSL as the default terminal program when you open Windows Terminal. You can follow the [section on setting a default profile](https://learn.microsoft.com/en-us/windows/terminal/install#set-your-default-terminal-application) in the guide above to set it to Ubuntu. + +### Step 2 Opening WSL + +On Windows there are two primary ways to open WSL: either via the terminal or via the app icon. + +- If you set Windows Terminal to open a Ubuntu terminal by default you can start a new WSL session by simply opening the terminal app. +- If you search for Ubuntu in the application search bar you should see a application titled Ubuntu; simply open it to start a new terminal session. + +
+When opening WSL ensure that you do not see /mnt/c at the start of the line. /mnt/c is where your Windows installation lives when working within WSL, and messing around there can have unintended consequences +
+ +
+ ### 2: Google Chrome Installation #### Why Google Chrome? @@ -352,23 +412,23 @@ _(**note**: Chrome is going to use this terminal to output various messages and #### Step 1: Download Google Chrome --   Visit [Google Chrome download page](https://www.google.com/chrome/) --   Click **Download Chrome** +- Visit [Google Chrome download page](https://www.google.com/chrome/) +- Click **Download Chrome** #### Step 2: Install Google Chrome --   Open the **Downloads** folder --   Double click the file **ChromeSetup.exe** +- Open the **Downloads** folder +- Double click the file **ChromeSetup.exe** #### Step 3: Delete the Installer File --   Open the **Downloads** folder --   Drag **ChromeSetup.exe** to the trash +- Open the **Downloads** folder +- Drag **ChromeSetup.exe** to the trash #### Step 4: Using Google Chrome - Search for **Google Chrome** in your applications --   Double click **Google Chrome** +- Double click **Google Chrome** From 76075b68cb2a587d24b404a78e4bc54f81fff24f Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Fri, 4 Aug 2023 13:29:00 +0200 Subject: [PATCH 07/30] Installations: Add instructions to enable systemd on WSL --- foundations/installations/installations.md | 56 ++++++++++++++---- .../installations/imgs/21_nano_systemd.png | Bin 0 -> 28842 bytes 2 files changed, 44 insertions(+), 12 deletions(-) create mode 100644 foundations/installations/installations/imgs/21_nano_systemd.png diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index 3657430285a..da31bae2046 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -35,7 +35,7 @@ Once you have completed these instructions, **you are expected to work entirely #### Step 1.2: Download Xubuntu -There are thousands of distributions of Linux out there, but Xubuntu is undoubtedly one of the most popular and user friendly. When installing Linux on a VM, we recommend [downloading Xubuntu 22.04](https://mirror.us.leaseweb.net/ubuntu-cdimage/xubuntu/releases/22.04/release/). There are a few files listed here, download the one ending in `.iso`. Xubuntu uses the same base software as Ubuntu but has a desktop environment that requires fewer computer resources and is therefore ideal for virtual machines. If you find the download speed slow, consider [using a different mirror](https://xubuntu.org/release/22-04/#show-all) as the one linked before is a US one. If you reach the download page and are unsure about what version to choose, it is recommended that you pick the latest Long-Term Support (LTS) version (22.04 at the time of writing). You may be tempted to choose a more recent non-LTS release, but LTS releases have the advantage of guaranteed support for up to 5 years, making them more secure, stable and hence reliable. +There are thousands of distributions of Linux out there, but Xubuntu is undoubtedly one of the most popular and user friendly. When installing Linux on a VM, we recommend [downloading Xubuntu 22.04](https://mirror.us.leaseweb.net/ubuntu-cdimage/xubuntu/releases/22.04/release/). There are a few files listed here, download the one ending in `.iso`. Xubuntu uses the same base software as Ubuntu but has a desktop environment that requires fewer computer resources and is therefore ideal for virtual machines. If you find the download speed slow, consider [using a different mirror](https://xubuntu.org/release/22-04/#show-all) as the one linked before is a US one. If you reach the download page and are unsure about what version to choose, it is recommended that you pick the latest Long-Term Support (LTS) version (22.04 at the time of writing). You may be tempted to choose a more recent non-LTS release, but LTS releases have the advantage of guaranteed support for up to 5 years, making them more secure, stable and hence reliable. ### Step 2: Install VirtualBox and set up Xubuntu @@ -157,16 +157,16 @@ After `sudo apt upgrade` runs for a while you will be asked whether you want to Here are some tips to help you get started in a virtual environment: -- Enable the toolbar in your VM settings - there are useful options there that you might want to play around with, especially the ones concerning full screen or multiple displays. To do so, click on **Settings** and then navigate to **User Interface** and finally tick **Show at Top of Screen**. - ![It's a good idea to look around the settings overall to get a feel of what's possible.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/16_toolbar.png) -- All your work should happen in the VM. You will install everything you need for coding, including your text editor, language environments and various tools inside the VM. The Xubuntu installation inside of your VM also comes with a web browser pre-installed but we'll be installing Chrome shortly. -- To install software on your VM, you will follow the Linux (Ubuntu) installation instructions from inside the Xubuntu VM. -- You might need to take screenshots when asking for help on our Discord, here's how depending on where you use it: - - **Inside the VM:** you can use Shift + PrtSrc to take screenshots of portion of your screen. Alternatively, you can click the **Whisker Menu** and type in **Screenshot**, in which you can choose to take a screenshot of your entire screen, the current window you are on or to select a certain area to capture. - - **On your host (Windows):** you can use a shortcut of the Host Key (Right Ctrl + E) or click **View -> Take Screenshot** for a full screenshot. A different way would be unfocusing your VM window by clicking outside of it and then using the regular Windows shortcut of Windows key + Shift + S to take screenshots of portion of your screen. -- **Remember:** all of the development that you'll do related to TOP should be done in the VM. -- We recommend going full screen (**View -> Full-screen Mode**) and forgetting about your host OS (Windows). For best performance, close all programs inside of your host OS when running your VM. -- If you added additional monitors in the **Display** tab of your VM settings, with the VM running, clicking **View -> Virtual Screen 2 -> Enable**. You can run fullscreen with multiple monitors, but it may ask for more **Video Memory**, which you should have increased when adding more monitors. **Make sure you enable your Virtual Screens in windowed mode before going fullscreen, otherwise they won't work.** Upon exiting fullscreen, your secondary display may close. You can reopen it with these instructions. +- Enable the toolbar in your VM settings - there are useful options there that you might want to play around with, especially the ones concerning full screen or multiple displays. To do so, click on **Settings** and then navigate to **User Interface** and finally tick **Show at Top of Screen**. + ![It's a good idea to look around the settings overall to get a feel of what's possible.](https://cdn.statically.io/gh/TheOdinProject/curriculum/96d534641514fe4d62aabe2919fac3c52cb286e7/foundations/installations/installations/imgs/16_toolbar.png) +- All your work should happen in the VM. You will install everything you need for coding, including your text editor, language environments and various tools inside the VM. The Xubuntu installation inside of your VM also comes with a web browser pre-installed but we'll be installing Chrome shortly. +- To install software on your VM, you will follow the Linux (Ubuntu) installation instructions from inside the Xubuntu VM. +- You might need to take screenshots when asking for help on our Discord, here's how depending on where you use it: + - **Inside the VM:** you can use Shift + PrtSrc to take screenshots of portion of your screen. Alternatively, you can click the **Whisker Menu** and type in **Screenshot**, in which you can choose to take a screenshot of your entire screen, the current window you are on or to select a certain area to capture. + - **On your host (Windows):** you can use a shortcut of the Host Key (Right Ctrl + E) or click **View -> Take Screenshot** for a full screenshot. A different way would be unfocusing your VM window by clicking outside of it and then using the regular Windows shortcut of Windows key + Shift + S to take screenshots of portion of your screen. +- **Remember:** all of the development that you'll do related to TOP should be done in the VM. +- We recommend going full screen (**View -> Full-screen Mode**) and forgetting about your host OS (Windows). For best performance, close all programs inside of your host OS when running your VM. +- If you added additional monitors in the **Display** tab of your VM settings, with the VM running, clicking **View -> Virtual Screen 2 -> Enable**. You can run fullscreen with multiple monitors, but it may ask for more **Video Memory**, which you should have increased when adding more monitors. **Make sure you enable your Virtual Screens in windowed mode before going fullscreen, otherwise they won't work.** Upon exiting fullscreen, your secondary display may close. You can reopen it with these instructions. #### Frequent issues/questions: @@ -215,7 +215,7 @@ Dual-booting provides two operating systems on your computer that you can switch ### Step 1: Download Ubuntu -First, you need to download the version of Ubuntu you want to install on your computer. Ubuntu comes in different versions ("flavors"), but we suggest the standard desktop [Ubuntu](https://releases.ubuntu.com/22.04/). If you're using an older computer, we recommend [Xubuntu](https://xubuntu.org/release/22-04/). Be sure to download the 64-bit version of [Ubuntu](https://releases.ubuntu.com/22.04/) or [Xubuntu](https://xubuntu.org/release/22-04/). If you reach the download page and are unsure about what version to choose, it is recommended that you pick the latest Long-Term Support (LTS) version (22.04 at the time of writing). You may be tempted to choose a more recent non-LTS release, but LTS releases have the advantage of guaranteed support for up to 5 years, making them more secure, stable and hence reliable. +First, you need to download the version of Ubuntu you want to install on your computer. Ubuntu comes in different versions ("flavors"), but we suggest the standard desktop [Ubuntu](https://releases.ubuntu.com/22.04/). If you're using an older computer, we recommend [Xubuntu](https://xubuntu.org/release/22-04/). Be sure to download the 64-bit version of [Ubuntu](https://releases.ubuntu.com/22.04/) or [Xubuntu](https://xubuntu.org/release/22-04/). If you reach the download page and are unsure about what version to choose, it is recommended that you pick the latest Long-Term Support (LTS) version (22.04 at the time of writing). You may be tempted to choose a more recent non-LTS release, but LTS releases have the advantage of guaranteed support for up to 5 years, making them more secure, stable and hence reliable. ### Step 2: Create a bootable flash drive @@ -322,6 +322,38 @@ On Windows there are two primary ways to open WSL: either via the terminal or vi When opening WSL ensure that you do not see /mnt/c at the start of the line. /mnt/c is where your Windows installation lives when working within WSL, and messing around there can have unintended consequences
+### Step 3: WSL and systemd + +`systemd` is a system and service manager for Linux that you'll use much later in the curriculum. While it doesn't work on WSL by default, you can enable it. + +- Open a new WSL terminal window. +- Enter the following command: + +~~~bash +sudo nano /etc/wsl.conf +~~~ + +- When prompted for a password enter the password you set earlier. You may notice that while entering your password you don't see any visual feedback. This is an intentional security measure, and nothing to worry about. +- You'll be shown `nano`, a text editor for Linux. Enter the following two lines + +~~~ +[boot] +systemd=true +~~~ + +- It should now look like this: + +![Nano window](installations/imgs/21_nano_systemd.png) + +- Press Ctrl + O, then when prompted with which file name to write to press Enter, and then press Ctrl + X to exit `nano` +- Close all open WSL terminal windows +- Run the following command in Powershell (**not** WSL) to restart WSL + +~~~powershell +wsl.exe --shutdown +~~~ + +- `systemd` should now be working. You can test this by running `systemctl list-unit-files --type=service`, which should return a long list of services. ### 2: Google Chrome installation diff --git a/foundations/installations/installations/imgs/21_nano_systemd.png b/foundations/installations/installations/imgs/21_nano_systemd.png new file mode 100644 index 0000000000000000000000000000000000000000..732290099c4b2bbd88e717e6ed5938c5408597ea GIT binary patch literal 28842 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
3jn!TuQVr9$FJXP7Q8bsp?}r?jKfXwKWQD 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 literal 0 HcmV?d00001 From aaed4a3ccfc1646c1d29393496354c12a6625f77 Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Fri, 4 Aug 2023 13:31:24 +0200 Subject: [PATCH 08/30] fix typo --- foundations/installations/installations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index da31bae2046..7ea67b3ca89 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -273,7 +273,7 @@ WSL is available on Windows 10 version 2004 and higher (Build 19041 and higher)

WSL and Linux instructions

-Because WSL is a full fledged Linux distrubtion, almost everything that the curriculum teaches about Linux is also applicable to WSL. In future lessons whenever there are instructions that differ by OS you should follow the Linux instructions, unless the lesson includes WSL specific instructions. +Because WSL is a full fledged Linux distribution, almost everything that the curriculum teaches about Linux is also applicable to WSL. In future lessons whenever there are instructions that differ by OS you should follow the Linux instructions, unless the lesson includes WSL specific instructions.
### Step 1: Installations From 5bcab2a0f9c755fbc298cf2020f66ed286af9f33 Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Fri, 4 Aug 2023 17:36:21 +0200 Subject: [PATCH 09/30] Change occurences of WSl to WSL2 --- foundations/installations/installations.md | 32 +++++++++++----------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index 7ea67b3ca89..c7bd9c1705f 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -265,15 +265,15 @@ Once you have successfully met both of these requirements, you should be able to
-WSL +WSL2 -Windows Subsystem for Linux (usually abbreviated as WSL) lets you run a Linux environment from within an existing Windows installation, giving you all of the advantages of Linux without needing to run a virtual machine or dual boot. +Windows Subsystem for Linux (usually abbreviated as WSL2) lets you run a Linux environment from within an existing Windows installation, giving you all of the advantages of Linux without needing to run a virtual machine or dual boot. We'll be using version 2 of WSL. This version is usually abbreviated as WSL2, which is the term we'll use to refer to it during the rest of the curricculum. -WSL is available on Windows 10 version 2004 and higher (Build 19041 and higher) and Windows 11. +WSL2 is available on Windows 10 version 2004 and higher (Build 19041 and higher) and Windows 11.
-

WSL and Linux instructions

-Because WSL is a full fledged Linux distribution, almost everything that the curriculum teaches about Linux is also applicable to WSL. In future lessons whenever there are instructions that differ by OS you should follow the Linux instructions, unless the lesson includes WSL specific instructions. +

WSL2 and Linux instructions

+Because WSL2 is a full fledged Linux distribution, almost everything that the curriculum teaches about Linux is also applicable to WSL2. In future lessons whenever there are instructions that differ by OS you should follow the Linux instructions, unless the lesson includes WSL2 specific instructions.
### Step 1: Installations @@ -290,7 +290,7 @@ Hyper-V is required to get WSL to work however, so in order to use it you'll fir - Select **Hyper-V**, toggle the checkbox to checked, and click **OK** - When prompted, restart your computer -#### Step 1.2: Installing WSL +#### Step 1.2: Installing WSL2 - Open PowerShell in administrator mode by searching for it in your applications, right clicking, and then selecting run as administrator - Enter the following command @@ -307,26 +307,26 @@ Windows Terminal is an terminal application that lets you more easily customize - Follow [Microsoft's guide](https://learn.microsoft.com/en-us/windows/terminal/install) to install Windows Terminal. -#### Step 1.3.2: Setting WSL as default (Optional) +#### Step 1.3.2: Setting WSL2 as default (Optional) Unless you are regularly using other terminals on your computer we recommend that you set WSL as the default terminal program when you open Windows Terminal. You can follow the [section on setting a default profile](https://learn.microsoft.com/en-us/windows/terminal/install#set-your-default-terminal-application) in the guide above to set it to Ubuntu. -### Step 2 Opening WSL +### Step 2 Opening WSL2 -On Windows there are two primary ways to open WSL: either via the terminal or via the app icon. +On Windows there are two primary ways to open WSL2: either via the terminal or via the app icon. -- If you set Windows Terminal to open a Ubuntu terminal by default you can start a new WSL session by simply opening the terminal app. +- If you set Windows Terminal to open a Ubuntu terminal by default you can start a new WSL2 session by simply opening the terminal app. - If you search for Ubuntu in the application search bar you should see a application titled Ubuntu; simply open it to start a new terminal session.
-When opening WSL ensure that you do not see /mnt/c at the start of the line. /mnt/c is where your Windows installation lives when working within WSL, and messing around there can have unintended consequences +When opening WSL2 ensure that you do not see /mnt/c at the start of the line. /mnt/c is where your Windows installation lives when working within WSL2, and messing around there can have unintended consequences
-### Step 3: WSL and systemd +### Step 3: WSL2 and systemd -`systemd` is a system and service manager for Linux that you'll use much later in the curriculum. While it doesn't work on WSL by default, you can enable it. +`systemd` is a system and service manager for Linux that you'll use much later in the curriculum. While it doesn't work on WSL2 by default, you can enable it. -- Open a new WSL terminal window. +- Open a new WSL2 terminal window. - Enter the following command: ~~~bash @@ -347,7 +347,7 @@ systemd=true - Press Ctrl + O, then when prompted with which file name to write to press Enter, and then press Ctrl + X to exit `nano` - Close all open WSL terminal windows -- Run the following command in Powershell (**not** WSL) to restart WSL +- Run the following command in Powershell (**not** WSL2) to restart WSL2 ~~~powershell wsl.exe --shutdown @@ -439,7 +439,7 @@ _(**note**: Chrome is going to use this terminal to output various messages and
-WSL +WSL2 #### Step 1: Download Google Chrome From fc020ba1a64703e615636278e89f6fbdf3f42a4f Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Fri, 4 Aug 2023 17:43:15 +0200 Subject: [PATCH 10/30] Clarify systemd instructions --- foundations/installations/installations.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index c7bd9c1705f..1d91e2875c5 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -333,8 +333,8 @@ When opening WSL2 ensure that you do not see /mnt/c at the start of the line. /m sudo nano /etc/wsl.conf ~~~ -- When prompted for a password enter the password you set earlier. You may notice that while entering your password you don't see any visual feedback. This is an intentional security measure, and nothing to worry about. -- You'll be shown `nano`, a text editor for Linux. Enter the following two lines +- When prompted for a password enter the password you set earlier. As mentioned before you'll see no visual feedback when entering it. +- You'll be shown `nano`, a text editor for Linux. Enter the following two lines. They might be already present, in which case you can ignore the rest of this step and simply exit `nano` (press Ctrl + X). ~~~ [boot] @@ -353,7 +353,7 @@ systemd=true wsl.exe --shutdown ~~~ -- `systemd` should now be working. You can test this by running `systemctl list-unit-files --type=service`, which should return a long list of services. +- `systemd` should now be working. You can test this by opening a new WSL2 terminal window and running `systemctl list-unit-files --type=service`, which should return a long list of services. You can get out of the output by pressing q.
### 2: Google Chrome installation From 054fea46b920707c17fecae0bb50fe8f2003e93e Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Fri, 4 Aug 2023 19:53:51 +0200 Subject: [PATCH 11/30] clarify powershell instructions --- foundations/installations/installations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index 1d91e2875c5..560a2846b29 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -292,7 +292,7 @@ Hyper-V is required to get WSL to work however, so in order to use it you'll fir #### Step 1.2: Installing WSL2 -- Open PowerShell in administrator mode by searching for it in your applications, right clicking, and then selecting run as administrator +- Open PowerShell in administrator mode by searching for it in your applications, right clicking the top option, and then selecting run as administrator. You might get a prompt asking if you want to allow Windows Powershell to make changes to your device: click yes. - Enter the following command ~~~powershell From b1310a94aae38cfba7d28dfd22975e3bdf3fbb44 Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Sat, 5 Aug 2023 17:20:08 +0200 Subject: [PATCH 12/30] Drop systemd instructions: Causes VSCode to break --- foundations/installations/installations.md | 33 ------------------ .../installations/imgs/21_nano_systemd.png | Bin 28842 -> 0 bytes 2 files changed, 33 deletions(-) delete mode 100644 foundations/installations/installations/imgs/21_nano_systemd.png diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index 560a2846b29..a9534f30eba 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -321,39 +321,6 @@ On Windows there are two primary ways to open WSL2: either via the terminal or v
When opening WSL2 ensure that you do not see /mnt/c at the start of the line. /mnt/c is where your Windows installation lives when working within WSL2, and messing around there can have unintended consequences
- -### Step 3: WSL2 and systemd - -`systemd` is a system and service manager for Linux that you'll use much later in the curriculum. While it doesn't work on WSL2 by default, you can enable it. - -- Open a new WSL2 terminal window. -- Enter the following command: - -~~~bash -sudo nano /etc/wsl.conf -~~~ - -- When prompted for a password enter the password you set earlier. As mentioned before you'll see no visual feedback when entering it. -- You'll be shown `nano`, a text editor for Linux. Enter the following two lines. They might be already present, in which case you can ignore the rest of this step and simply exit `nano` (press Ctrl + X). - -~~~ -[boot] -systemd=true -~~~ - -- It should now look like this: - -![Nano window](installations/imgs/21_nano_systemd.png) - -- Press Ctrl + O, then when prompted with which file name to write to press Enter, and then press Ctrl + X to exit `nano` -- Close all open WSL terminal windows -- Run the following command in Powershell (**not** WSL2) to restart WSL2 - -~~~powershell -wsl.exe --shutdown -~~~ - -- `systemd` should now be working. You can test this by opening a new WSL2 terminal window and running `systemctl list-unit-files --type=service`, which should return a long list of services. You can get out of the output by pressing q. ### 2: Google Chrome installation diff --git a/foundations/installations/installations/imgs/21_nano_systemd.png b/foundations/installations/installations/imgs/21_nano_systemd.png deleted file mode 100644 index 732290099c4b2bbd88e717e6ed5938c5408597ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28842 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
3jn!TuQVr9$FJXP7Q8bsp?}r?jKfXwKWQD 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 From 3c10c727dd864afe525c35b94deefbbd01ef2226 Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Sat, 5 Aug 2023 17:29:44 +0200 Subject: [PATCH 13/30] move WSL description to overview --- foundations/installations/installation_overview.md | 10 +++++----- foundations/installations/installations.md | 4 +--- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/foundations/installations/installation_overview.md b/foundations/installations/installation_overview.md index f46c883f5a1..40909d599a9 100644 --- a/foundations/installations/installation_overview.md +++ b/foundations/installations/installation_overview.md @@ -2,13 +2,13 @@ The first step for building any website is having the right tools. For us, that means setting up a development environment for writing good code. -Many online development courses use in-browser code editors or "sandboxes," which give you the tools and programs needed to accomplish the task at hand and nothing else. You'll use some of these sandboxes throughout the early stages of The Odin Project since they're great for getting started quickly. However, the best way to set yourself up for long-term success is to operate in a real development environment. +Many online development courses use in-browser code editors or "sandboxes," which give you the tools and programs needed to accomplish the task at hand and nothing else. You'll use some of these sandboxes throughout the early stages of The Odin Project since they're great for getting started quickly. However, the best way to set yourself up for long-term success is to operate in a real development environment. We won't lie to you: installing packages, editors, and even entire operating systems can be very frustrating. However, having the experience of setting up a development environment to run the code you'll write is an invaluable, real-world skill you'll carry with you for the rest of your career. ### The installation plan -In the following sections, we'll go over the steps for setting up your environment. There is no need to install anything in this lesson, this is an informative lesson. These sections are **the most important steps** in the entire curriculum. Please take the extra time to **double check what you're typing** or you may cause more headaches for yourself down the road. +In the following sections, we'll go over the steps for setting up your environment. There is no need to install anything in this lesson, this is an informative lesson. These sections are **the most important steps** in the entire curriculum. Please take the extra time to **double check what you're typing** or you may cause more headaches for yourself down the road. In the next few lessons, we will walk through these installation steps together: @@ -45,13 +45,13 @@ Windows, by itself, **is not natively supported** by The Odin Project, or on our A **virtual machine** is an emulation of a computer that runs within your existing OS. It allows you to use another operating system inside of a program on your current operating system (e.g. Running Linux inside of Windows). Virtual machines are as simple to install as any other program and are risk free. If you don't like Linux, you can easily remove the virtual machine. Virtual machines are a great way for new developers to get started quickly. - - [Watch this video](https://youtu.be/yIVXjl4SwVo) on Virtual Machines to achieve an overview of how they work. + - [Watch this video](https://youtu.be/yIVXjl4SwVo) on Virtual Machines to achieve an overview of how they work. **Dual-booting** means installing two operating systems on your computer, which can give you the option to boot either Linux or Windows when your computer first starts up. The advantage of dual-booting over a virtual machine is that the OS can use all of your computer's resources, resulting in much faster operation. There is some risk to installing a dual-boot system because you're changing your hard drive partitions, but you'll be okay as long as you take your time and read the instructions. Dual-booting can be as easy as inserting a flash drive and clicking a few buttons. The benefits of dual-booting cannot be overstated. You will allow Linux to access the full capabilities of your hardware, have a clean and distraction-free environment for coding, and learn the platform used by many senior developers and servers around the world. -**Windows Subsystem for Linux**, or WSL2 as we'll refer to it from now on, is a feature that lets users run a Linux environment directly inside Windows without the need to run a virtual machine. TODO: Insert further copy here. +**Windows Subsystem for Linux** (usually abbreviated as WSL) lets you run a full-fledged Linux environment from within an existing Windows installation, giving you all of the advantages of Linux without needing to run a virtual machine or dual boot. We'll be using version 2 of WSL, commonly known as WSL2, within the curriculum. ### Concerned about installing a new OS? @@ -61,7 +61,7 @@ If you don't have an Apple computer, you are likely using Windows. Don't worry! Modifying or dual booting a computer to work with the tools you'll need will make it much easier to start programming, can help create a distraction-free environment, and will look good on your resume. Take a deep breath, and let's look at your options. -Still not convinced? Here are a few great reasons to install Linux: +Still not convinced? Here are a few great reasons to install Linux: - **Tested** - We've tested our directions with macOS, Ubuntu, and official Ubuntu flavors. We did the research so that you can get tools installed with as few issues as possible, getting you to coding sooner. Time spent wrestling with your operating system is time taken from learning how to code. - **Community Support** - Using the tools we recommend makes it easier for us to help when you run into trouble. diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index a9534f30eba..271af900c90 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -267,9 +267,7 @@ Once you have successfully met both of these requirements, you should be able to
WSL2 -Windows Subsystem for Linux (usually abbreviated as WSL2) lets you run a Linux environment from within an existing Windows installation, giving you all of the advantages of Linux without needing to run a virtual machine or dual boot. We'll be using version 2 of WSL. This version is usually abbreviated as WSL2, which is the term we'll use to refer to it during the rest of the curricculum. - -WSL2 is available on Windows 10 version 2004 and higher (Build 19041 and higher) and Windows 11. +Using WSL2 is an quick and easy way to get started with using Linux, allowing you to run a Linux distrubtion from within Windows. WSL2 is available on Windows 10 version 2004 and higher (Build 19041 and higher) and Windows 11.

WSL2 and Linux instructions

From c335d9d7807cca88bba66c586549137ce96cfdcb Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Sat, 5 Aug 2023 17:37:10 +0200 Subject: [PATCH 14/30] Clarify Windows Terminal instructions --- foundations/installations/installations.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index 271af900c90..bd787b13107 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -303,17 +303,24 @@ wsl --install Windows Terminal is an terminal application that lets you more easily customize and run terminals, as well as supporting multiple tabs which can each run their own different terminals. -- Follow [Microsoft's guide](https://learn.microsoft.com/en-us/windows/terminal/install) to install Windows Terminal. +- [Install Window's Terminal](https://learn.microsoft.com/en-us/windows/terminal/install) by using the direct install option. #### Step 1.3.2: Setting WSL2 as default (Optional) -Unless you are regularly using other terminals on your computer we recommend that you set WSL as the default terminal program when you open Windows Terminal. You can follow the [section on setting a default profile](https://learn.microsoft.com/en-us/windows/terminal/install#set-your-default-terminal-application) in the guide above to set it to Ubuntu. +Unless you are regularly using other terminals on your computer we recommend that you set WSL as the default terminal program when you open Windows Terminal. + +- Open Windows Terminal by searching for terminal in your applications. +- Click the dropdown next to the new tab button (at the top of the windows), and select Settings. +- You should see a Default Profile option with a dropdown next to it. +- In the dropdown select Ubuntu +- Click save at the bottom of the page ### Step 2 Opening WSL2 -On Windows there are two primary ways to open WSL2: either via the terminal or via the app icon. +On Windows there are three primary ways to open WSL2. - If you set Windows Terminal to open a Ubuntu terminal by default you can start a new WSL2 session by simply opening the terminal app. +- Otherwise you can open Windows Terminal, click the dropdown next to the new tab button (at the top of the windows), and select Ubuntu. - If you search for Ubuntu in the application search bar you should see a application titled Ubuntu; simply open it to start a new terminal session.
From e0aee951bdde11f306fcf7ee0d2e623aa22a71f2 Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Sat, 5 Aug 2023 17:40:08 +0200 Subject: [PATCH 15/30] Clarify password not giving visual feedback --- foundations/installations/installations.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index bd787b13107..a368417a1fe 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -297,7 +297,9 @@ Hyper-V is required to get WSL to work however, so in order to use it you'll fir wsl --install ~~~ -- After a few minutes you'll be prompted to enter a new username. This username should be lowercase, but can otherwise be whatever suits you. You'll also need to enter a new password. +- After a few minutes you'll be prompted to reboot your computer; do so. +- You should see an open Powershell window, prompting you to enter a username and a password. Your username should be lowercase, but can otherwise be whatever suits you. You'll also need to enter a new password. +- When entering your password you might notice that you aren't seeing any visual feedback. This is a standard security feature in Linux, and will also happen in all future cases where you need to enter some form of password. Rest assured that you are actually inputting something. #### Step 1.3.1: Install Windows Terminal (Windows 10 only) From e89efba6150e802a97e33662ed9f301eb2c66e94 Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Sat, 5 Aug 2023 17:44:04 +0200 Subject: [PATCH 16/30] Add note on different color schemes for terminal v Ubuntu --- foundations/installations/installations.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index a368417a1fe..78af13febb1 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -325,6 +325,10 @@ On Windows there are three primary ways to open WSL2. - Otherwise you can open Windows Terminal, click the dropdown next to the new tab button (at the top of the windows), and select Ubuntu. - If you search for Ubuntu in the application search bar you should see a application titled Ubuntu; simply open it to start a new terminal session. +
+You might notice than when you open WSL2 via Windows Terminal you'll see a window with a different color scheme and a different icon then when opening by searching for Ubuntu in your applications. This is because Windows Terminal comes with a default color scheme for Ubuntu meant to emulate how a real Ubuntu terminal looks. This difference is purely cosmetic, and there is no practical difference between the two/ +
+
When opening WSL2 ensure that you do not see /mnt/c at the start of the line. /mnt/c is where your Windows installation lives when working within WSL2, and messing around there can have unintended consequences
From af0102010a4ae479ee8e26a0e739ed24e792697c Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Sat, 5 Aug 2023 17:48:11 +0200 Subject: [PATCH 17/30] Change instructions to be clearer on what needs to be activated --- foundations/installations/installations.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index 78af13febb1..938c5bd9f19 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -276,16 +276,14 @@ Because WSL2 is a full fledged Linux distribution, almost everything that the cu ### Step 1: Installations -#### Step 1.1: WSL and Hyper-V +#### Step 1.1: WSL2 and Virtual Machine Platform -If you've previously used another software to run a virtual machine, such as Oracle VirtualBox, you might have turned off Hyper-V to improve performance of the virtual machine. - -Hyper-V is required to get WSL to work however, so in order to use it you'll first have to re enable Hyper-V, which may interfere with existing installations. +In order to make WSL2 work we'll first need to ensure both `Windows Subsystem for Linux` and `Virtual Machine Platform` are enabled on your system. - Search for Control Panel in your applications, and open it - Select **Programs** - Select **Turn Windows Features on or off** (under the Programs and Features header) -- Select **Hyper-V**, toggle the checkbox to checked, and click **OK** +- Ensure both `Windows Subsystem for Linux` and `Virtual Machine Platform` are toggled on, and if not toggle them on. - When prompted, restart your computer #### Step 1.2: Installing WSL2 From 9d85c25d10497dca71c662fa8b435e5f2f7aab6c Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Sat, 5 Aug 2023 19:57:10 +0200 Subject: [PATCH 18/30] Add note on WSL not supporting systemctl --- .../advanced_forms_and_activerecord/installing_psql.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ruby_on_rails/advanced_forms_and_activerecord/installing_psql.md b/ruby_on_rails/advanced_forms_and_activerecord/installing_psql.md index 9dd4e0f8329..78f9a81beaa 100644 --- a/ruby_on_rails/advanced_forms_and_activerecord/installing_psql.md +++ b/ruby_on_rails/advanced_forms_and_activerecord/installing_psql.md @@ -75,6 +75,11 @@ After installation is complete, let's start the server using this command: sudo systemctl start postgresql.service ~~~ +
+

Systemctl and WSL2

+Systemctl is not supported on WSL2, and the above command won't work. Instead run sudo service postgresql start. +
+ If you are unsure about whether `postgresql` is active, it's possible to check with this command: ~~~bash From d2915adb3dacac86e1293958bbec32e4b4ef5d0b Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Sun, 6 Aug 2023 11:15:08 +0200 Subject: [PATCH 19/30] no comment --- foundations/installations/installations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index 938c5bd9f19..25bb7d3ecde 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -267,7 +267,7 @@ Once you have successfully met both of these requirements, you should be able to
WSL2 -Using WSL2 is an quick and easy way to get started with using Linux, allowing you to run a Linux distrubtion from within Windows. WSL2 is available on Windows 10 version 2004 and higher (Build 19041 and higher) and Windows 11. +Using WSL2 is an quick and easy way to get started with using Linux, allowing you to run a Linux distribution from within Windows. WSL2 is available on Windows 10 version 2004 and higher (Build 19041 and higher) and Windows 11.

WSL2 and Linux instructions

From 64d8989a7c0aa290b6c4e80340b5ab1972de6f81 Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Mon, 7 Aug 2023 11:20:38 +0200 Subject: [PATCH 20/30] Apply suggestions from code review Co-authored-by: Manon <81025586+ManonLef@users.noreply.github.com> --- foundations/installations/installations.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index 25bb7d3ecde..3f81f1b5c1d 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -271,7 +271,7 @@ Using WSL2 is an quick and easy way to get started with using Linux, allowing yo

WSL2 and Linux instructions

-Because WSL2 is a full fledged Linux distribution, almost everything that the curriculum teaches about Linux is also applicable to WSL2. In future lessons whenever there are instructions that differ by OS you should follow the Linux instructions, unless the lesson includes WSL2 specific instructions. +Because WSL2 is a full-fledged Linux distribution, almost everything that the curriculum teaches about Linux is also applicable to WSL2. In future lessons, whenever there are instructions that differ by OS, you should follow the Linux instructions, unless the lesson includes WSL2-specific instructions.
### Step 1: Installations @@ -291,13 +291,12 @@ In order to make WSL2 work we'll first need to ensure both `Windows Subsystem fo - Open PowerShell in administrator mode by searching for it in your applications, right clicking the top option, and then selecting run as administrator. You might get a prompt asking if you want to allow Windows Powershell to make changes to your device: click yes. - Enter the following command -~~~powershell -wsl --install -~~~ - + ~~~powershell + wsl --install + ~~~ - After a few minutes you'll be prompted to reboot your computer; do so. - You should see an open Powershell window, prompting you to enter a username and a password. Your username should be lowercase, but can otherwise be whatever suits you. You'll also need to enter a new password. -- When entering your password you might notice that you aren't seeing any visual feedback. This is a standard security feature in Linux, and will also happen in all future cases where you need to enter some form of password. Rest assured that you are actually inputting something. +- When entering your password you might notice that you aren't seeing any visual feedback. This is a standard security feature in Linux, and will also happen in all future cases where you need to enter a password. Just type your password and hit Enter. #### Step 1.3.1: Install Windows Terminal (Windows 10 only) @@ -307,7 +306,7 @@ Windows Terminal is an terminal application that lets you more easily customize #### Step 1.3.2: Setting WSL2 as default (Optional) -Unless you are regularly using other terminals on your computer we recommend that you set WSL as the default terminal program when you open Windows Terminal. +Unless you are regularly using other terminals on your computer we recommend that you set WSL2 as the default terminal program when you open Windows Terminal. - Open Windows Terminal by searching for terminal in your applications. - Click the dropdown next to the new tab button (at the top of the windows), and select Settings. @@ -319,16 +318,16 @@ Unless you are regularly using other terminals on your computer we recommend tha On Windows there are three primary ways to open WSL2. -- If you set Windows Terminal to open a Ubuntu terminal by default you can start a new WSL2 session by simply opening the terminal app. +- If you set Windows Terminal to open a Ubuntu terminal by default you can start a new WSL2 session by opening the terminal app. - Otherwise you can open Windows Terminal, click the dropdown next to the new tab button (at the top of the windows), and select Ubuntu. -- If you search for Ubuntu in the application search bar you should see a application titled Ubuntu; simply open it to start a new terminal session. +- If you search for Ubuntu in the application search bar you should see a application titled Ubuntu; open it to start a new terminal session.
-You might notice than when you open WSL2 via Windows Terminal you'll see a window with a different color scheme and a different icon then when opening by searching for Ubuntu in your applications. This is because Windows Terminal comes with a default color scheme for Ubuntu meant to emulate how a real Ubuntu terminal looks. This difference is purely cosmetic, and there is no practical difference between the two/ +You might notice when you open WSL2 via Windows Terminal, you'll see a window with a different color scheme and a different icon compared to opening a terminal through Ubuntu in your applications. This is because Windows Terminal comes with a default color scheme for Ubuntu meant to emulate how a real Ubuntu terminal looks. This difference is purely cosmetic, and there is no practical difference between the two.
-When opening WSL2 ensure that you do not see /mnt/c at the start of the line. /mnt/c is where your Windows installation lives when working within WSL2, and messing around there can have unintended consequences +When opening your WSL2 terminal ensure that you do not see /mnt/c at the start of the line. /mnt/c is where your Windows installation lives when working within WSL2, and messing around there can have unintended consequences
From 18f2f536c16912f3a7967d18d45725c52311f7de Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Mon, 7 Aug 2023 11:29:38 +0200 Subject: [PATCH 21/30] Fix style guide issues --- foundations/installations/text_editors.md | 83 ++++++++++++----------- 1 file changed, 42 insertions(+), 41 deletions(-) diff --git a/foundations/installations/text_editors.md b/foundations/installations/text_editors.md index 3ad01ec5210..46f7e30c174 100644 --- a/foundations/installations/text_editors.md +++ b/foundations/installations/text_editors.md @@ -25,24 +25,24 @@ Choose your Operating System: #### Step 1: Download VSCode - - Open your **Terminal** - - Run the following command to download the latest **VSCode** `.deb` package +- Open your **Terminal** +- Run the following command to download the latest **VSCode** `.deb` package: -~~~bash -wget -O code-latest.deb 'https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64' -~~~ + ~~~bash + wget -O code-latest.deb 'https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64' + ~~~ #### Step 2: Install VSCode - - Enter the following command in your terminal to install the **VSCode** `.deb` package +- Enter the following command in your terminal to install the **VSCode** `.deb` package: -~~~bash -sudo apt install ./code-latest.deb -~~~ + ~~~bash + sudo apt install ./code-latest.deb + ~~~ - - If prompted, enter your password +- If prompted, enter your password - _(__note__: You might see a notice starting with `N: Download is performed unsandboxed (...)`. You don't need to worry about it. [Read this reddit post for more information.](https://www.reddit.com/r/linux4noobs/comments/ux6cwx/comment/i9x2twx/))_ +_(**note**: You might see a notice starting with `N: Download is performed unsandboxed (...)`. You don't need to worry about it. [Read this reddit post for more information.](https://www.reddit.com/r/linux4noobs/comments/ux6cwx/comment/i9x2twx/))_ #### Step 3: Delete the installer file @@ -54,12 +54,12 @@ rm code-latest.deb You can start VSCode in two ways, - - Click **Visual Studio Code** from the Applications menu - - **Or**, use the `code` command from the terminal +- Click **Visual Studio Code** from the Applications menu. +- **Or**, use the `code` command from the terminal. -~~~bash -code -~~~ + ~~~bash + code + ~~~
@@ -68,24 +68,24 @@ code #### Step 1: Download VSCode - - Click [this link](https://code.visualstudio.com/sha/download?build=stable&os=darwin-universal) to automatically download the latest VSCode installer .zip file. +- Click [this link](https://code.visualstudio.com/sha/download?build=stable&os=darwin-universal) to automatically download the latest VSCode installer .zip file. #### Step 2: Install VSCode - - Open the **Downloads** folder - - Double click the file **VSCode-darwin-universal.zip** - - Drag the **Visual Studio Code.app** icon to the **Applications** folder icon +- Open the **Downloads** folder. +- Double click the file **VSCode-darwin-universal.zip**. +- Drag the **Visual Studio Code.app** icon to the **Applications** folder icon. #### Step 3: Delete the installer file - - Open **Finder** - - Go to the **Downloads** folder - - Drag **VSCode-darwin-universal.zip** to the trash +- Open **Finder**. +- Go to the **Downloads** folder. +- Drag **VSCode-darwin-universal.zip** to the trash. #### Step 4: Using VSCode - - Go to your **Applications** folder - - Double click **Visual Studio Code** +- Go to your **Applications** folder. +- Double click **Visual Studio Code**. @@ -94,29 +94,30 @@ code #### Step 1: Install VSCode - - Follow the instructions on [the Visual Studio Code website](https://code.visualstudio.com/docs/setup/windows) to install VSCode. +- Follow the instructions on [the Visual Studio Code website](https://code.visualstudio.com/docs/setup/windows) to install VSCode. #### Step 2: Delete the installer file - - Open **File Explorer** - - Go to the **Downloads** folder - - Drag **VSCodeUserSetup-{version}.exe** to the trash +- Open **File Explorer**. +- Go to the **Downloads** folder. +- Drag **VSCodeUserSetup-{version}.exe** to the trash. #### Step 4: Install WSL Extension - - Open Visual Studio Code - - Navigate to the extensions tab - - Find and install the [WSL exstention](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl) +- Open Visual Studio Code. +- Navigate to the extensions tab. +- Find and install the [WSL exstention](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl). #### Step 5: Ensure that WSL can correctly open VSCode - - Open a new WSL terminal - - Run the following command to open a new VSCode window -~~~bash -code -~~~ +- Open a new WSL terminal. +- Run the following command to open a new VSCode window. + + ~~~bash + code + ~~~ - - After a few moments a new VSCode window should open, and VSCode should provide a notification that its opening in WSL +- After a few moments a new VSCode window should open, and VSCode should provide a notification that its opening in WSL. @@ -124,12 +125,12 @@ code
- 1. Familiarizing yourself with VSCode will allow you to save time and become more productive. By watching this [VSCode Tutorial for Beginners](https://youtu.be/ORrELERGIHs?t=103) video, you'll get an idea of all the features VSCode has to offer. Don't worry about actually coding along, just watch for the way that VSCode is used throughout the video. +1. Familiarizing yourself with VSCode will allow you to save time and become more productive. By watching this [VSCode Tutorial for Beginners](https://youtu.be/ORrELERGIHs?t=103) video, you'll get an idea of all the features VSCode has to offer. Don't worry about actually coding along, just watch for the way that VSCode is used throughout the video.
### Additional resources This section contains helpful links to related content. It isn’t required, so consider it supplemental. -* [VSCode docs](https://code.visualstudio.com/docs) are a great place to refer to for any of your queries related to VSCode. -* These handy little PDFs on VSCode's [shortcuts for linux](https://go.microsoft.com/fwlink/?linkid=832144) and [shortcuts for macOS](https://go.microsoft.com/fwlink/?linkid=832143) are a great resource to help make your VSCode experience smoother and more efficient. +- [VSCode docs](https://code.visualstudio.com/docs) are a great place to refer to for any of your queries related to VSCode. +- These handy little PDFs on VSCode's [shortcuts for linux](https://go.microsoft.com/fwlink/?linkid=832144) and [shortcuts for macOS](https://go.microsoft.com/fwlink/?linkid=832143) are a great resource to help make your VSCode experience smoother and more efficient. From 0e29b521ac2fec4d8d90ab5ae0c260c8abd83ba3 Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Mon, 7 Aug 2023 11:31:52 +0200 Subject: [PATCH 22/30] Fix style guide issues --- foundations/installations/installations.md | 62 +++++++++++----------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index 3f81f1b5c1d..2580bd8981d 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -311,8 +311,8 @@ Unless you are regularly using other terminals on your computer we recommend tha - Open Windows Terminal by searching for terminal in your applications. - Click the dropdown next to the new tab button (at the top of the windows), and select Settings. - You should see a Default Profile option with a dropdown next to it. -- In the dropdown select Ubuntu -- Click save at the bottom of the page +- In the dropdown select Ubuntu. +- Click save at the bottom of the page. ### Step 2 Opening WSL2 @@ -346,11 +346,11 @@ Choose your Operating System: #### Step 1: Download Google Chrome - Open your **Terminal** -- Run the following command to download latest **Google Chrome** `.deb` package +- Run the following command to download latest **Google Chrome** `.deb` package: -~~~bash -wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -~~~ + ~~~bash + wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb + ~~~ #### Step 2: Install Google Chrome @@ -372,14 +372,14 @@ rm google-chrome-stable_current_amd64.deb #### Step 4: Using Google Chrome -You can start chrome in two ways, +You can start chrome in two ways: -- Click **Google Chrome** from the Applications menu -- **Or**, use the `google-chrome` command from the terminal +- Click **Google Chrome** from the Applications menu. +- **Or**, use the `google-chrome` command from the terminal: -~~~bash -google-chrome -~~~ + ~~~bash + google-chrome + ~~~ _(**note**: Chrome is going to use this terminal to output various messages and won't let you run other commands. Don't worry about those messages. If you want to use the same terminal that you run Chrome in for other commands, use `google-chrome &` instead.)_ @@ -390,26 +390,26 @@ _(**note**: Chrome is going to use this terminal to output various messages and #### Step 1: Download Google Chrome -- Visit [Google Chrome download page](https://www.google.com/chrome/) -- Click **Download Chrome for Mac** +- Visit [Google Chrome download page](https://www.google.com/chrome/). +- Click **Download Chrome for Mac**. #### Step 2: Install Google Chrome -- Open the **Downloads** folder -- Double click the file **googlechrome.dmg** -- Drag the Google Chrome icon to the **Applications** folder icon +- Open the **Downloads** folder. +- Double click the file **googlechrome.dmg**. +- Drag the Google Chrome icon to the **Applications** folder icon. #### Step 3: Delete the Installer File -- Open **Finder** -- Click the **arrow** next to Google Chrome in the sidebar -- Go to the **Downloads** folder -- Drag **googlechrome.dmg** to the trash +- Open **Finder**. +- Click the **arrow** next to Google Chrome in the sidebar. +- Go to the **Downloads** folder. +- Drag **googlechrome.dmg** to the trash. #### Step 4: Using Google Chrome -- Go to your **Applications** folder -- Double click **Google Chrome** +- Go to your **Applications** folder. +- Double click **Google Chrome**. @@ -418,23 +418,23 @@ _(**note**: Chrome is going to use this terminal to output various messages and #### Step 1: Download Google Chrome -- Visit [Google Chrome download page](https://www.google.com/chrome/) -- Click **Download Chrome** +- Visit [Google Chrome download page](https://www.google.com/chrome/). +- Click **Download Chrome**. #### Step 2: Install Google Chrome -- Open the **Downloads** folder -- Double click the file **ChromeSetup.exe** +- Open the **Downloads** folder. +- Double click the file **ChromeSetup.exe**. #### Step 3: Delete the installer file -- Open the **Downloads** folder -- Drag **ChromeSetup.exe** to the trash +- Open the **Downloads** folder. +- Drag **ChromeSetup.exe** to the trash. #### Step 4: Using Google Chrome -- Search for **Google Chrome** in your applications -- Double click **Google Chrome** +- Search for **Google Chrome** in your applications. +- Double click **Google Chrome**. From 4d8f8e9175de525fff78764d76ec0e5dbab9e2ba Mon Sep 17 00:00:00 2001 From: Michael Frank Date: Tue, 29 Aug 2023 10:50:57 +1200 Subject: [PATCH 23/30] Update foundations/installations/installations.md --- foundations/installations/installations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index 2580bd8981d..c14425a6493 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -300,7 +300,7 @@ In order to make WSL2 work we'll first need to ensure both `Windows Subsystem fo #### Step 1.3.1: Install Windows Terminal (Windows 10 only) -Windows Terminal is an terminal application that lets you more easily customize and run terminals, as well as supporting multiple tabs which can each run their own different terminals. +Windows Terminal is a terminal application that lets you more easily customize and run terminals, as well as supporting multiple tabs which can each run their own different terminals. - [Install Window's Terminal](https://learn.microsoft.com/en-us/windows/terminal/install) by using the direct install option. From 9b85906ca7a0e2d8a6858194c0ebc4f05d5ae858 Mon Sep 17 00:00:00 2001 From: Michael Frank Date: Tue, 29 Aug 2023 10:51:10 +1200 Subject: [PATCH 24/30] Update foundations/installations/installations.md --- foundations/installations/installations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index c14425a6493..f956bfdbcb5 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -327,7 +327,7 @@ You might notice when you open WSL2 via Windows Terminal, you'll see a window wi
-When opening your WSL2 terminal ensure that you do not see /mnt/c at the start of the line. /mnt/c is where your Windows installation lives when working within WSL2, and messing around there can have unintended consequences +When opening your WSL2 terminal ensure that you do not see `/mnt/c` at the start of the line. `/mnt/c` is where your Windows installation lives when working within WSL2, and messing around there can have unintended consequences.
From 90a534cbcfde46f5595142197325f2ecc203a2a2 Mon Sep 17 00:00:00 2001 From: Michael Frank Date: Tue, 29 Aug 2023 10:52:03 +1200 Subject: [PATCH 25/30] Update foundations/installations/command_line_basics.md --- foundations/installations/command_line_basics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/foundations/installations/command_line_basics.md b/foundations/installations/command_line_basics.md index 74ec5f62de3..fd6662c8a89 100644 --- a/foundations/installations/command_line_basics.md +++ b/foundations/installations/command_line_basics.md @@ -40,7 +40,7 @@ This section contains a general overview of topics that you will learn in this l
**Note**: Many of these resources assume you're using a Mac or Linux environment. If you did our previous installation lesson, you should already have Linux installed in dual-boot or a virtual machine. Or, you might be using MacOS. If you don't have MacOS, or any version of Linux installed, please return to the [operating system installation guide](https://www.theodinproject.com/paths/foundations/courses/foundations/lessons/prerequisites). -**Note for WSL users**: If you are using WSL on Windows, you will have to use the `wget` with the link given in the `Download files` section in order to have the zip file in your WSL installation (`wget https://swcarpentry.github.io/shell-novice/data/shell-lesson-data.zip`). You will also have to install unzip by using the command `sudo apt-get install unzip` and then `unzip shell-lesson-data.zip` to unzip the file. Also keep in mind through out the course below, your terminal's output will look very differently from what is shown in the lessons. Anytime the course asks you to go to the desktop, you will instead be going to the home directory which can be done by using the cd command (`cd ~`). +**Note for WSL users**: You will have to use the `wget` command along with the link given in the `Download files` section in order to have the zip file in your WSL installation (`wget https://swcarpentry.github.io/shell-novice/data/shell-lesson-data.zip`). You will also have to install unzip by using the command `sudo apt install unzip` and then `unzip shell-lesson-data.zip` to unzip the file. Keep in mind that throughout the course below, your terminal output may look slightly different to what is shown in the lessons. Anytime the course asks you to go to the Desktop, you will instead be going to the home directory which can be done by using the cd command (`cd ~`). 1. Visit [The Unix Shell](https://swcarpentry.github.io/shell-novice/) course designed by the Software Carpentry Foundation. There you will find a full complement of lessons on using the CLI, but for now just focus on completing the following lessons: From 53806c57ac66006313081f54285a83485a7961f0 Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Tue, 29 Aug 2023 17:31:50 +0200 Subject: [PATCH 26/30] Apply suggestions from code review Co-authored-by: Manon <81025586+ManonLef@users.noreply.github.com> --- foundations/installations/installations.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index f956bfdbcb5..1fc3a59b1ef 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -269,7 +269,7 @@ Once you have successfully met both of these requirements, you should be able to Using WSL2 is an quick and easy way to get started with using Linux, allowing you to run a Linux distribution from within Windows. WSL2 is available on Windows 10 version 2004 and higher (Build 19041 and higher) and Windows 11. -
+

WSL2 and Linux instructions

Because WSL2 is a full-fledged Linux distribution, almost everything that the curriculum teaches about Linux is also applicable to WSL2. In future lessons, whenever there are instructions that differ by OS, you should follow the Linux instructions, unless the lesson includes WSL2-specific instructions.
@@ -322,11 +322,11 @@ On Windows there are three primary ways to open WSL2. - Otherwise you can open Windows Terminal, click the dropdown next to the new tab button (at the top of the windows), and select Ubuntu. - If you search for Ubuntu in the application search bar you should see a application titled Ubuntu; open it to start a new terminal session. -
+
You might notice when you open WSL2 via Windows Terminal, you'll see a window with a different color scheme and a different icon compared to opening a terminal through Ubuntu in your applications. This is because Windows Terminal comes with a default color scheme for Ubuntu meant to emulate how a real Ubuntu terminal looks. This difference is purely cosmetic, and there is no practical difference between the two.
-
+
When opening your WSL2 terminal ensure that you do not see `/mnt/c` at the start of the line. `/mnt/c` is where your Windows installation lives when working within WSL2, and messing around there can have unintended consequences.
From 238c977e192f3708ac1eb18da2d2357c5db1ca00 Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Tue, 29 Aug 2023 17:44:41 +0200 Subject: [PATCH 27/30] Apply suggestions from code review Co-authored-by: Manon <81025586+ManonLef@users.noreply.github.com> --- foundations/installations/command_line_basics.md | 2 ++ foundations/installations/installation_overview.md | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/foundations/installations/command_line_basics.md b/foundations/installations/command_line_basics.md index fd6662c8a89..ad81f1bd6b0 100644 --- a/foundations/installations/command_line_basics.md +++ b/foundations/installations/command_line_basics.md @@ -40,7 +40,9 @@ This section contains a general overview of topics that you will learn in this l
**Note**: Many of these resources assume you're using a Mac or Linux environment. If you did our previous installation lesson, you should already have Linux installed in dual-boot or a virtual machine. Or, you might be using MacOS. If you don't have MacOS, or any version of Linux installed, please return to the [operating system installation guide](https://www.theodinproject.com/paths/foundations/courses/foundations/lessons/prerequisites). +
**Note for WSL users**: You will have to use the `wget` command along with the link given in the `Download files` section in order to have the zip file in your WSL installation (`wget https://swcarpentry.github.io/shell-novice/data/shell-lesson-data.zip`). You will also have to install unzip by using the command `sudo apt install unzip` and then `unzip shell-lesson-data.zip` to unzip the file. Keep in mind that throughout the course below, your terminal output may look slightly different to what is shown in the lessons. Anytime the course asks you to go to the Desktop, you will instead be going to the home directory which can be done by using the cd command (`cd ~`). +
1. Visit [The Unix Shell](https://swcarpentry.github.io/shell-novice/) course designed by the Software Carpentry Foundation. There you will find a full complement of lessons on using the CLI, but for now just focus on completing the following lessons: diff --git a/foundations/installations/installation_overview.md b/foundations/installations/installation_overview.md index 40909d599a9..e28b9fcf74d 100644 --- a/foundations/installations/installation_overview.md +++ b/foundations/installations/installation_overview.md @@ -63,13 +63,17 @@ Modifying or dual booting a computer to work with the tools you'll need will mak Still not convinced? Here are a few great reasons to install Linux: -- **Tested** - We've tested our directions with macOS, Ubuntu, and official Ubuntu flavors. We did the research so that you can get tools installed with as few issues as possible, getting you to coding sooner. Time spent wrestling with your operating system is time taken from learning how to code. +- **Tested** - We've tested our directions with macOS, Ubuntu (and official Ubuntu flavors) and WSL2. We did the research so that you can get tools installed with as few issues as possible, getting you to coding sooner. Time spent wrestling with your operating system is time taken from learning how to code. - **Community Support** - Using the tools we recommend makes it easier for us to help when you run into trouble. - **Development Tools Are Built for Linux** - Ruby (on Rails) and Node.js, popular backend technologies covered by The Odin Project and widely used in the larger web development community, are open source projects that explicitly *expect* to run on an open-source (UNIX-based) platform like Linux. - **Work Like The Pros** - Many developers use a Unix-based operating system. - **Performance** - You are worried about installing Linux because your machine is slow/older and has limited space? When performance is a priority, Linux is a great choice. It uses fewer system resources than Windows and will occupy less hard drive space. -Many learners come to our Discord channel to ask if the directions on this page need to be followed. The maintainers of our Discord server wrote everything you just read about the installation plan. Those supporting learners on our Discord server agree with the guidance on this page and will make the same recommendations you have read here. +Many learners come to our Discord channel to ask if the directions on this page need to be followed. The moderators of our Discord server wrote everything you just read about the installation plan. Those supporting learners on our Discord server agree with the guidance on this page and will make the same recommendations you have read here. + +Before we can continue, we must first stress one detail of importance: + +**We can only support what is provided within the scope of our curriculum. We do not support native Windows as a development environment.** Using Windows has been discussed many times and it is not feasible to do so at this time. Please do not ask us to support Windows, and please **do not bring it up in the Discord**. We are constantly evaluating our curriculum to keep content as fresh and accessible as possible, and Windows has not proven to be a path of low resistance With that out of the way, we need to set up an appropriate development environment! From 3f873b7bc4a9b85e80cb871df97abc6cc261133f Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Mon, 11 Sep 2023 16:32:22 +0200 Subject: [PATCH 28/30] Apply suggestions from code review Co-authored-by: Eric Olkowski <70952936+thatblindgeye@users.noreply.github.com> --- foundations/html_css/html-foundations/links-and-images.md | 2 +- foundations/installations/command_line_basics.md | 2 +- foundations/installations/installation_overview.md | 6 +++--- foundations/installations/text_editors.md | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/foundations/html_css/html-foundations/links-and-images.md b/foundations/html_css/html-foundations/links-and-images.md index 9fff2659ef0..8eb78d99139 100644 --- a/foundations/html_css/html-foundations/links-and-images.md +++ b/foundations/html_css/html-foundations/links-and-images.md @@ -192,7 +192,7 @@ When you download a file from the internet, Windows has a security feature that 1. Create a new directory named `images` within the `odin-links-and-images` project. -2. Next, download [this image](https://unsplash.com/photos/Mv9hjnEUHR4/download?force=true&w=640). +2. Next, [download the stock dog image](https://unsplash.com/photos/Mv9hjnEUHR4/download?force=true&w=640). 3. Right click on the new download at the bottom of the chrome window and select "Show in folder". diff --git a/foundations/installations/command_line_basics.md b/foundations/installations/command_line_basics.md index ad81f1bd6b0..caa3c784284 100644 --- a/foundations/installations/command_line_basics.md +++ b/foundations/installations/command_line_basics.md @@ -41,7 +41,7 @@ This section contains a general overview of topics that you will learn in this l **Note**: Many of these resources assume you're using a Mac or Linux environment. If you did our previous installation lesson, you should already have Linux installed in dual-boot or a virtual machine. Or, you might be using MacOS. If you don't have MacOS, or any version of Linux installed, please return to the [operating system installation guide](https://www.theodinproject.com/paths/foundations/courses/foundations/lessons/prerequisites).
-**Note for WSL users**: You will have to use the `wget` command along with the link given in the `Download files` section in order to have the zip file in your WSL installation (`wget https://swcarpentry.github.io/shell-novice/data/shell-lesson-data.zip`). You will also have to install unzip by using the command `sudo apt install unzip` and then `unzip shell-lesson-data.zip` to unzip the file. Keep in mind that throughout the course below, your terminal output may look slightly different to what is shown in the lessons. Anytime the course asks you to go to the Desktop, you will instead be going to the home directory which can be done by using the cd command (`cd ~`). +**Note for WSL users**: You will have to use the `wget` command along with the link given in the `Download files` section in order to have the zip file in your WSL installation (`wget https://swcarpentry.github.io/shell-novice/data/shell-lesson-data.zip`). You will also have to install unzip by using the command `sudo apt install unzip` and then `unzip shell-lesson-data.zip` to unzip the file. Keep in mind that throughout the course linked in the first step below, your terminal output may look slightly different to what is shown in the lessons. Anytime the course asks you to go to the Desktop, you will instead be going to the home directory which can be done by using the cd command (`cd ~`).
1. Visit [The Unix Shell](https://swcarpentry.github.io/shell-novice/) course designed by the Software Carpentry Foundation. There you will find a full complement of lessons on using the CLI, but for now just focus on completing the following lessons: diff --git a/foundations/installations/installation_overview.md b/foundations/installations/installation_overview.md index e28b9fcf74d..1df58b29f7c 100644 --- a/foundations/installations/installation_overview.md +++ b/foundations/installations/installation_overview.md @@ -41,7 +41,7 @@ Windows, by itself, **is not natively supported** by The Odin Project, or on our * A VirtualBox Virtual Machine * Dual-boot Ubuntu installation -* Windows Subsystem for Linux +* Windows Subsystem for Linux (WSL) A **virtual machine** is an emulation of a computer that runs within your existing OS. It allows you to use another operating system inside of a program on your current operating system (e.g. Running Linux inside of Windows). Virtual machines are as simple to install as any other program and are risk free. If you don't like Linux, you can easily remove the virtual machine. Virtual machines are a great way for new developers to get started quickly. @@ -51,7 +51,7 @@ A **virtual machine** is an emulation of a computer that runs within your existi Dual-booting can be as easy as inserting a flash drive and clicking a few buttons. The benefits of dual-booting cannot be overstated. You will allow Linux to access the full capabilities of your hardware, have a clean and distraction-free environment for coding, and learn the platform used by many senior developers and servers around the world. -**Windows Subsystem for Linux** (usually abbreviated as WSL) lets you run a full-fledged Linux environment from within an existing Windows installation, giving you all of the advantages of Linux without needing to run a virtual machine or dual boot. We'll be using version 2 of WSL, commonly known as WSL2, within the curriculum. +**Windows Subsystem for Linux** lets you run a full-fledged Linux environment from within an existing Windows installation, giving you all of the advantages of Linux without needing to run a virtual machine or dual boot. We'll be using version 2 of WSL, commonly known as WSL2, within the curriculum. ### Concerned about installing a new OS? @@ -73,7 +73,7 @@ Many learners come to our Discord channel to ask if the directions on this page Before we can continue, we must first stress one detail of importance: -**We can only support what is provided within the scope of our curriculum. We do not support native Windows as a development environment.** Using Windows has been discussed many times and it is not feasible to do so at this time. Please do not ask us to support Windows, and please **do not bring it up in the Discord**. We are constantly evaluating our curriculum to keep content as fresh and accessible as possible, and Windows has not proven to be a path of low resistance +**We can only support what is provided within the scope of our curriculum. We do not support native Windows as a development environment.** Using Windows has been discussed many times and it is not feasible to do so at this time. Please do not ask us to support Windows, and please **do not bring it up in the Discord**. We are constantly evaluating our curriculum to keep content as fresh and accessible as possible, and Windows has not proven to be a path of low resistance. With that out of the way, we need to set up an appropriate development environment! diff --git a/foundations/installations/text_editors.md b/foundations/installations/text_editors.md index 46f7e30c174..3a8ef817521 100644 --- a/foundations/installations/text_editors.md +++ b/foundations/installations/text_editors.md @@ -94,7 +94,7 @@ You can start VSCode in two ways, #### Step 1: Install VSCode -- Follow the instructions on [the Visual Studio Code website](https://code.visualstudio.com/docs/setup/windows) to install VSCode. +- Follow the instructions for [Visual Studio Code on Windows](https://code.visualstudio.com/docs/setup/windows) to install VSCode. #### Step 2: Delete the installer file @@ -106,7 +106,7 @@ You can start VSCode in two ways, - Open Visual Studio Code. - Navigate to the extensions tab. -- Find and install the [WSL exstention](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl). +- Find and install the [WSL extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl). #### Step 5: Ensure that WSL can correctly open VSCode From 5c009f5f5a4621d610d740081f5f288c16f0721d Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Thu, 21 Sep 2023 19:35:04 +0200 Subject: [PATCH 29/30] implement some extra instructions --- .../html-foundations/links-and-images.md | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/foundations/html_css/html-foundations/links-and-images.md b/foundations/html_css/html-foundations/links-and-images.md index 06d641cb841..f62befbcd0a 100644 --- a/foundations/html_css/html-foundations/links-and-images.md +++ b/foundations/html_css/html-foundations/links-and-images.md @@ -52,7 +52,7 @@ It's worth noting you can use anchor tags to link to any kind of resource on the ### Opening links in a new tab -The method shown above opens links in the same tab as the webpage containing them. This is the default behaviour of most browsers and it can be changed relatively easily. All we need is another attribute: the `target` attribute. +The method shown above opens links in the same tab as the webpage containing them. This is the default behaviour of most browsers and it can be changed relatively easily. All we need is another attribute: the `target` attribute. While `href` specifies the destination link, `target` specifies where the linked resource will be opened. If it is not present, then, by default, it will take on the `_self` value which opens the link in the current tab. To open the link in a new tab or window (depends on browser settings) you can set it to `_blank` as follows: @@ -60,11 +60,11 @@ While `href` specifies the destination link, `target` specifies where the linked click me ~~~ -You may have noticed that we snuck in the `rel` attribute above. This attribute is used to describe the relation between the current page and the linked document. +You may have noticed that we snuck in the `rel` attribute above. This attribute is used to describe the relation between the current page and the linked document. The `noopener` value prevents the opened link from gaining access to the webpage from which it was opened. The `noreferrer` value prevents the opened link from knowing which webpage or resource has a link (or 'reference') to it. It also includes the `noopener` behaviour and thus can be used by itself as well. -Why do we need this added behaviour for opening links in new tabs? Security reasons. The prevention of access that is caused by `noopener` prevents [phishing attacks](https://www.ibm.com/topics/phishing) where the opened link may change the original webpage to a different one to trick users. This is referred to as [tabnabbing](https://owasp.org/www-community/attacks/Reverse_Tabnabbing). Adding the `noreferrer` value can be done if you wish to not let the opened link know that your webpage links to it. +Why do we need this added behaviour for opening links in new tabs? Security reasons. The prevention of access that is caused by `noopener` prevents [phishing attacks](https://www.ibm.com/topics/phishing) where the opened link may change the original webpage to a different one to trick users. This is referred to as [tabnabbing](https://owasp.org/www-community/attacks/Reverse_Tabnabbing). Adding the `noreferrer` value can be done if you wish to not let the opened link know that your webpage links to it. Note that you may be fine if you forget to add `rel="noopener noreferrer"` since more recent versions of browsers [provide this security](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#security_and_privacy) if only `target="_blank"` is present. Nevertheless, in line with good coding practices and to err on the side of caution, it is recommended to always pair a `target="_blank"` with a `rel="noopener noreferrer"`. @@ -196,8 +196,22 @@ When you download a file from the internet, Windows has a security feature that 3. Right click on the new download at the bottom of the chrome window and select "Show in folder". + 1. Alternatively, if you do not see anything at the bottom of the chrome window, open the "Customize and control Google Chrome kebab menu and select the "Downloads" item. This will show all of your downloads, each with its own "Show in folder" button. + 4. Drag the file from your downloads folder to VSCode's file browser into your new `images` directory. + 1. Alternatively, using your Ubuntu terminal, navigate to the folder you want to copy the image to (`cd ~/odin-links-and-images` for example) + + 2. Type `cp ` + + 3. Drag the `dog.jpg` image from a Windows Explorer window and drop it onto the terminal window, it should appear as `"/mnt/c/users/username/Downloads/dog.jpg"` + + 4. Type ` .` to tell cp that you want to copy the file to your current working directory. + + 1. The full command will look something like `cp "/mnt/c/users/username/Downloads/dog.jpg" .` + + 5. Hit Enter to complete the command, and use ls to confirm the file now exists. + Dragging files from Windows into the VSCode file browser prevents the `Zone.Identifier` files from being copied over. From now on, any time you need to copy pictures or other downloaded files like this into WSL, you can do it in this way. If you ever accidentally copy these `Zone.Identifier` files into WSL, you can safely delete them without any issue. @@ -254,7 +268,7 @@ As a bit of practice, add an alt attribute to the dog image we added to the `odi ### Image size attributes While not strictly required, specifying height and width -attributes in image tags helps the browser layout the page without causing the page to jump and flash. +attributes in image tags helps the browser layout the page without causing the page to jump and flash. It is a good habit to always specify these attributes on every image, even when the image is the correct size or you are using CSS to modify it. From 0ebd80d56f777d8184db290244701cbdf92feb46 Mon Sep 17 00:00:00 2001 From: Asartea <76259120+Asartea@users.noreply.github.com> Date: Fri, 17 Nov 2023 16:46:42 +0100 Subject: [PATCH 30/30] Update codeblock markdown --- foundations/installations/installations.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/foundations/installations/installations.md b/foundations/installations/installations.md index e392e915a7f..f8b01f6d6a3 100644 --- a/foundations/installations/installations.md +++ b/foundations/installations/installations.md @@ -296,9 +296,9 @@ In order to make WSL2 work we'll first need to ensure both `Windows Subsystem fo - Open PowerShell in administrator mode by searching for it in your applications, right clicking the top option, and then selecting run as administrator. You might get a prompt asking if you want to allow Windows Powershell to make changes to your device: click yes. - Enter the following command - ~~~powershell + ```powershell wsl --install - ~~~ + ``` - After a few minutes you'll be prompted to reboot your computer; do so. - You should see an open Powershell window, prompting you to enter a username and a password. Your username should be lowercase, but can otherwise be whatever suits you. You'll also need to enter a new password. - When entering your password you might notice that you aren't seeing any visual feedback. This is a standard security feature in Linux, and will also happen in all future cases where you need to enter a password. Just type your password and hit Enter.