ไมโครซอฟท์ประกาศโอเพนซอร์ส WSL ทั้งชุด หลังจากก่อนหน้านี้โอเพนซอร์สเฉพาะเคอร์เนล (ตามข้อจำกัด GPL ของลินุกซ์) และ WSLg ส่วนรองรับกราฟิกสำหรับแอปลินุกซ์เป็นหลัก
ตัว WSL มีส่วนประกอบข้างในหลายส่วน นอกจากตัวเคอร์เนล ได้แก่
- คำสั่ง wsl.exe, wslconfig.exe, และ wslg.exe เป็นคำสั่งหน้าบ้านที่ผู้ใช้พิมพ์คำสั่งต่างๆ
- wslservice.exe ตัวโปรเซสจริงที่ติดต่อกับเคอร์เนลวินโดวส์เพื่อสร้าง virtual machine
- Linux init ชุดคำสั่งภายในลินุกซ์เพื่อจัดการเชื่อมต่อกับวินโดวสื เช่น เน็ตเวิร์ค, การทำ port forward
- Plan9 เซิร์ฟเวอร์แชร์ไฟล์ระหว่างเครื่องวินโดวส์และ WSL
แม้ว่า WSL จะไม่ใช่ซอฟต์แวร์โอเพนซอร์ส แต่ทีมงานก็ยอมรับว่าชุมชนช่วยพัฒนาอย่างมาก หลายคนช่วยไล่แก้ปัญหาแม้จะมองไม่เห็นซอร์สโค้ด การเปิดซอร์สโค้ดทำให้ชุมชนเหล่านี้เข้ามาช่วยได้มากขึ้น
ที่มา - Windows Developer Blog
on
Repo: https://github.com…
illuminator Tue, 20/05/2025 - 00:28
Repo: https://github.com/microsoft/WSL
เสียดาย WSA
hisoft Tue, 20/05/2025 - 04:21
เสียดาย WSA
เยี่ยมเลยครับ นอกเรื่อง…
btoy Tue, 20/05/2025 - 07:57
เยี่ยมเลยครับ
นอกเรื่อง โลโก้ ให้น้องเพนกวิ้นยิ้มหน่อยก็ได้นะ โดยเฉพาะตรงตา 😅
ใช้ c++20
rattananen Tue, 20/05/2025 - 09:53
ใช้ c++20 เลย
เอาไปเป็น ตัวอย่างการใช้ modern c++20 ได้ดี
สงสัยเจอ package…
tontan Tue, 20/05/2025 - 11:55
สงสัยเจอ package ที่ทำงานได้เฉพาะ linux / MacOS เท่านั้นมากขึ้น โดยที่ไม่ได้ทำให้รองรับ Windows เลยต้องมาทุ่ม WSL มากขึ้น ให้ชาว OSS ไปช่วย แต่ก็ไม่ได้แก้ได้อยู่ดี
ไม่น่าใช่ครับ…
rattananen Tue, 20/05/2025 - 13:38
In reply to สงสัยเจอ package… by tontan
ไม่น่าใช่ครับ เอาตามประสบการณ์ผม ก่อนมาใช้ WSL2
เป็นเพราะ server ส่วนใหญ่ใช้ Linux ครับ และการสร้าง dev environment สำหรับพัฒนาโปรแกรมไป run บน server มันเป็นเรื่องยุ่งยากมากๆ
เมื่อก่อนก็พอจะมี docker แต่มันก็ยุ่งยาก + overhead เยอะ
สุดท้ายก็ต้องไปใช้ VirtualBox ซึ่งช้ามากๆ
พอมี WSL2 นี้ ชีวิตสดไสขึ้นเยอะ จาก install distro ใหม่ 2 ชั่วโมงเหลือ 10วิ
copy ก็ง่าย ไม่พอใจก็ลบ สร้างใหม่ไม่ต้องคิดมาก
ทำให้ผมได้เรียนรู้อะไรใหม่อีกเพียบ เพียงเพราะมันสร้าง-ลบ-copy ง่าย
สำหรับผม ผมเจอ package…
tontan Tue, 20/05/2025 - 14:33
In reply to ไม่น่าใช่ครับ… by rattananen
สำหรับผม ผมเจอ package กับซอฟต์แวร์ใหม่ ๆ รองรับ Linux / Mac แต่ไม่รองรับ Windows มากขึ้นนะครับ อาจจะเฉพาะสายที่ผมตาม แบบเวลามีอะไรใหม่ ๆ รองรับ Linux / Mac แน่นอน แต่อาจไม่มี Windows อยู่ใน list และผมยังเจอ OSS หลายตัวที่ทำงานบน Linux แต่มีปัญหากับ WSL อยู่เยอะนะครับ
ต้องแยกระหว่าง package ของ…
rattananen Tue, 20/05/2025 - 15:09
In reply to สำหรับผม ผมเจอ package… by tontan
ต้องแยกระหว่าง package ของ package manager กับตัว library ออกจากกันครับ
ส่วนมากคน build package ของ package manager กับ คนเขียน library มันคนละคนกัน
ปกติคนเขียน library ส่วนมากเขาจะเขียนให้มัน build cross platform
คนที่ดูแล package ของ library นั้น บน package manager ก็จะเอาไป build ใส่ package manager ให้
ฉะนั้นมันจะไม่มีปัญหาเรื่อง package เลย ถ้าเรา build จาก source เองได้
เอาเข้าจริงเดียวนี้เจ้าของ library สมัยนี้จะ support package manager vcpkg ที่เป็นของ MS มากขึ้นด้วยซ้ำครับ
ผมคิดว่าไม่ใช่นะครับ…
tontan Tue, 20/05/2025 - 16:54
In reply to ต้องแยกระหว่าง package ของ… by rattananen
ผมคิดว่าไม่ใช่นะครับ การเขียน build cross platform ขึ้นอยู่กับโปรเจคของต่ละโปรเจคมากกว่า สำหรับ package ในมุมมองผม ไม่เฉพาะที่อยู่ในpackage manager ครับ และ library นับด้วย ถึงแม้จะไม่ถูกหลักการ เพราะมีหลายภาษาไม่ได้ใช้คำเหมือนกัน แม้ความหมายจะใกล้เคียงกัน และไม่ได้ใช้ vcpkg สำหรับ build
ผมมอง WSL != Windows ครับ Windows คือ โปรแกรมบน Windows ไม่นับตัว WSL ครับ ส่วน WSL ปัญหายังมีเรื่องความเข้ากันได้อยู่บ้างในหลายกรณี อย่างเช่น webbrowser ที่เป็น library หลักแกนของ cpython ยังทำงานกับ WSL ได้ไม่สมบูรณ์ ครับ ยังไม่รวมกรณีอื่น ๆ ของ AI อย่างตัว training หลายตัวไม่รองรับ Windows ในช่วงแรก แบบ build ไม่ผ่าน จากการเขียนของ library เอง
สุดท้ายนี้ ขอบคุณนะครับ ที่ทำให้ได้เรียนรู้อะไรใหม่ ๆ ว่าตอนนี้สาย dev ฝั่ง windows ไปไกลถึงไหนแล้วครับ ไม่ได้ลงไป dev อะไรเลยหลังจากเปลี่ยน OS ในการทำงานครับ
เพื่อจัดการเชื่อมต่อกับวินโด…
panurat2000 Tue, 20/05/2025 - 17:38
วินโดวสื => วินโดวส์