🔄WSL
🤔 อยากใช้ Windows กับ Linux พร้อมกันทำไง
Last updated
🤔 อยากใช้ Windows กับ Linux พร้อมกันทำไง
Last updated
โดยปรกติโปรแกรมต่างๆนั้นจะมีต้นกำเนิดมาจาก Linux OS ซะส่วนใหญ่ไม่ว่าจะเป็น MongoDB, Nginx, Redis, Anaconda บลาๆ แล้วพอเวลาผ่านไปมีคนใช้เยอะขึ้นจนดังเป็นพลุแตก แน่นอนว่าขาเดฟในฝั่ง Windows ก็เป็นกลุ่มตลาดใหญ่เช่นกัน ดังนั้นเขาก็จะทำการแปลงโปรแกรมเหล่านั้นให้ฝั่ง Windows OS ใช้งานได้ แต่ด้วยชาติกำเนิดของมันที่ถูกสร้างและ Optimize มาจาก Linux ทำให้บางเรื่องก็ยังไม่สามารถดึงประสิทธิภาพออกมาได้เต็ม 100% และความสามารถบางอย่างก็ยังใช้งานได้แค่ฝั่ง Linux เท่านั้น เพราะความสามารถบางตัวไม่มีบน Windows หรือยังแปลงมาไม่เสร็จ
จากที่เล่ามาทาง Microsoft ก็รู้จุดอ่อนนี้เหมือนกันเลยทำให้เกิดไอเดียว่า จะดีกว่าไหมถ้า Windows ทำงานร่วมกับ Linux ได้เป็นหนึ่งเดียวกันเลย? ดังนั้นเลยเกิดโปรเจคที่ชื่อว่า Windows Subsystem for Linux หรือ WSL เกิดขึ้น ซึ่งมันจะทำให้เราสามารถใช้งาน Linux บน Windows ได้แบบ Native โดยที่ไม่ต้องลง Virtual Machine หรือ Hyper-V ใดๆเลย 😘
ดังนั้นถ้าเราใช้ WSL มันจะทำให้เครื่องของเราใช้ Linux ได้แบบ Native แถมยังเลือกใช้ Linux ได้หลายตัวพร้อมๆกันด้วย ตามรูปด้านล่าง
แถมยังแชร์ไฟล์/ไดรฟ์ ได้แบบเป็นหนึ่งเดียวกัน ไม่ต้องคอยแปลง format หรือจัดการเรื่อง network อะไรด้วย
และความแจ่มแมวอีกอย่างคือ เราสามารถใช้ WSL ควบคู่กับ 🐳 Docker ได้ด้วยนะจ๊ะ
ถ้าใครอ่านมาถึงตรงนี้ ดชแมวน้ำ ก็น่าจะขายของได้แล้วล่ะ ดังนั้นมาเตรียมติดตั้ง WSL กันดีกั่ว ตามขั้นตอนพวกนี้
อย่างแรกเลยคือตัว Windows ของเราจะต้องเป็นเวอร์ชั่นที่รองรับก่อนตามตารางด้านล่าง
ส่วนวิธีตรวจว่าเครื่องตัวเองรองรับหรือเปล่าให้กดปุ่ม Windows แล้วพิมพ์คำว่า winver
แล้วกด enter ก็จะเจอเวอร์ชั่นของเครื่องเรา แล้วก็เอามาเช็คกับตารางตัวนี้เอาครับ ส่วนเครื่องใครยังไม่ใช่เวอร์ชั่นที่รองรับก็รบกวนกดที่ลิงค์นี้ Update Windows version เพื่อไปทำการอัพเกรดเป็นตัวล่าสุดก่อนละกัน
ต่อมาก็จะเปิดให้เครื่องเราสามารถใช้ WSL ได้ โดยการเปิด PowerShell
ขึ้นมาในโหมด admin ซึ่งสามารถทำได้โดยกดปุ่ม Windows แล้วพิมพ์ว่า powershell
แล้วเราจะเห็นโปรแกรม PowerShell โชว์ขึ้นมา ให้ทำการคลิกขวาแล้วเลือกเป็น Run as administrator
แล้วตอบ yes ได้เบย
พอหน้าจอดำๆเปิดขึ้นมาละก็ copy คำสั่งด้านล่างลงไป แล้วกด enter โลด
ถัดมาก็ทำการเปิด Virtual Machine feature โดยการใช้คำสั่งด้านล่าง
ถึงตรงนี้ หากเครื่องใครใช้ WSL เวอร์ชั่น 1 อยู่ อาจจะต้อง Restart เครื่องซักรอบนึงนะ ส่วนใครอยากจะย้ำให้มั่นใจก็ restart ด้วยกะได้
ถัดมาเราก็จะติดตั้ง Linux kernel ให้กับเครื่องเรา โดยการดาวโหลดไฟล์ด้านล่างมาติดตั้งให้เรียบร้อย (เลือกติดตั้งแค่ตัวเดียวนะขึ้นอยู่กับว่าเครื่องเราเป็น x64 หรือ ARM)
ตอนติดตั้งมันกดแค่ 2-3 ทีก็ติดตั้งเสร็จละ ไวมากไม่ต้องตกใจนะ 😂
หมายเหตุ สำหรับใครที่ไม่รู้ว่าเครื่องตัวเองเป็น x64 หรือ ARM64 สามารถตรวจง่ายๆโดยใช้คำสั่งด้านล่างนี้ครับ
หมายเหตุ สำหรับคนที่เคยติดตั้ง WSL เวอร์ชั่นเก่าแล้วอยากเปลี่ยนมาใช้เวอร์ชั่นล่าสุด (ณ ตอนที่เขียนบทความนี้คือเวอร์ชั่น 2) ก็สามารถทำได้ง่ายๆโดยใช้คำสั่งด้านล่างนี้ครัช
จากตรงนี้เครื่องเราก็จะพร้อมทำงานทุกอย่างละ สุดท้ายเราก็ต้องเลือกว่าจะใช้ Linux ตัวไหนบ้าง โดยเพื่อนๆสามารถเลือกได้จากลิสค์ด้านล่างนี้เลยกั๊ฟ
หลังจากที่ติดตั้ง Linux distribution เสร็จแล้ว โดยปรกติ Linux OS นั้นเราจะต้องเข้าไปตั้ง Username & Password ต่างๆก่อนถึงจะเข้าไปใช้งานได้ (จริงๆ Mac, Windows ก็มีเรื่องพวกนี้เหมือนกัน แต่ส่วนใหญ่เราจะทำผ่าน GUI อยู่แล้วเลยไม่รู้ตัว) ดังนั้นให้เปิด Linux ที่เราพึ่งติดตั้งขึ้นมา แล้วตั้ง username & password โลด (สำหรับคนไม่เคยใช้ Linux ตอนใส่รหัสผ่านมันจะไม่แสดงสิ่งที่เราพิมพ์นะ ให้ใส่ให้ครบแล้วกด enter ได้เลย)
หลังจากที่สร้าง user เสร็จแล้ว สุดท้ายก็ทำการอัพเกรด packages กันหน่อยด้วยคำสั่งด้านล่าง
จากทั้งหมดที่ทำมาก็เป็นอันว่าเครื่องคอมของเรา มี Windows และ Linux ทำงานอยู่บนเครื่องเดียวกันเรียบร้อยแล้วขอรับ ฮูเร่!! 🎉
ตัวนี้ไม่จำเป็นต้องลงก็ได้ แต่ส่วนตัวแมวน้ำชอบ เพราะมันทำให้เราเปิดหลายๆ Terminal ขึ้นมาได้พร้อมๆกัน แถมยังจัดการตกแต่งสีอะไรต่างๆได้ด้วย ทำให้เราไม่ต้องสลับจอไปๆมาๆเลย ซึ่งเพื่อนๆสามารถไปดาวโหลดมาติดตั้งได้จากลิงค์นี้ครัช Microsoft Store
ซึ่งหลังจากติดตั้งเสร็จแล้ว เราก็ลองเปิดขึ้นมาเล่นดูก็จะพบว่า เราสามารถเลือกที่จะเปิด Terminal มาได้ทุกรูปแบบ Command Prompt, PowerShell, CloudShell, Linux ต่างๆที่เราติดตั้งไว้ได้หมดเลย ส่วนใครที่อยากจะตกแต่งลูกเล่นเพิ่มเติมต่างๆก็สามารถกด Setting
ไปเล่นต่อได้ โดยสามารถศึกษาได้จากลิงค์นี้กั๊ฟ Windows Terminal
สำหรับขาเดฟที่ชื่นชอบพี่วาฬก็สามารถนำ WSL มาทำงานร่วมได้เช่นกัน โดยการคลิกขวาที่ไอคอนพี่วาฬแล้วเลือก Settings > General แล้วติ๊กเลือกว่าจะทำงานกับ WSL ได้เบย
ถัดมาเราก็จะมาตั้งค่าว่าจะให้ Linux ตัวไหนที่ใช้งาน Docker ได้บ้าง ตามรูปด้านล่าง
หลังจากที่กดตกลงเรียบร้อย + รีสตาร์ท Docker เรียบร้อย เจ้า Linux ของเราก็จะสามารถใช้งาน docker command ได้แบ้ว แถมยังไม่ต้องใช้ Hyper-V ในการสร้าง Linux VM อีกด้วย นั่นหมายความว่าเครื่องของเรากับ Linux ทำงานแบบแชร์ Resource พวก CPU, Memory, Storage กันได้อย่างแท้จริง ไม่ต้อง dedicate ของเหล่านั้นอีกแล้ว แปลเป็นภาษามนุษย์ง่ายๆว่า เครื่องไม่อืดนั่นเอง 😂
สำหรับเพื่อนๆที่ต้องการศึกษาการใช้ WSL ควบคู่กับ Docker ก็สามารถไปอ่านต่อได้จากเอกสารหลักของ Docker ได้เลยนะกั๊ฟ Docker Desktop WSL 2 backend ซึ่งแทบจะเรียกว่ามันเป็น Best Practices ของเขาในการใช้งานของ Windows เลยก็ว่าได้ 😘
System
Version
x64
ขั้นต่ำ Version 1903 Build 18362
ARM64
ขั้นต่ำ Version 2004 Build 19041