Tag Archive WSL

Byphunsanit

WSL: ติดตั้ง firefox

ต้องการติดตั้ง firefox ไว้เทสงานโดยเฉพาะ เลยติดตั้งใน wsl (Windows Subsystem for Linux)

sudo snap remove firefox
sudo apt remove firefox
sudo add-apt-repository ppa:mozillateam/ppa

# สร้างไฟล์ใหม่ว่าง ๆ
sudo nano /etc/apt/preferences.d/mozillateamppa

# ใส่เนื้อหา
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501

# save file แล้ว
sudo apt update
sudo apt install firefox #หรือ firefox-esr

เรียกใช้โดยคำสั่ง firefox มันจะเปิดขึ้นมาแบบเป็น gui สวยงามเหมือนที่อยู่ในลินุกซ์แท้ ๆ เลย แต่ถ้าลองเปิดเว็บไทยแล้วอ่านไม่ออกให้ติดตั้งฟอนต์ไทยก่อน ตามวิธี Linux: ติดตั้งฟอนต์ภาษาไทย

Cr. How do I install Firefox in WSL, when it requires snap, but snap doesn’t work?

Byphunsanit

WSL: ปิดการทำงาน

เพราะว่าไม่ได้ใช้งาน wsl ตลอดเวลา การจะเปิดให้มันทำงานไว้ ก็จะหนักเครื่องเปล่า ๆ ไม่ใช้ก็ “ปิด” ซิครับ

  1. เปิดตัว command prompt / dos / Windows Terminal / Window PowerShell ที่มีอยู่
  2. หารายชื่อตัว wsl ที่กำลังทำงานอยู่โดยใช้
    wsl.exe --list --running
  3. จะเห็นรายชื่อที่ทำงานอยู่เช่น Ubuntu (Default)
  4. ปิดการทำงานโดยคำสั่ง
    wsl --terminate <DistributionName>
    เช่น
    wsl –terminate ubuntu

Cr. Terminate Running WSL Linux Distro in Windows 10

Byphunsanit

WSL: mount linux disk

วิธีทำให้ WSL: Windows Subsystem for Linux มองเห็น hard disk ที่สร้างไว้เป็น Linux partition และสามารถใช้ได้เหมือนกับว่าเป็น disk ของตัว windows เอง

  1. เริ่มจาก list hard disk โดยใช้ Windows PowerShell as an Administrator

    GET-CimInstance -query “SELECT * from Win32_DiskDrive”

    จะเห็นรายชื่อ hard disk ที่มีอยู่ในเครื่อง เช่น \\.\PHYSICALDRIVE1 WD My Book 25EE USB Device 1 0659787734 WD My Book 25EE USB Device . ให้ดูที่ DeviceID ในบรรทัดนี้คือ \\.\PHYSICALDRIVE1 คือ <DiskPath> ที่จะนำมาใช้ อ้างอิง
  2. mount disk โดยรูปแบบ wsl –mount <DiskPath> เช่น

    wsl –mount \\.\PHYSICALDRIVE1 –bare

    บางครั้ง จะมี error
    The disk ‘\\.\PHYSICALDRIVE1‘ is already attached.
    Error code: Wsl/Service/AttachDisk/WSL_E_DISK_ALREADY_ATTACHED
    เกิดจาการที่ hard disk ลูกนี้เคย mount เอาไว้แล้ว
  3. ทดลอง list hard disk และ partition ใน Linux command ( Ubuntu )

    lsblk

    จะเห็น partition name เช่น sda, sdb, sdc, sdd
  4. mount partition แรก โดยคำสั่ง

    wsl –mount \\.\PHYSICALDRIVE1 –partition 1

    จะมีข้อความตอบกลับมาเช่น

    The disk was successfully mounted as ‘/mnt/wsl/PHYSICALDRIVE1p1‘.
    Note: The location will be different if you have modified the automount.root setting in /etc/wsl.conf.
    To unmount and detach the disk, run ‘wsl.exe –unmount \\.\PHYSICALDRIVE1’.
  5. เข้าไปดู ไปใช้ไฟล์ได้ใน \wsl.localhost\Ubuntu\mnt\wsl\PHYSICALDRIVE1p1 ถ้า wsl ของเราชื่อ Ubuntu และ path ที่ mount ไว้คือ /mnt/wsl/PHYSICALDRIVE1p1
  6. เมื่อใช้เสร็จแล้ว ควรเอาออกไปโดยใช้คำสั่ง wsl –unmount <DiskPath> เช่น

    wsl –unmount \\.\PHYSICALDRIVE1

ในครั้งต่อไป ถ้าทราบ แล้ว สามารถเริ่มที่ ขั้นตอนที่ 4 ได้เลยครับ หรือถ้าใช้บ่อย ๆ ก็ระบุชื่อโดยใช้

wsl –mount –name myDisk
* ใช่ – – สองตัวทุกจุดนะครับ ไม่ใช่ – เดียว
อ่านเพิ่มเติม

Byphunsanit

WSL: mkdir สร้าง windows folder ใหม่

วิธีสร้าง folder ใหม่โดยปกติจะมีรูปแบบ mkdir { folder path } ใน wsl สามารถสร้าง folder ในวินโดว์ได้โดยใช้รูปแบบ sudo mkdir /mnt/{ drive letter }/{ folder path } เช่น จะสร้าง C:\UsersDatas\var\www\prototypes_laravel จะใช้ จะใช้ command
sudo mkdir /mnt/c/UsersDatas/var/www/prototypes_laravel
แต่ถ้าหากไม่มี folder C:\UsersDatas\var\www มาก่อนจะมี error แสดง
mkdir: cannot create directory ‘/mnt/c/UsersDatas/var/www/prototypes_laravel’: No such file or directory
แก้ได้โดยใช้ parameter -p เช่น

sudo mkdir -p /mnt/c/UsersDatas/var/www/prototypes_laravel

ก็จะสร้าง C:\UsersDatas\var\www\prototypes_laravel ตามที่ต้องการ

อ่านเพิ่มเติม WSL: Creating links shortcut