Category: Windows Subsystem for Linux

  • Windows Terminal (3)

    • ติดตั้ง WSL2 ก็แล้ว แต่ใช้แค่ bash ดูไม่ว้าววววว เลย ให้ดูตัวอย่างก่อนที่

    https://github.com/ohmyzsh/ohmyzsh/wiki/Themes

    สวยงามอล่างฉ่าง
    • มาติดตั้ง zsh และ theme กัน
    • เริ่มจากติดตั้ง zsh
    sudo apt install zsh
    install zsh
    • ต่อด้วยคำสั่งต่อไปนี้เพื่อติดตั้ง ohmyzsh
    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
    • จากภาพจะมีการเปลี่ยน default shell ด้วยเปลี่ยนจาก bash เป็น zsh ฉะนั้นเมื่อเปิด wsl terminal ครั้งใดก็จะได้เป็น zsh shell ทุกครั้ง
    • สิ่งที่เพิ่มมาและมีความสำคัญมากคือ .oh-my-zsh และ .zshrc
    • เสร็จละง่าย!! แต่ theme ตั้งต้นอาจจะไม่ฉูดฉาด
    • แก้ไขแฟ้ม .zshrc ด้วย editor ที่ชื่นชอบ!
    • ดูชื่อ theme ต่างๆ ได้ที่ https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
    • มองหาคำว่า ZSH_THEME=”robbyrussell” สามารถเปลี่ยน robbyrussell เป็นอย่างอื่นได้เลย เช่น bira เปลี่ยนแล้ว save เมื่อออกมาอยู่ที่ prompt ให้พิมพ์
    . ./.zshrc
    • (อ่านว่า จุด-เว้นวรรค-จุด-สแลช-จุด-แซ่ด-เอส-เอช-อาร์-ซี)
    • หรือพิมพ์ว่า
    source .zshrc
    • ก็จะเปลี่ยนหน้าตาไปทันที ก่อนหน้านี้ต้องเคยติดตั้ง powerline font มาก่อนซึ่งในตอนที่ 1 ได้ให้ติดตั้งไปแล้ว จะได้ดังรูป
    • สวยแล้ว ทั้งนี้สวยแต่ละคนไม่เท่ากันก็อาจจะลองเปลี่ยนเป็นชื่ออื่นๆ ได้เลย หรือหากต้องการเขียนเองก็ทำได้ อ่านเอกสารเองนะจ๊ะ
    • เท่านี้ก่อนสำหรับ zsh shell
    • สำหรับ zsh สามาติดตั้งได้บน linux server แทบทุกดิสโทรเลยทีเดียว และโดยเฉพาะอย่างยิ่ง ubuntu หรือ debian ยังมี repository และ plugin เสริมต่างๆ ของ zsh อีกด้วย (ค่ายอื่นอาจจะมีแต่ไม่ได้ใช้งานมากเลยไม่ทราบนะครับ)
    • จบขอให้สนุก
    • ต้นฉบับ https://ohmyz.sh/
  • Windows Terminal (2)

    Q: วันก่อนติดตั้ง WSL2 แล้วอยากใช้งาน bash บน Windows Terminal ด้วยทำไง?

    A: กด แล้วเลือก Ubuntu 20.04 ไงล่ะ!!

    Q: ไม่อยากกดเอาแบบเปิดมาแล้วเป็น ubuntu เลยอ่ะ

    A: แก้ Settings คลิก เลือก Settings

    จะเป็นการเปิดการตั้งค่าต่างๆ ด้วย Text Editor ที่ชื่นชอบ

    เลื่อนลงมาดูเรื่อยๆ จะเจอว่ามี Ubuntu-20.04 อยู่

    สนใจบรรทัดที่เขียนว่า “guid”: ให้ copy ข้อความที่อยู่ภายใน “{ }” มาทั้งหมด จากตัวอย่างคือ 07b52e3e-de2c-5db4-bd2d-ba144ed6c273 แล้วให้เลื่อนจอขึ้นไปด้านบนจนเห็นบรรทัดที่มีข้อความว่า “defaultProfile”: แทนที่ข้อความที่อยู่ภายในเครื่องหมาย “{ }” ด้วยข้อความที่ copy ไว้

    เปลี่ยนเป็น

    แล้ว save ปิดแล้วเปิดใหม่ก็จะได้ Ubuntu-20.04 เป็นค่า default

    • จบขอให้สนุก
  • SSH:- no matching key exchange method found

    เดี๋ยวนี้ใน Windows 10 ก็มี ssh ให้ใช้งาน แต่พอใช้กับเซิร์ฟเวอร์รุ่นเก่าๆ ก็เข้าไม่ได้ซะงั้น ไปลอง ssh ฝั่ง Linux (WSL2) ก็ให้ผลเหมือนกันคือ!!!

    Linux
    Windows
    • ถ้าเป็นเมื่อก่อน วิ่งไปหา putty อย่างไว…. แต่ Windows อุตส่าห์ทำมาให้ใช้แล้วทั้งทีจะไม่ใช้ได้ยังไง
    • สิ่งที่ต้องตรวจสอบก่อนคือ man ssh_config สำหรับ Linux ฝั่ง client ว่ารองรับ ciphers และ kexalgorithms แบบไหนรองรับหรือไม่ ส่วนฝั่ง Windows 10 จะอิงตาม OpenBSD manual ซึ่งเหมือนกับ Linux แหละ
    KexAlgorithms
    Ciphers
    • สร้างแฟ้ม .ssh/config โดย
      • Linux ก็จะให้สร้างที่ /home/username/.ssh/
      • Windows ก็อยู่ที่ C:\Users\username\.ssh
    • สำหรับ error ว่า no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 ให้เพิ่มข้อความต่อไปนี้ลงในแฟ้ม .ssh/config โดย somhost.example.org เป็นชื่อและโดเมนเนมของ server เป้าหมาย
    Host somehost.example.org
    	KexAlgorithms +diffie-hellman-group1-sha1
    • สำหรับ error ว่า no matching cipher found. Their offer: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se ให้เลือกมา 1 cipher ที่ปรากฎใน error มาใส่ในแฟ้ม .ssh/config
    Host somehost.example.org
        Ciphers aes256-cbc
    • บาง server ต้องรวมทั้งสองอย่างเช่น
    Host somehost.example.org
        KexAlgorithms +diffie-hellman-group1-sha1
        Ciphers aes256-cbc
    • ถ้าไม่อยากสร้างแฟ้ม .ssh/config สามารถสั่งผ่าน command line ได้เลยเช่น
    ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 oracle@somehost.example.org

    หรือ ถ้ามี error 2 อย่าง

    ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes256-cbc oracle@somehost.example.org

    เมื่อสร้างแฟ้ม .ssh/config แล้วลอง ssh เข้าไปใหม่

    Linux
    Windows
  • Windows Subsystem for Linux Installation Guide for Windows 10

    เพื่อเป็นการไม่เสียเวลา เริ่ม

    • เปิด Powershell ด้วยสิทธิ์ของ Administrator แล้วพิมพ์คำสั่ง ต่อไปนี้เพื่อเปิดใช้งาน “Windows Subsystem for Linux” หรือ wsl โดยจะเป็นรุ่น 1 หรือ wsl1
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    wsl1
    • ปรับรุ่นให้เป็นรุ่น 2 โดย Windows 10 ที่ใช้งาน ต้องเป็น Windows 10 version 2004, Build 19041 1903, Build 18362 ขึ้นไปเท่านั้น
    • ตรวจสอบรุ่นของ Windows ด้วยคำสั่ง winver (start->run)
    winver
    • เปิดใช้งาน Virtual Machine Platform พิมพ์คำสั่งต่อไปนี้ ใน powershell ของ administrator
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    Virtual Machine Platform
    • restart เครื่องเพื่อให้การปรับรุ่น wsl1 เป็น wsl2 สมบูรณ์
    • ตั้งค่าให้ wsl2 เป็นค่าเริ่มต้นด้วยคำสั่ง
    wsl --set-default-version 2
    Set default wsl2
    • ซึ่งจะเจอข้อความตามภาพ ให้ไปดาวน์โหลด kernel ได้จาก https://aka.ms/wsl2kernel โหลดมาแล้วติดตั้งให้เรียบร้อย (Next technology)
    download kernel
    • สั่งคำสั่งเดิมอีกครั้งเพื่อตั้งค่าให้ wsl เป็นรุ่น 2 เป็นค่าเริ่มต้น
    Set default wsl2
    • สามารถดูรายละเอียดความแตกต่างของ wsl2 ได้ที่ https://aka.ms/wsl2
    • ติดตั้ง Linux ที่ต้องการจาก Microsoft Store หรือคลิกลิงค์ด้านล่างเพื่อเข้า Microsoft Store
    ubuntu 20.04
    • ติดตั้งเสร็จแล้วคลิก Launch ใน Microsoft Store
    • จะเป็นการเปิดหน้าของลินุกส์ขึ้นมาและให้ตั้งค่าต่างๆ username และ password
    Setup
    • ตั้งค่าเสร็จได้ดังภาพ
    Fin
    • ตั้งค่าลินุกส์ให้เป็น wsl2 ตรวจสอบว่าเป็นรุ่นไหนอยู่ด้วยคำสั่ง
    wsl --list --verbose
    check version
    • ซึ่งถ้าหากยังเป็นรุ่น 1 สามารถเปลี่ยนได้ด้วยคำสั่ง
    wsl --set-version <distribution name> <versionNumber>
    • โดยแทนที่ <distribution name> ด้วยชื่อเต็มที่ได้จากคำสั่ง wsl –list –verbose เช่น Ubuntu-20.04 และ <versionNumber> ด้วย 1 หรือ 2 ตามต้องการ
    • จบขอให้สนุก

    ต้นฉบับ

    https://docs.microsoft.com/en-us/windows/wsl/install-win10