SlideShare a Scribd company logo
1 of 31
Introduction to Linux
for Windows Users
Robert McDermott | Center IT | Solutions Engineering and Architecture
Presented by:
The Technology Exchange
Windows Linux
Intro to Linux for Windows Users
1
Agenda
 What is Linux and why does it matter?
 Linux concepts and basics
 Microsoft and Linux ♥
 The Windows Subsystem for Linux (WSL)
 The new Windows Terminal application and WSL
 Running Linux GUI apps on Windows with “X”
 Alternate Linux GUI Terminals
 Visual Studio Code with WSL
 Visual Studio Code with Remote Linux Hosts via SSH
What is Linux?
 Linux was created as hobby project in August of 1991 by Linus Torvalds, a Finish programmer.
 It’s a clone of the commercial Unix operating system first created in the 1970s at AT&T by
Ken Thompson and Dennis Ritchie
 Linux is technically just the Kernel, the Unix like user environment is “GNU” first created by
Richard Stallman (GNU/Linux)
 Linux has been ported to many CPU architectures and runs on everything from lightbulbs to
a 7.2 million CPU core, 500 petaflop supercomputer (Fugaku in Japan)
 All of the top 500 super computers in the world run Linux
 There are hundreds of different flavors of Linux called “distros”
 Most Linux distros come included with thousands of optional software package
 Most of the “cloud” and services on the Internet are powered by Linux servers
 While it can make a very stable, secure, beautiful desktop operating system, it can’t natively
run Office or Windows software, so it’s not a popular choice for the desktop/laptop.
The basics
2
The Birth of Linux
August 1991
3
https://groups.google.com/forum/#!msg/comp.os.minix/dlNtH7RRrGA/SwRavCzVE7gJ
1991 1999
Very First Announcement
GNU/Linux?
GNU Project Linux Kernel
4
+
https://www.gnu.org https://www.kernel.org
“Distros”DistroWatch is currently tracking the activity on 276 Linux distributions
5
https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg
Distros
6
Each has its own unique style and purpose
Desktop Environments
7
KDE
MATE
Gnome
Cinnamon Budgie
LXqt
Xfce
Deepin Pantheon
Nerdy & Artistic Desktops are Not Required
8
An IT Engineer or Researcher Just Needs a Good Terminal
✔
Why should you should care about Linux?
 It’s here to stay, and it’s getting harder to avoid if you are in IT…
 Linux skills are in demand; you’re limiting your job prospects without it
 New and interesting technologies and tools are available for Linux first
 Not worrying about software licensing, budgets and money feels good
 Way less reboots required; only need to reboot if patching the kernel,
but with “kpatch” you can now even patch a running kernel
 It’s “batteries included”, comes with thousands of software packages
 OS and applications (database servers, webservers, utilities, etc…) are
all updated and patched in single process.
 It’s fun 
If you are Sys Admin, DBA, Developer, Network Engineer, computational
researcher or data scientist
9
Basic things you need to know
 Common distros in IT/research: CentOS (RHEL clone) and Ubuntu
 Updating and Patching the system: “apt”, “yum”, “dnf”
 Using the shell: BASH, environment variables
 Editing text files: “vi” (hard, powerful) or “nano” (easy, limited)
 See what’s going on: “ps” and “top” commands
 Navigating and inspecting the filesystem: “ls” and “cd”
 Copying, moving and deleing files/dirs.: “cp”, “mv”, “mkdir”, “rm”
 Scheduling tasks: “crontab” command
 Watching the logs: “tail -f /var/log/syslog”
 Connecting to remote servers: “ssh”
 Starting, stopping and restarting services: “service”, “systemctl” 10
Basic things you need to know
 Shutting down or rebooting: “shutdown -h now” and “reboot”
 Becoming root: “sudo” and “su”
 Managing permissions and ownership: “chmod” and “chown”
 Who else is currently logged into the system: “who”
 How long has the system been running since last reboot: “uptime”
 What’s this systems IP address: “ip addr show”
 Looking for a word or pattern in a file or command output: “grep”
 How much disk space is free/used: “df -h”
 What network ports the system is listening on: “netstat -tunlp”
11
Things Have Changed at Microsoft
12
2001
Microsoft joins the “Linux
Foundation” as a platinum
member - currently only 13 other
members are at that level
2016
2014
2021
Microsoft releases it’s first Linux distro
“Azure Linux 1.0”
Just kidding but I wouldn't be shocked if it happened
Microsoft is Going Multi-Platform
13
.Net Core
PowerShell Core
Visual Studio Code
 The classic .Net Framework for Windows has reached its end; 4.8 is the last version
 .Net Core is the future of .Net and supports Windows, Linux and macOS
 Current version is .Net Core 3.1
 Next version (Nov 2020) will drop the “Core” designation and just be .Net 5.0
 The classic Windows PowerShell has reached its end; 5.1 is the last version
 PowerShell Core is the future of PowerShell and supports Windows, Linux and macOS
 Current version is PowerShell v7.0.3
 Visual Studio Code is a free and open source IDE and supports Window, Linux and macOS
 Thousands of plugins to support just about anything
Microsoft SQL Server
 SQL 2017 and 2019 Window and Linux
 $ docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=password' -e 'MSSQL_PID=Enterprise’ 
-p 1433:1433 –d mcr.microsoft.com/mssql/server:2019-latest
Azure has a Linux Problem
 est
And it’s Stage 4
14
https://build5nines.com/linux-is-most-used-os-in-microsoft-azure-over-50-percent-fo-vm-cores/
@#$%&!
2014
2020
Options Using Linux from Windows
15
 Have a remote Linux server that you access via SSH, and
possibly export “X” apps to Windows
 Running a Linux VM (VirtualBox, Vmware, Hyper-V) on your
Windows workstation
 Windows 10 + WSL 1.0 ✔
 Windows 10 + WSL 2.0 ✔
15
What is WSL?
16
Windows Subsystem for Linux
 Windows Subsystem for Linux is a compatibility layer for running Linux binary
executables natively on Windows 10 and Windows Server 2019
 A Linux-compatible kernel interface developed by Microsoft, containing no Linux
kernel code which can then run a GNU user space on top of it, such as that of
Ubuntu, openSUSE, Debian and Kali Linux.
 Such a user space might contain a Bash shell and command language, with native
GNU command-line tools (sed, awk, etc.), programming-language and even
graphical applications (using an X11 server)
16
WSL 1 vs WSL 2
17
WSL 1
 Requires Windows 10, version 1709, build 16299.15+
 Linux Kernel emulation layer
 Poor file IO performance in WSL filesystem
 Can coexist with VirtualBox/Vmware
 Some Linux System calls don’t work
 Better file performance in the Windows filesystem
 Shares the IP address and “localhost” network with
Windows
 Works with the current version of Windows 10 that CIT
is deploying
 Requires Windows 10, version 2004, Build 19041+
 Requires Hyper-V
 Real Linux Kernel
 Better IO performance in Linux filesystem
 Supports Docker Desktop
 100% Linux system call compatibility
 Slower file performance in the Windows filesystem
 Has it’s own private IP and separate “localhost” network
 Requires a newer version of Windows 10 than CIT is
currently deploying
WSL 2
Installing WSL 1.0
18
Control Panel
dism.exe /online /enable-feature /featurename:Microsoft-Windows-
Subsystem-Linux /all /norestart
Command line
You’ll need admin rights!
 Control Panel
 Programs and Features
 Turn Windows Features On or Off
 .☑ Windows Subsystem for Linux
Installing a WSL Linux Distro
19
The WSL Linux Distros are in the Microsoft Store
WSL Provided Terminal App
20
Start Menu Shortcut
 Very basic, not many options… and no tabs ☹
 Your Windows “C:” drive is mounted under /mnt/c
PuTTY
Windows Terminal 1.1
21
CMD, PowerShell and Linux shells in a single tabbed UI
PowerShell cmd.exe WSL Linux
Linux GUI Apps on Windows 10
22
Windows X Server: VcXsrv
 “Export” the “X” display in WSL to a local Windows X Server
 Run the Linux GUI apps alongside Windows apps (a hybrid desktop)
export DISPLAY=:0
https://sourceforge.net/projects/vcxsrv/
Add to /home/username/.profile
Linux and Windows Apps in the Taskbar
Gnome Terminal
23
$ gnome-terminal & > /dev/null
2>&1
Terminator Terminal
24
Code Editing Redefined
$ terminator & > /dev/null 2>&1
Visual Studio Code
25
Code Editing Redefined
 VS Code is Not the same as Visual Studio
 Completely free and open source
 Cross platform: Windows, MacOS, Linux
 Very extensible, thousands of extensions
 Built-in Git support
 Remote code editing: WSL, SSH, Docker container
 Doesn’t require admin rights to install
 Markdown preview
 Support for many programing languages
and file formats
 It’s what the cool kids are using 😎
https://code.visualstudio.com
Visual Studio Code with WSL
26
1 Install Remote Extensions 2 Open Remote Dialog
3 Select WSL
4 Select WSL Distro
Visual Studio Code with WSL
27
WSL Linux Shell
WSL Filesystem
File in WSL
VSCODE: Remote Linux Host via SSH
28
1 Open Remote Dialog 2 Select “Remote-SSH”
3 Enter SSH connection Command 4 In the Future Select Host
VSCODE: Remote Linux Host via SSH
29
Remote Filesystem
Remote Linux Shell
Remote File
30

More Related Content

What's hot

Operating systems linux
Operating systems linuxOperating systems linux
Operating systems linux
william_morg
 
Presentation1 linux os
Presentation1 linux osPresentation1 linux os
Presentation1 linux os
joycoronado
 

What's hot (20)

Linux seminar
Linux seminarLinux seminar
Linux seminar
 
History of Linux
History of LinuxHistory of Linux
History of Linux
 
Linux
LinuxLinux
Linux
 
Linux command ppt
Linux command pptLinux command ppt
Linux command ppt
 
Linux ppt
Linux pptLinux ppt
Linux ppt
 
BITS: Introduction to linux, distributions and installation
BITS: Introduction to linux, distributions and installationBITS: Introduction to linux, distributions and installation
BITS: Introduction to linux, distributions and installation
 
Introduction to linux ppt
Introduction to linux pptIntroduction to linux ppt
Introduction to linux ppt
 
A History of Linux
A History of LinuxA History of Linux
A History of Linux
 
Linux is a unix
Linux  is a unixLinux  is a unix
Linux is a unix
 
4th
4th4th
4th
 
Linux notes
Linux notesLinux notes
Linux notes
 
Operating systems linux
Operating systems linuxOperating systems linux
Operating systems linux
 
What is the linux
What is the linuxWhat is the linux
What is the linux
 
Introduction to GNU/Linux
Introduction to GNU/LinuxIntroduction to GNU/Linux
Introduction to GNU/Linux
 
Introduction to Linux_by_Amit & Jiban
Introduction to Linux_by_Amit & Jiban Introduction to Linux_by_Amit & Jiban
Introduction to Linux_by_Amit & Jiban
 
Intro to linux
Intro to linuxIntro to linux
Intro to linux
 
Presentation1 linux os
Presentation1 linux osPresentation1 linux os
Presentation1 linux os
 
ppt on linux by MUKESH PATEL
ppt on linux by MUKESH PATELppt on linux by MUKESH PATEL
ppt on linux by MUKESH PATEL
 
Linux gaming landscape
Linux gaming landscapeLinux gaming landscape
Linux gaming landscape
 
Case study linux
Case study linuxCase study linux
Case study linux
 

Similar to Introduction to Linux for Windows Users

Introduction 2 linux ml
Introduction 2 linux mlIntroduction 2 linux ml
Introduction 2 linux ml
Murtala Lawal
 
Linux programming lecture_notes
Linux programming lecture_notesLinux programming lecture_notes
Linux programming lecture_notes
IMRAN KHAN
 
(1)unit ii-linux intro
(1)unit ii-linux intro(1)unit ii-linux intro
(1)unit ii-linux intro
Payal Thakur
 

Similar to Introduction to Linux for Windows Users (20)

Introduction 2 linux ml
Introduction 2 linux mlIntroduction 2 linux ml
Introduction 2 linux ml
 
Linux operating system ppt
Linux operating system pptLinux operating system ppt
Linux operating system ppt
 
Amritha technologies
Amritha technologiesAmritha technologies
Amritha technologies
 
Amritha technologies ppt
Amritha technologies pptAmritha technologies ppt
Amritha technologies ppt
 
Hillel kobrovski Linux security overview for ciso
Hillel kobrovski   Linux security overview for cisoHillel kobrovski   Linux security overview for ciso
Hillel kobrovski Linux security overview for ciso
 
Chapter 8 - nsa Introduction to Linux.ppt
Chapter 8 -  nsa Introduction to Linux.pptChapter 8 -  nsa Introduction to Linux.ppt
Chapter 8 - nsa Introduction to Linux.ppt
 
Linux operating system
Linux operating systemLinux operating system
Linux operating system
 
windows vs Linux
windows vs Linuxwindows vs Linux
windows vs Linux
 
Linux basics
Linux basicsLinux basics
Linux basics
 
Licão 01 introduction
Licão 01 introductionLicão 01 introduction
Licão 01 introduction
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linux
 
Programming and problem solving 3
Programming and problem solving 3Programming and problem solving 3
Programming and problem solving 3
 
Linux programming lecture_notes
Linux programming lecture_notesLinux programming lecture_notes
Linux programming lecture_notes
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linux
 
welcome to linux
welcome to linuxwelcome to linux
welcome to linux
 
(1)unit ii-linux intro
(1)unit ii-linux intro(1)unit ii-linux intro
(1)unit ii-linux intro
 
Different types of operating systems
Different  types  of  operating  systems Different  types  of  operating  systems
Different types of operating systems
 
The Technology Talk
The Technology TalkThe Technology Talk
The Technology Talk
 
Linux Operating System
Linux Operating SystemLinux Operating System
Linux Operating System
 
Linuxseminar os
Linuxseminar osLinuxseminar os
Linuxseminar os
 

Recently uploaded

Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 

Recently uploaded (20)

Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdf
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 

Introduction to Linux for Windows Users

  • 1. Introduction to Linux for Windows Users Robert McDermott | Center IT | Solutions Engineering and Architecture Presented by: The Technology Exchange Windows Linux
  • 2. Intro to Linux for Windows Users 1 Agenda  What is Linux and why does it matter?  Linux concepts and basics  Microsoft and Linux ♥  The Windows Subsystem for Linux (WSL)  The new Windows Terminal application and WSL  Running Linux GUI apps on Windows with “X”  Alternate Linux GUI Terminals  Visual Studio Code with WSL  Visual Studio Code with Remote Linux Hosts via SSH
  • 3. What is Linux?  Linux was created as hobby project in August of 1991 by Linus Torvalds, a Finish programmer.  It’s a clone of the commercial Unix operating system first created in the 1970s at AT&T by Ken Thompson and Dennis Ritchie  Linux is technically just the Kernel, the Unix like user environment is “GNU” first created by Richard Stallman (GNU/Linux)  Linux has been ported to many CPU architectures and runs on everything from lightbulbs to a 7.2 million CPU core, 500 petaflop supercomputer (Fugaku in Japan)  All of the top 500 super computers in the world run Linux  There are hundreds of different flavors of Linux called “distros”  Most Linux distros come included with thousands of optional software package  Most of the “cloud” and services on the Internet are powered by Linux servers  While it can make a very stable, secure, beautiful desktop operating system, it can’t natively run Office or Windows software, so it’s not a popular choice for the desktop/laptop. The basics 2
  • 4. The Birth of Linux August 1991 3 https://groups.google.com/forum/#!msg/comp.os.minix/dlNtH7RRrGA/SwRavCzVE7gJ 1991 1999 Very First Announcement
  • 5. GNU/Linux? GNU Project Linux Kernel 4 + https://www.gnu.org https://www.kernel.org
  • 6. “Distros”DistroWatch is currently tracking the activity on 276 Linux distributions 5 https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg
  • 7. Distros 6 Each has its own unique style and purpose
  • 9. Nerdy & Artistic Desktops are Not Required 8 An IT Engineer or Researcher Just Needs a Good Terminal ✔
  • 10. Why should you should care about Linux?  It’s here to stay, and it’s getting harder to avoid if you are in IT…  Linux skills are in demand; you’re limiting your job prospects without it  New and interesting technologies and tools are available for Linux first  Not worrying about software licensing, budgets and money feels good  Way less reboots required; only need to reboot if patching the kernel, but with “kpatch” you can now even patch a running kernel  It’s “batteries included”, comes with thousands of software packages  OS and applications (database servers, webservers, utilities, etc…) are all updated and patched in single process.  It’s fun  If you are Sys Admin, DBA, Developer, Network Engineer, computational researcher or data scientist 9
  • 11. Basic things you need to know  Common distros in IT/research: CentOS (RHEL clone) and Ubuntu  Updating and Patching the system: “apt”, “yum”, “dnf”  Using the shell: BASH, environment variables  Editing text files: “vi” (hard, powerful) or “nano” (easy, limited)  See what’s going on: “ps” and “top” commands  Navigating and inspecting the filesystem: “ls” and “cd”  Copying, moving and deleing files/dirs.: “cp”, “mv”, “mkdir”, “rm”  Scheduling tasks: “crontab” command  Watching the logs: “tail -f /var/log/syslog”  Connecting to remote servers: “ssh”  Starting, stopping and restarting services: “service”, “systemctl” 10
  • 12. Basic things you need to know  Shutting down or rebooting: “shutdown -h now” and “reboot”  Becoming root: “sudo” and “su”  Managing permissions and ownership: “chmod” and “chown”  Who else is currently logged into the system: “who”  How long has the system been running since last reboot: “uptime”  What’s this systems IP address: “ip addr show”  Looking for a word or pattern in a file or command output: “grep”  How much disk space is free/used: “df -h”  What network ports the system is listening on: “netstat -tunlp” 11
  • 13. Things Have Changed at Microsoft 12 2001 Microsoft joins the “Linux Foundation” as a platinum member - currently only 13 other members are at that level 2016 2014 2021 Microsoft releases it’s first Linux distro “Azure Linux 1.0” Just kidding but I wouldn't be shocked if it happened
  • 14. Microsoft is Going Multi-Platform 13 .Net Core PowerShell Core Visual Studio Code  The classic .Net Framework for Windows has reached its end; 4.8 is the last version  .Net Core is the future of .Net and supports Windows, Linux and macOS  Current version is .Net Core 3.1  Next version (Nov 2020) will drop the “Core” designation and just be .Net 5.0  The classic Windows PowerShell has reached its end; 5.1 is the last version  PowerShell Core is the future of PowerShell and supports Windows, Linux and macOS  Current version is PowerShell v7.0.3  Visual Studio Code is a free and open source IDE and supports Window, Linux and macOS  Thousands of plugins to support just about anything Microsoft SQL Server  SQL 2017 and 2019 Window and Linux  $ docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=password' -e 'MSSQL_PID=Enterprise’ -p 1433:1433 –d mcr.microsoft.com/mssql/server:2019-latest
  • 15. Azure has a Linux Problem  est And it’s Stage 4 14 https://build5nines.com/linux-is-most-used-os-in-microsoft-azure-over-50-percent-fo-vm-cores/ @#$%&! 2014 2020
  • 16. Options Using Linux from Windows 15  Have a remote Linux server that you access via SSH, and possibly export “X” apps to Windows  Running a Linux VM (VirtualBox, Vmware, Hyper-V) on your Windows workstation  Windows 10 + WSL 1.0 ✔  Windows 10 + WSL 2.0 ✔ 15
  • 17. What is WSL? 16 Windows Subsystem for Linux  Windows Subsystem for Linux is a compatibility layer for running Linux binary executables natively on Windows 10 and Windows Server 2019  A Linux-compatible kernel interface developed by Microsoft, containing no Linux kernel code which can then run a GNU user space on top of it, such as that of Ubuntu, openSUSE, Debian and Kali Linux.  Such a user space might contain a Bash shell and command language, with native GNU command-line tools (sed, awk, etc.), programming-language and even graphical applications (using an X11 server) 16
  • 18. WSL 1 vs WSL 2 17 WSL 1  Requires Windows 10, version 1709, build 16299.15+  Linux Kernel emulation layer  Poor file IO performance in WSL filesystem  Can coexist with VirtualBox/Vmware  Some Linux System calls don’t work  Better file performance in the Windows filesystem  Shares the IP address and “localhost” network with Windows  Works with the current version of Windows 10 that CIT is deploying  Requires Windows 10, version 2004, Build 19041+  Requires Hyper-V  Real Linux Kernel  Better IO performance in Linux filesystem  Supports Docker Desktop  100% Linux system call compatibility  Slower file performance in the Windows filesystem  Has it’s own private IP and separate “localhost” network  Requires a newer version of Windows 10 than CIT is currently deploying WSL 2
  • 19. Installing WSL 1.0 18 Control Panel dism.exe /online /enable-feature /featurename:Microsoft-Windows- Subsystem-Linux /all /norestart Command line You’ll need admin rights!  Control Panel  Programs and Features  Turn Windows Features On or Off  .☑ Windows Subsystem for Linux
  • 20. Installing a WSL Linux Distro 19 The WSL Linux Distros are in the Microsoft Store
  • 21. WSL Provided Terminal App 20 Start Menu Shortcut  Very basic, not many options… and no tabs ☹  Your Windows “C:” drive is mounted under /mnt/c PuTTY
  • 22. Windows Terminal 1.1 21 CMD, PowerShell and Linux shells in a single tabbed UI PowerShell cmd.exe WSL Linux
  • 23. Linux GUI Apps on Windows 10 22 Windows X Server: VcXsrv  “Export” the “X” display in WSL to a local Windows X Server  Run the Linux GUI apps alongside Windows apps (a hybrid desktop) export DISPLAY=:0 https://sourceforge.net/projects/vcxsrv/ Add to /home/username/.profile Linux and Windows Apps in the Taskbar
  • 25. Terminator Terminal 24 Code Editing Redefined $ terminator & > /dev/null 2>&1
  • 26. Visual Studio Code 25 Code Editing Redefined  VS Code is Not the same as Visual Studio  Completely free and open source  Cross platform: Windows, MacOS, Linux  Very extensible, thousands of extensions  Built-in Git support  Remote code editing: WSL, SSH, Docker container  Doesn’t require admin rights to install  Markdown preview  Support for many programing languages and file formats  It’s what the cool kids are using 😎 https://code.visualstudio.com
  • 27. Visual Studio Code with WSL 26 1 Install Remote Extensions 2 Open Remote Dialog 3 Select WSL 4 Select WSL Distro
  • 28. Visual Studio Code with WSL 27 WSL Linux Shell WSL Filesystem File in WSL
  • 29. VSCODE: Remote Linux Host via SSH 28 1 Open Remote Dialog 2 Select “Remote-SSH” 3 Enter SSH connection Command 4 In the Future Select Host
  • 30. VSCODE: Remote Linux Host via SSH 29 Remote Filesystem Remote Linux Shell Remote File
  • 31. 30

Editor's Notes

  1. Travis
  2. Robert
  3. Robert
  4. Robert
  5. Robert
  6. Robert
  7. Robert
  8. Robert
  9. Robert
  10. Robert
  11. Robert
  12. Robert
  13. Robert
  14. Robert
  15. Robert
  16. Robert
  17. Robert
  18. Robert