คุณเป็นคนหนึ่งใช่หรือไม่ที่เคยชินกับชุดคำสั่ง Command line ของ Ubuntu เช่น ls, vi, grep, cat, tail, apt, ssh, scp, sed, awk แต่ก็ยังอยากทำงานเอกสารด้วย Microsoft Office หรือยังอยากเล่นเกมส์มันส์ๆ บน Windows อยู่ (ไม่งั้นจะซื้อการ์ดจอแรงๆ มาทำไมล่ะครัช)
วันนี้เรามีทางออกแล้วด้วย Feature ใหม่ของ Windows 10 นั่นคือ Windows Subsystem For Linux (WSL) ซึ่งเป็น feature ที่ทำให้ผู้ใช้งาน Windows 10 สามารถรัน Ubuntu ได้แบบ Native บน Windows 10 เลยครับ เช่น สามารถ browse ไฟล์ของ Windows ได้ทันที, ใช้ Network Interface ตัวเดียวกับ Windows ( Mac Address และ IP เป็นตัวเดียวกับ Windows), Windows สามารถเห็น process ที่รันโดย Ubuntu และสามารถ kill process เหล่านั้นได้ด้วย
Feature WSL ได้ปล่อยออกมาใช้งานได้ซักระยะหนึ่งแล้วครับ โดยมาพร้อม Windows 10 version 1607 (Anniversary Update) แต่ตอนนั้นมาด้วย Ubuntu version 14.04 ซึ่งเป็น version ที่ค่อนข้างเก่า และยังมี bug อยู่มาก ลงโปรแกรมต่างๆ บน Ubuntu ก็ยังไม่ค่อยได้ แต่เมื่อไม่กี่วันก่อน Windows ได้ปล่อย update Windows 10 version 1703 (Creators Update) ซึ่งมาพร้อม Ubuntu 16.04 และความพร้อมที่มากกว่าเดิมอยู่ในระดับที่สามารถมาใช้ติดตั้ง environment สำหรับ develop โปรแกรมหรือติดตั้งโปรแกรมต่างๆ ได้ สำหรับวิธีการใช้งานสามารถทำได้ดังนี้ครับ
- เตรียมความพร้อม Update Windows
- เปิดใช้งาน WSL
- Upgrade จาก WSL version เก่า
- ปรับแต่ง Terminal
- ใช้งานโปรแกรม Ubuntu ที่มี GUI
เตรียมความพร้อม Update Windows
- ตรวจสอบ Windows Version ปัจจุบัน จะต้องเป็น version 1703 ขึ้นไป โดยสามารถตรวจสอบได้ด้วย คลิ๊กขวาที่ icon windows มุมล่างซ้าย > System > About

- หากเครื่องของท่านยังไม่ได้ update สามารถ download ตัว update ได้ที่ https://www.microsoft.com/en-us/software-download/windows10
เปิดใช้งาน WSL
- เปิดเมนู Settings แล้วเลือก Update & Security > For Developers > ติ๊กเลือก Developer mode

- เปิด Control panel > Programs and Features > Turn Windows features on or off > ติ๊กเลือก Windows Subsystem for Linux (Beta) จากนั้น Reboot เครื่อง

- หลังจาก Boot เครื่องกลับขึ้นมาใหม่แล้วกดปุ่ม Start แล้วพิมพ์ “bash” หรือรันโปรแกรม C:/windows/system32/bash.exe แล้ว Windows จะแสดงหน้าต่าง console บอกว่ากำลังจะ Download&Install Ubuntu ลงในเครื่องของท่าน ให้กด “y” แล้ว enter เพื่อยืนยันการติดตั้ง กระบวนการนี้ใช้เวลาค่อนข้างนานนะครับ

- หลังจากนั้นสามารถใช้ Ubuntu ได้ โดยการกด Start แล้วพิมพ์คำว่า “bash”
- สามารถเข้าถึง Windows Drive ได้จาก Path
/mnt/
Upgrade จาก WSL version เก่า
กรณีท่านที่เคย install WSL ของ Ubuntu version 14.04 มาแล้ว ต้องการ upgrade เป็น Ubuntu version 16.04 สำหรับ Windows version 1703 นี้ สามารถทำได้หลายวิธีแต่ที่แนะนำคือการ Uninstall Ubuntu version เก่าทิ้งและลงตัวใหม่ครับ ซึ่งสามารถทำได้ดังนี้
- เปิด command prompt ด้วยการกดปุ่ม start พิมพ์ cmd
- พิมพ์คำสั่ง
$lxrun /uninstall
หรือหากต้องการลบ Home folder และ Ubuntu Environment เก่าทั้งหมดด้วยคำสั่ง$lxrun /uninstall /full
ปรับแต่ง Terminal
- ผมแนะนำให้เปลี่ยนมาใช้ wsltty เป็น terminal สำหรับเปิด Ubuntu shell ครับ เนื่องจากสามารถปรับแต่งค่าต่างๆ ได้มากกว่า command prompt ปกติของ windows โดยสามารถ Download ได้จาก ที่นี่ แล้ว ติดตั้ง wsl-xxx-install.exe โดยหลังจากติดตั้งแล้วเมื่อเรากด start แล้วพิมพ์ bash จะมีเมนูของ wsltty ขึ้นมาให้เลือกครับ

- สามารถสร้าง Shortcut ให้เปิด wsltty ไว้ที่ context ของ Right Click ได้ โดย Download ไฟล์ config-context-menu.bat จากนั้นเปิด command prompt ของ Windows แล้วรันคำสั่ง
$ config-context-menu.bat add
และสามารถลบออกด้วยคำสั่ง$ config-context-menu.bat remove

- แนะนำให้เปลี่ยน Font เป็น Font Dejavu Sans Mono ครับ เพราะแสดงผลค่อนข้างใกล้เคียงกับ Linux จริงๆ โดยสามารถติดตั้งโดย Download Font ที่นี่ จากนั้นเปิด Control Panel > Fonts จากนั้น Drag & Drop ไฟล์ ttf ลงใน Folder Fonts หลังจากติดตั้ง Font แล้วเปิด wsltty ขึ้นมา คลิ๊กขวาที่ title bar เลือก Options… > Text > Font > Select แล้วเลือก Dejavu Sans Mono

ใช้งานโปรแกรม Ubuntu ที่มี GUI
- ติดตั้งโปรแกรมลงในเครื่อง vcxsrv (Download ที่นี่) โดยโปรแกรม vcxsrv ทำหน้าที่เป็น X11 server สำหรับแสดงผลบนหน้าจอครับ โดยหลังจากติดตั้งแล้วจะมี icon vcxsrv ขึ้นมาที่ Notification Area

- เปิด Ubuntu Bash ขึ้นมาแล้วพิมพ์คำสั่งดังต่อไปนี้
$ echo "export DISPLAY=:0" >> ~/.bashrc
$ sudo apt-get install dbus-x11
$ sudo cp /usr/share/dbus-1/session.conf /etc/dbus-1/
$ sudo sed -i 's$<listen>.*</listen>$<listen>tcp:host=localhost,port=0</listen>$' /etc/dbus-1/session.conf
$ sudo service dbus restart
- จากนั้นทดลองติดตั้งแล้วรันโปรแกรมที่มี GUI เช่น gedit, gitk, หรือ meld เป็นต้น (ระวังการติดตั้งครั้งแรกจะค่อนข้างนานเพราะ Ubuntu ต้อง download X11 library อื่นๆ มาด้วย)

Leave a Reply
คุณต้องเข้าสู่ระบบ เพื่อจะพิมพ์ความเห็น