วิธีติดตั้ง VirtualBox บน Ubuntu

วิธีติดตั้งต่อไปนี้ เกือบทั้งหมดผมเอามาจากเว็บไซต์ต้นฉบับ https://www.virtualbox.org/wiki/Linux_Downloads ผมตัดทอนให้เหลือเฉพาะขั้นตอนการติดตั้งสำหรับ Ubuntu และมีปรับปรุงคำสั่งบ้างในขั้นตอนการเพิ่ม repo ให้ดึงค่า code name จากระบบมาใส่โดยอัตโนมัติ และในส่วนของการติดตั้ง Extension Pack ผมเขียนคำสั่งให้เช็คเวอร์ชั่นของ VirtualBox ในระบบ และติดตั้ง Extension Pack ให้เป็นเวอร์ชั่นเดียวกันกับ VirtualBox

ผมทดสอบด้วยตัวเองแล้วบน Ubuntu 18.04 เวอร์ชั่น 64bit ขั้นตอนการติดตั้งทั้งหมดจะเป็น command-line เพื่อให้ทุกขั้นตอนจบได้ในโปรแกรม Terminal โปรแกรมเดียว

วิธีติดตั้ง VirtualBox

เพิ่ม VirtualBox repo เพื่อให้สามารถติดตั้ง และอัปเดต VirtualBox ผ่านคำสั่ง apt ได้

echo "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list

เพิ่ม key ของ VirtualBox ให้กับ apt

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

อัปเดต apt index และติดตั้ง VirtualBox

sudo apt-get update
sudo apt-get install virtualbox-6.0

วิธีติดตั้ง Extension Pack

หลังจากที่เราติดตั้ง VirtualBox เสร็จแล้ว เราควรติดตั้ง Extension Pack เข้าไปด้วย เพื่อให้สามารถใช้งานฟังก์ชั่นของ VirtualBox ได้อย่างครบถ้วน เช่น ติดตั้งเพื่อให้สามารถใช้งานอุปกรณ์ USB 2.0 และ USB 3.0 บน guest OS ได้ เป็นต้น

ดาวน์โหลด Extension Pack

VBOX_CURRENT_VER=$(VBoxManage -v | cut -d 'r' -f 1)
wget -c -O /tmp/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_CURRENT_VER.vbox-extpack https://download.virtualbox.org/virtualbox/$VBOX_CURRENT_VER/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_CURRENT_VER.vbox-extpack

ติดตั้ง Extension Pack

VBOX_CURRENT_VER=$(VBoxManage -v | cut -d 'r' -f 1)
sudo VBoxManage extpack install --replace /tmp/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_CURRENT_VER.vbox-extpack

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน

วิธีใช้ command-line บน Linux

command-line คืออะไร ?

command-line หรือ command-line interface เขียนย่อๆ ได้ว่า CLI คือ ส่วนติดต่อผู้ใช้แบบพิมพ์คำสั่งทีละบรรทัด โดยผู้ใช้สามารถพิมพ์คำสั่งเพื่อเรียกใช้งานโปรแกรมต่างๆ ได้ และโปรแกรมส่วนใหญ่ก็จะแสดงผลลัพธ์ในรูปแบบของข้อความ (text) ดังรูปด้านล่าง

ตัวอย่างการใช้ command-line ผ่านโปรแกรม Terminal

ทำไมต้องใช้ command-line ?

  • เพราะโปรแกรมบางตัวมีให้ใช้เฉพาะบน command-line เท่านั้น
  • เพราะโปรแกรมแบบ command-line ใช้ทรัพยากรเครื่องน้อยกว่า, ข้อผิดพลาดน้อยกว่า และทำงานได้เร็วกว่าโปรแกรมแบบ GUI เนื่องจากไม่มีภาระในส่วนของการแสดงผลกราฟิก
  • เพราะเครื่องที่จะใช้งานบางเครื่องรองรับเฉพาะการใช้งานผ่าน command-line เท่านั้น เช่น เครื่องที่เป็น Linux Server, เครื่องที่ไม่มีจอภาพ หรือเครื่องที่ต้องรีโมทเข้าใช้งานผ่าน SSH เป็นต้น
  • เพราะเราสามารถนำผลลัพธ์จาก command-line ไปใช้งานต่อได้ง่ายกว่าแบบ GUI
  • เพราะบางครั้งเราก็ไม่จำเป็นต้องเห็นผลลัพธ์เป็นภาพกราฟิก

วิธีเรียกใช้งาน command-line บน Linux

หากคุณใช้ Linux Server ซึ่งโดยปกติจะทำงานอยู่ในโหมดข้อความ (text-mode) คุณจะสามารถใช้งาน command-line ได้ทันทีที่คุณเปิดเครื่อง และเข้าสู่ระบบ

แต่สำหรับคนที่ใช้ Linux Desktop ซึ่งทำงานอยู่ในโหมดกราฟิก (graphical-mode) หากจะใช้งาน command-line สามารถทำได้ 2 วิธี คือ

  1. ใช้งาน command-line ผ่านโปรแกรม Terminal (แนะนำ)
  2. ใช้งาน command-line โดยการสลับไปที่ tty อื่น ซึ่งอยู่ในโหมดข้อความ (text-mode)

วิธีเรียกใช้งานโปรแกรม Terminal (แนะนำ)

โปรแกรม MATE Terminal

วิธีเรียกใช้งานโปรแกรม Terminal ทำได้โดยการคลิกเรียกโปรแกรมจากเมนู วิธีเดียวกับที่เราใช้เรียกโปรแกรมอื่นๆ ในเครื่อง และสำหรับ Linux บางตัว เช่น Ubuntu สามารถเรียกโปรแกรม Terminal ผ่านการกดปุ่มลัด ALT+CTRL+T เป็นต้น

วิธีสลับไปที่ tty อื่น

Linux มักจะมีหลาย tty เช่น Ubuntu มี tty1-7 โดย tty7 จะถูกใช้งานเป็น graphical-mode ส่วน tty1-6 จะเป็น text-mode ที่สามารถใช้งาน command-line ได้ (graphical-mode จะทำงานอยู่ใน tty ไหนก็ได้ แล้วแต่การตั้งค่าของ Linux แต่ละ distro)

การสลับไปมาระหว่าง tty1-7 สามารถทำได้ดังนี

  • กรณีที่คุณอยู่ใน graphical-mode ให้กดปุ่ม CTRL+ALT+Fx (Fx คือ F1 ถึง F7)
  • แต่ถ้าคุณอยู่ใน text-mode ให้กดปุ่ม ALT+Fx (Fx คือ F1 ถึง F7) ก็พอไม่ต้องกด CTRL
  • หรือพิมพ์คำสั่ง sudo chvt x (x คือตัวเลข 1 ถึง 7)

ซึ่งวิธีสลับ tty นี้ แม้แต่ผมเองก็ไม่ค่อยจะได้ใช้สักเท่าไหร่ จะใช้ก็ต่อเมื่อโปรแกรมในโหมดกราฟิคค้างจนใช้งานไม่ได้ และปิดไม่ได้จากในโหมดกราฟิก หรืออยากจะใช้งาน text-mode แบบเต็มหน้าจอเป็นต้น

วิธีพิมพ์คำสั่งลงบน command-line

วิธีพิมพ์คำสั่งบน command-line ผมจะขอยกตัวอย่างเป็น command-line บน Ubuntu ดังนี้

command-line บน Ubuntu จะแสดง prompt เพื่อบอกผู้ใช้ว่าพร้อมรับคำสั่งแล้ว โดย prompt ใน Ubuntu จะประกอบไปด้วย <username>@<hostname>:<working_directory> แล้วปิดท้ายด้วย $ สำหรับ user ทั่วไป หรือปิดท้ายด้วย # สำหรับ root user (ถ้าเป็น Linux distro อื่น หน้าตา prompt อาจแตกต่างออกไป)

  • username คือ ชื่อผู้ใช้
  • hostname คือ ชื่อเครื่อง
  • working_directory คือ ชื่อไดเรคทอรีปัจุบัน จะแสดงเป็นเครื่องหมาย ~ เมื่อเราอยู่ในโฮมไดเรคทอรีของตัวเอง เช่น /home/<your_username> หรือ /root เมื่อชื่อผู้ใช้เป็น root
[email protected]:~$
[email protected]:~#

เมื่อคุณเห็น prompt ที่ปิดท้ายด้วยเครื่องหมาย $ หรือ # คุณก็สามารถพิมพ์คำสั่ง แล้วกดปุ่ม Enter ได้เลย เช่น พิมพ์ pwd แล้วกดปุ่ม Enter เมื่อคำสั่งนั้นๆ ทำงานเสร็จสิ้น ก็จะแสดง prompt ขึ้นมาเพื่อรอรับคำสั่งอีกครั้ง ตามตัวอย่างด้านล่าง

[email protected]:~$ pwd<ENTER>
/home/poundxi
[email protected]:~$

คำสั่งบน Linux สำหรับทดลองใช้งาน command-line

คำสั่งต่อไปนี้ เป็นคำสั่งที่จะช่วยให้คุณเข้าใจภาพรวมการใช้งาน command-line เบื้องต้น เพราะเป็นคำสั่งที่ง่าย ไม่ซับซ้อน เมื่อคุณใช้งาน Linux แบบจริงจัง คุณจะรู้ และจดจำคำสั่งอื่นๆ ได้ด้วยตัวคุณเอง

  • whoami = แสดงชื่อผู้ใช้ปัจจุบัน
  • pwd = แสดงชื่อไดเรคทอรีปัจจุบัน
  • ls = แสดงรายชื่อไฟล์ และไดเรคทอรีที่อยู่ในไดเรคทอรีปัจจุบัน
  • ls -l = แสดงรายชื่อไฟล์ และไดเรคทอรีที่อยู่ในไดเรคทอรีปัจจุบัน (แสดงแบบ 1 รายการ/บรรทัด)
  • cd <directory_name> = ย้ายไปทำงานที่ไดเรคทอรีชื่อ <directory_name>
  • mkdir <directory_name> = สร้างไดเรคทอรีชื่อ <directory_name>
  • touch <filename> = สร้างไฟล์เปล่าชื่อ <filename>
  • echo “sometext” > <filename> = เขียนข้อมูล sometext ลงไปในไฟล์ชื่อ <filename> (เขียนทับ)
  • cat <filename> = แสดง/อ่านข้อมูลที่อยู่ในไฟล์ชื่อ <filename>
  • rm <filename> = ลบไฟล์ชื่อ <filename>
  • rm -r <directory_name> = ลบไดเรคทอรีชื่อ <directory_name>
  • man <command> = อ่านคู่มือการใช้งานคำสั่ง <command> อาจแทนด้วยคำสั่ง ls ชื่ออ่านคู่มือการใช้งานคำสั่ง ls และคุณสามารถออกจากคำสั่ง man ด้วยการกดปุ่ม q

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน

วิธีทำให้ Bash Prompt บน Ubuntu มีสี

ระบบปฏิบัติการ Ubuntu เลือกใช้ bash shell เป็น shell หลัก ซึ่งไม่ว่าคุณจะใช้ command-line จาก terminal, TTY หรือ SSH ก็ตามแต่ bash shell ก็จะถูกเรียกขึ้นมาให้เราใช้งานโดยอัตโนมัติ

ซึ่งค่าเริ่มต้นของ bash shell ใน Ubuntu ตรงส่วนที่เรียกว่า prompt จะไม่มีสี ซึ่งมีเหตุผลเขียนอธิบายไว้ในไฟล์ .bashrc และแปลเป็นไทยได้ว่า “ที่ทำให้ prompt ไม่มีสีเป็นค่าเริ่มต้น เพราะไม่อยากให้สี prompt ไปรบกวนสายตาผู้ใช้ และอยากให้สายตาผู้ใช้โฟกัสไปที่ การเขียนคำสั่ง และผลลัพธ์”

แต่สำหรับผม ผมก็ชอบแบบที่มีสีมากกว่า เพราะว่าเวลามีสี สีจะช่วยให้เราสามารถแยกบรรทัดที่เราพิมพ์คำสั่ง กับบรรทัดที่แสดงผลลัพธ์ได้ชัดเจน และยังช่วยให้มองเห็นรายละเอียดต่างๆ บน prompt ได้ชัดเจน เช่น username, hostname หรือ working directory เป็นต้น

วิธีตั้งค่า

วิธีตั้งค่า prompt ของ bash shell ให้มีสี ทำได้ไม่ยาก แค่เปิดไฟล์ .bashrc ที่อยู่ใน home directory ของเราด้วย text editor ตัวใดก็ได้ (ถ้ามองหาไฟล์ผ่านโปรแกรมดูไฟล์ จะมองไม่เห็นไฟล์นี้ เพราะไฟล์ถูกซ่อนอยู่ ต้องกดปุ่มลัด Ctrl+H เพื่อแสดงรายการไฟล์ที่ซ่อนอยู่เสียก่อนครับ) เลื่อนหาบรรทัดที่เขียนว่า #force_color_prompt=yes แล้วลบเครื่องหมาย # ออก จากนั้นก็บันทึกไฟล์ แล้วปิด/เปิด terminal, TTY หรือ SSH ใหม่ก็จะได้ prompt ที่มีสีให้ใช้งานแล้วครับ

อีกทางเลือกที่ง่ายกว่าคือ พิมพ์คำสั่งต่อไปนี้ลงไปบน terminal ได้เลยครับ จากนั้นก็ปิด/เปิด terminal, TTY หรือ SSH ใหม่เช่นกันครับ

คำสั่งสำหรับแสดงสี prompt ให้ user ทั่วไป

คำสั่งสำหรับแสดงสี prompt ให้ root user


ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน

วิธีเปลี่ยน default terminal ใน Ubuntu MATE

เมื่อเราติดตั้งโปรแกรม terminal ตัวใหม่เพิ่มเข้ามาใน Ubuntu เช่น โปรแกรม terminator บางครั้งเราก็อยากจะใช้โปรแกรม terminal ตัวใหม่นั้นเป็นโปรแกรม terminal ตัวหลัก (default terminal) ซึ่งจะถูกเรียกขึ้นมาโดยการกดปุ่มลัด Alt+Ctrl+T

สำหรับ Ubuntu เวอร์ชั่นอื่นๆ การเปลี่ยน default terminal อาจจะสามารถใช้คำสั่งด้านล่างนี้เพื่อตั้งค่าได้

sudo update-alternatives --config x-terminal-emulator

แต่สำหรับ Ubuntu MATE จะต้องตั้งค่าผ่าน Preferred Applications ดังต่อไปนี้

  1. เปิดโปรแกรม Preferred Applications (ตำแหน่ง shortcut จะแตกต่างกันไปตามรูปแบบของ panel ที่ตั้งค่าไว้)

2. คลิกแท็บ System แล้วเลือกโปรแกรม terminal ที่ต้องการให้เป็นตัวหลักในหมวดหมู่ Terminal Emulator จากนั้นกดปุ่ม Close เพื่อปิดหน้าต่างเป็นอันเสร็จสิ้นขั้นตอน


แบ่งปันสิ่งนี้บน

อธิบายคำสั่ง chmod บน Linux

chmod เป็นคำสั่งบน Linux ที่ใช้สำหรับกำหนดสิทธิ์ read, write หรือ execute ให้กับ file หรือ directory ว่าจะให้มีสิทธิ์ใช้งานแบบไหน และใช้งานโดยใครได้บ้าง

หลายๆ ท่านอาจจะเคยเจอคำสั่ง chmod 644, chmod 755 หรือ chmod 777 อะไรทำนองนี้ วันนี้เรามาดูกันครับ ว่ามันมีความหมายอย่างไร

เริ่มกันที่คำสั่ง ls -l

ก่อนจะพูดถึงคำสั่งที่ใช้สำหรับกำหนดสิทธิ์ เรามาดูกันที่คำสั่งสำหรับแสดงสิทธิ์กันก่อนครับ โดยคำสั่งที่เราจะใช้คือ คำสั่ง ls -l ที่จะช่วยให้คุณทราบว่า file หรือ directory นั้นใครเป็นเจ้าของ และ file หรือ directory นั้นถูกกำหนดสิทธิ์ไว้อย่างไร โดยผลลัพธ์ของคำสั่ง ls -l จะหน้าตาเป็นแบบนี้ครับ

-rwxrwx— 1 user group 1293 Jun 3 20:34 file_name

drw-rw-rw- 1 user group 4096 Jun 3 20:34 dir_name

ซึ่งผลลัพธ์ที่ว่านี้จะบอกเราว่ารายการไหนเป็น file หรือ directory, มีสิทธิ์ read, write หรือ execute โดย user และ group ไหนบ้าง, file มีขนาดเท่าไหร่, ถูกแก้ไขล่าสุดตอนไหน, file หรือ directory นั้นมีชื่อว่าอะไร ซึ่งผลลัพธ์แต่ละ column มีความหมายดังนี้

column1 บอกว่าเป็น file (-) หรือ directory (d) พร้อมทั้งบอกสิทธิ์การ read, write และ execute

column2 แสดงจำนวน hard link ของไฟล์ หรือ แสดงจำนวน subdirectory

column3 แสดงชื่อ user ที่เป็นเจ้าของ file หรือ directory

column4 แสดงชื่อ group ที่เป็นเจ้าของ file หรือ directory

column5 แสดงขนาดของ file มีหน่วยเป็น byte หรือหากเป็น directory จะแสดงเป็น 4096

column6 แสดงวันที่ และเวลาที่แก้ไขล่าสุด

column7 แสดงชื่อของ file หรือ directory

ซึ่งในบทความนี้เราจะให้ความสนใจไปที่ column 1, 3 และ 4 ครับ

อธิบาย Column1 -rwxrwxrwx

-rwxrwxrwx จะแบ่งออกได้เป็น 4 ส่วนดังนี้

– | rwx | rwx | rwx

ส่วนที่1 บอกกว่าเป็น file หรือ directory โดยจะแสดง เมื่อเป็น file และจะแสดง d เมื่อเป็น directory

ส่วนที่2 บอกสิทธิ์การ read, write และ execute ของ user ที่เป็นเจ้าของ file/directory

ส่วนที่3 บอกสิทธิ์การ read, write และ execute ของ group ที่เป็นเจ้าของ file/directory

ส่วนที่3 บอกสิทธิ์การ read, write และ execute ของ other หรือ user อื่นๆ ที่ไม่ใช่เจ้าของ file/directory และไม่ได้อยู่ใน group

ตัวอย่าง และความหมาย

-rwx—— แบ่งเป็น -|rwx|—|—

  • – = เป็น file
  • rwx = user สามารถ read write execute ได้
  • — = group ไม่สามารถ read write execute ได้
  • — = other ไม่สามารถ read write execute ได้

-rw-rw—- แบ่งเป็น -|rw-|rw-|—

  • – = เป็น file
  • rw- = user สามารถ read write ได้, แต่ไม่สามารถ execute
  • rw- = group สามารถ read write ได้, แต่ไม่สามารถ execute
  • — = other ไม่สามารถ read write execute ได้

-rwxrwxr-x แบ่งเป็น -|rwx|rwx|r-x

  • – = เป็น file
  • rwx = user สามารถ read write execute ได้
  • rwx = group สามารถ read write execute ได้
  • r-x = other สามารถ read execute ได้, แต่ไม่สามารถ write

drw-rw-r– แบ่งเป็น d|rw-|rw-|r–

  • d = เป็น directory
  • rw- = user สามารถ read write ได้, แต่ไม่สามารถ execute
  • rw- = group สามารถ read write ได้, แต่ไม่สามารถ execute
  • r– = other สามารถ read ได้, แต่ไม่สามารถ write และ execute

drwxrwxr-x แบ่งเป็น d|rwx|rwx|r-x

  • d = เป็น directory
  • rwx = user สามารถ read write execute ได้
  • rwx = group สามารถ read write execute ได้
  • r-x = other สามารถ read execute ได้, แต่ไม่สามารถ write

ความเกี่ยวข้องของ rwxrwxrwx และ ตัวเลข 644 755 777 ฯลฯ

หลังจากที่เราเข้าใจกันไปแล้วว่า rwxrwxrwx เราสามารถแบ่งได้เป็นสิทธ์ของ user, group และ other ซึ่งนับได้ 3 กลุ่ม ซึ่งเท่ากับจำนวนตัวเลขของเราที่มี 3 ตัวพอดีครับ นั่นคือตัวเลขแต่ละตัว บ่งบอกสิทธิ์ของแต่ละกลุ่มนั่นเอง

วิธีการแปลง rwxrwxrwx เป็นตัวเลข

เราจะแทนค่า rwx ด้วยตัวเลขดังนี้ r=4, w=2, x=1, -=0 เช่น

rwx——

=[rwx][—][—]

=[4+2+1][0+0+0][0+0+0]

=700

-rw-rw—-

=[rw-][rw-][—]

=[4+2+0][4+2+0][0+0+0]

=660

rwxrwxr-x

=[rwx][rwx][r-x]

=[4+2+1][4+2+1][4+0+1]

=775

rw-rw-r–

=[rw-][rw-][r–]

=[4+2+0][4+2+0][4+0+0]

=664

การใช้คำสั่ง chmod

หนึ่งในรูปแบบการใช้คำสั่ง chmod ที่เราคุ้นเคยกัน ได้แก่ การใช้คำสั่ง chmod ที่ตามด้วยตัวเลข 3 ตัว เช่น

chmod <octal_digits> file_or_directory_name

หรือใช้สัญลักษณ์ user, group, other, read, write, execute ดังนี้ก็สะดวกดีครับ

chmod u=rwx,g=rwx,o=rwx file_or_directory_name

ตัวอย่าง

ตัวอย่างที่ 1. กำหนดให้ทุก user สามารถ read, write, execute ได้

chmod 777 file_or_directory_name

หรือ

chmod ugo=rwx file_or_directory_name

ตัวอย่างที่ 2. กำหนดให้ user ที่เป็นเจ้าของ และ user ที่อยู่ใน group สามารถ read, write, execute ได้ ส่วน user อื่นๆ กำหนดให้ไม่มีสิทธิ์ใดๆ

chmod 770 file_or_directory_name

หรือ

chmod ug=rwx,o= file_or_directory_name

ตัวอย่างที่ 3. กำหนดให้ user ที่เป็นเจ้าของสามารถ read, write, execute ได้ ส่วน user ใน group สามารถ read, execute ได้ ส่วน user อื่นๆ กำหนดให้ไม่มีสิทธิ์ใดๆ

chmod 750 file_or_directory_name

หรือ

chmod u=rwx,g=rx,o= file_or_directory_name

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน

วิธีดาวน์โหลดและติดตั้ง Arduino IDE บน Ubuntu

ขั้นตอนการดาวน์โหลด

1. เข้าไปยังเว็บไซต์หลักของ Arduino เพื่อดาวน์โหลด Arduino IDE โดยคลิกที่นี่ https://www.arduino.cc/en/main/software

2. เมื่อเข้าเว็บไซต์มาแล้ว ให้คลิกดาวน์โหลดที่ Linux 32 bits หรือ Linux 64 bits อย่างใดอย่างหนึ่ง (ขึ้นอยู่กับเวอร์ชั่น Ubuntu ของคุณเป็นแบบ 32 bits หรือ 64 bits)

3.หลังจากที่คุณคลิกดาวน์โหลดแล้ว หน้าเว็บไซต์จะเปลี่ยนไปเป็นหน้า Donate (บริจาค) และจะมี 2 ปุ่มให้คุณเลือกคลิกครับ

  1. ปุ่ม JUST DOWNLOAD คือ ดาวน์โหลดอย่างเดียว
  2. ปุ่ม CONTRIBUTE & DOWNLOAD คือ บริจาคเงินจากนั้นค่อยดาวน์โหลด

ซึ่งตรงนี้คุณจะเลือกคลิกที่ JUST DOWNLOAD หรือ CONTRIBUTE & DOWNLOAD ก็แล้วแต่คุณครับ คลิกปุ่มใดปุ่มหนึ่งได้เลย

จากนั้นก็เบราเซอร์ของคุณก็จะเริ่มดาวน์โหลด และหากเบราเซอร์ของคุณไม่ถามว่าจะให้บันทึกไฟล์ไว้ที่ไหน ไฟล์ก็มักจะถูกบันทึกไว้ที่ไดเรคทอรี่ชื่อว่า Downloads ครับ

ขั้นตอนการติดตั้ง

เมื่อคุณดาวน์โหลดไฟล์เสร็จแล้ว คุณจะได้ไฟล์ชื่อว่า arduino-version-linux32.tar.xz หรือ arduino-version-linux64.tar.xz ซึ่งเป็นไฟล์ที่ถูกบีบอัดไว้ คุณต้องแยกไฟล์ออกมา โดยกดปุ่มลัดบนคีบอร์ด Alt + Ctrl + T เพื่อเรียกโปรแกรม Terminal ขึ้นมา และพิมพ์คำสั่งดังต่อไปนี้ลงไปครับ

1. สร้างไดเรคทอรี่ชื่อ bin ไว้ในไดเรคทอรี่ home สำหรับเก็บไฟล์โปรแกรม Arduino IDE

mkdir ~/bin

2. แยกไฟล์ arduino-version-linux.tar.xz ไปไว้ที่ไดเรคทอรี่ bin

แก้ your-download-path เป็นชื่อไดเรคทอรี่ที่คุณดาวน์โหลดไฟล์เก็บเอาไว้ เช่น Downloads

แก้ arduino-version-linux.tar.xz เป็นชื่อไฟล์ที่คุณดาวน์โหลดมา เช่น arduino-1.8.5-linux64.tar.xz

tar -xJf ~/your-download-path/arduino-version-linux.tar.xz -C ~/bin

3. เพิ่มไอคอน Arduino IDE ไปยังเมนูของระบบ

แก้ arduino-version ให้ตรงกับเวอร์ชั่นของ Arduino IDE ที่คุณดาวน์โหลดมา เช่น arduino-1.8.5

~/bin/arduino-version/install.sh

การเรียกโปรแกรม Arduino IDE ขึ้นมาใช้งาน

คุณสามารถเรียกโปรแกรม Arduino IDE ขึ้นมาด้วย 2 วิธีครับ

วิธีที่1 คลิกไอคอนโปรแกรม Arduino IDE จากเมนูของระบบครับ

วิธีที่2 เรียกผ่าน command-line บนโปรแกรม Terminal ด้วยคำสั่งนี้ครับ

~/bin/arduino-version/arduino

วิธีแก้ไขเมื่อเจอ error: cannot access /dev/ttyUSB0

เมื่อคุณพยายามอัปโหลดโปรแกรมลงบอร์ด คุณบางคนอาจจะเจอปัญหาเกี่ยวกับ USB permission (การอนุญาตให้อ่านเขียน USB) แบบรูปด้านล่าง

ถ้าหากคุณลองพิมพ์คำสั่ง ls -l /dev/ttyUSB* คุณก็จะเห็นว่าสิทธิ์การใช้งาน USB คืออนุญาตให้ผู้ใช้ root และผู้ใช้ที่อยู่ในกลุ่ม dialout เท่านั้นที่สามารถอ่านเขียน USB ได้

crwrw—- 1 root dialout 188, 0 พ.ค. 8 14:33 /dev/ttyUSB0

วิธีแก้ไขก็แค่เพิ่มผู้ใช้ของลงไปในกลุ่ม dialout เท่านั้นเองครับ โดยใช้คำสั่งต่อไปนี้

sudo usermod -aG dialout $USER

หลังจากพิมพ์คำสั่งข้างบนแล้วให้ logout และ login ใหม่อีกครั้งครับ

หมายเหตุ: บางบอร์ด path จะไม่ใช่ /dev/ttyUSBx แต่จะเป็น /dev/ttyACMx แทนครับ (x คือตัวเลข)

หมายเหตุ2: บางบอร์ดจำเป็นต้องติดตั้ง Driverก่อน เช่น บอร์ดที่ใช้ชิพ USB to Serial CH340/CH340G

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน

Ubuntu flavours 18.04 LTS ตัวไหนใช้ CPU และ RAM เท่าไหร่กันบ้างนะ

หลังจากที่ Ubuntu 18.04 LTS (รวมทั้ง Ubuntu flavours ได้แก่ Lubuntu, Ubuntu Budgie, Ubuntu MATE และ Xubuntu) ปล่อยตัว Final Release ออกมาให้ดาวน์โหลดกันเมื่อประมาณ วันที่ 27 เมษายน 2018 หลายๆ ท่านก็คงวางแผนที่จะอัปเกรด Ubuntu ของตัวเองกันพร้อมหน้าแล้วครับ ใครที่สเปคคอมฯ สูงหน่อยอาจจะไม่ต้องคิดอะไรมาก อยากจะลงเวอร์ชั่นไหนก็น่าจะลงได้ แต่หากใครใช้คอมฯ เก่าๆ หรือคอมฯ สเปคต่ำๆ แบบผม อาจจะต้องมาพิจารณาสเปคของเครื่องตัวเองกันสักเล็กน้อย ว่าลง Ubuntu แท้ๆ ไหวมั้ย ถ้าไม่ไหวจะพิจารณาเป็น Ubuntu flavours ไหนดี

ทำไมต้องสนใจว่า Ubuntu flavours ไหนใช้ CPU และ RAM เท่าไหร่ ?

เหมือนกับที่เกริ่นไว้ตอนต้นครับ หากใครใช้คอมฯ สเปคสูงๆ ก็ลืมเรื่องทรัพยากรที่ต้องใช้ไปได้เลย แต่หากใครใช้คอมฯ สเปคต่ำๆ แบบผม เช่น ของผมเป็น Notebook สเปคอยู่ที่ [email protected] + RAM=DDR3L [email protected] ถ้าจะให้ไปลง Ubuntu แท้ๆ เลย คอมฯ ของผมก็คงจะทำงานช้าเอาเรื่องครับ

สำหรับคอมฯ สเปคต่ำการประหยัดทรัพยากรของเครื่องให้สามารถใช้ประโยชน์ได้สูงสุดสำหรับผมถือว่าเป็นสิ่งที่สมควรทำ เช่น

  • ถ้าเราเลือก flavour ที่ใช้ CPU น้อยๆ แปลว่า คอมฯ เราจะสามารถใช้โปรแกรมที่ต้องประมวลผลเยอะๆ ได้พร้อมกันหลายโปรแกรมมากขึ้น โดยที่โปรแกรมนั้นไม่ได้ทำงานช้าลง หรือโอกาศที่จะทำงานช้าลงมีน้อยขึ้น
  • ถ้าเราเลือก flavour ที่ใช้ RAM น้อยๆ แปลว่า คอมฯ เราจะสามารถเปิดโปรแกรมหลายๆ โปรแกรมพร้อมกันได้มากขึ้น และลดไปปัญหาคอมฯ ช้าจาก RAM ไม่พอใช้ ทำให้ระบบ Swap Partition แทน ซึ่งจะทำให้คอมฯ ทำงานช้าลงมากๆ หรือบางทีอาจจะทำให้คอมฯ ค้างไปเลยก็มี

เลือก Ubuntu flavours จากแค่ CPU และ RAM เพียงพอจริงหรือ ?

จริงๆ แล้วการเลือก Ubuntu flavours จากการใช้ทรัพยากร CPU และ RAM ที่มากหรือน้อยนั้น ยังไม่เพียงพอต่อการใช้ตัดสินใจหรอกครับ บางคนสเปคเครื่องเหลือๆ อาจจะเลือกจากรูปแบบการใช้งานที่น่าใช้, ความสวยงาม หรือ คุณสมบัติเฉพาะที่ตอบโจทย์ของคนๆ นั้นครับ

การพิจารณาการใช้ทรัพยากร CPU และ RAM เป็นเพียงข้อมูลส่วนหนึ่งที่ช่วยในการสนับสนุนการตัดสินใจเท่านั้นครับ

ข้อมูล CPU และ RAM ที่ถูกใช้ไปโดยระบบในแต่ละ Ubuntu flavours

ผลลัพธ์ต่อไปนี้ผมทดสอบบน VirtualBox ที่ผมจัดสเปคให้กับ Virtual Machine ดังนี้ครับ

CPU=1 Processor ([email protected])

RAM=2GB

Type=Linux

Version=Ubuntu (64-bit)

ผลการใช้ทรัพยากร CPU และ RAM ด้านล่างนี้ เปิดดูจาก System Monitor หรือ Task Manager ในขณะที่ไม่ได้เปิดโปรแกรมอื่นๆ ขึ้นมาใช้งานเลยครับ (ทดลองใช้งานในโหมด Live DVD บน VirtualBox)

Name (CPU% / RAM)

Ubuntu (19% / 1.2 GB)

Ubuntu Budgie (17% / 888MB)

Ubuntu Mate ( 3% / 848MB)

Kubuntu ( 4% / 374MB)

Xubuntu (3% / 365MB)

Lubuntu (1% / 216MB)

สรุป

  • หากเรียงข้อมูลการใช้ทรัพยากรที่สิ้นเปลืองจากมากไปหาน้อยจะได้ข้อมูลตามนี้ครับ Ubuntu > Ubuntu Budgie > Ubuntu Mate > Kubuntu > Xubuntu > Lubuntu
    • คอมฯ สเปคสูง จะใช้ตัวไหนก็แล้วแต่ชอบเลยครับ
    • คอมฯ สเปคกลาง ควรจะพิจารณาตั้งแต่ Kubuntu, Xubuntu หรือ Lubuntu ครับ
    • คอมฯ สเปคต่ำ เหลือตัวเลือกเดียว คือ Lubuntu ครับ
  • หาก CPU ถูกใช้โดยระบบไปเยอะ โปรแกรมที่ต้องใช้ CPU ในการประมวลผลเยอะๆ ความเร็วของโปรแกรมนั้นก็จะลดลงไป ซึ่งโดยปกติผมว่าข้อนี้ไม่ค่อยเป็นปัญหาสำหรับการใช้งานทั่วไปครับ
  • หาก RAM ถูกใช้โดยระบบไปเยอะ เราก็จะเหลือ RAM ให้โปรแกรมอื่นๆ ใช้งานน้อยลง ระบบก็จะไปหยิบ Swap Partition มาใช้งานแทน (Swap คือการจับ Hard Disk มาทำ RAM ทดแทน ซึ่งทำให้คอมฯ ทำงานช้าลงมากๆ เว้นแต่คุณจะใช้ SSD ซึ่งอาจทำให้ช้าลงแต่ไม่มากเท่า Hard Disk) ซึ่งจากประสบการณ์ผมว่า Web Browser เนี่ยแหละ ที่ใช้ RAM สิ้นเปลืองที่สุดครับ หากเป็นไปได้ใครที่ RAM ไม่ถึง 8GB ให้อัปเกรดเถอะครับ
  • หากเครื่องคุณมีการ์ดจอแยก การ์ดจอแยกอาจช่วยลดภาระที่ CPU ต้องประมวลผลในส่วนของกราฟิกลงไปได้ครับ
  • สุดท้าย การที่จะเลือกใช้ Ubuntu flavours ไหน วิธีการที่ดีที่สุด คือ ทดลองใช้งานด้วยตัวคุณเองครับ ว่ามันตอบโจทย์คุณหรือไม่ครับ

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน

Linux คืออะไร ?

Linux อ่านว่า ลินุกซ์ มีความหมายที่ถูกเข้าใจกันโดยทั่วไปได้ 2 ความหมาย คือ

  1. ลินุกซ์ ซึ่งหมายถึง ระบบปฏิบัติการลินุกซ์ (Linux Operating System)
  2. ลินุกซ์ ซึ่งหมายถึง ลินุกซ์ เคอร์เนิล (Linux Kernel)
Tux.svg
มาสคอต อย่างเป็นทางการของ Linux Kernel ชื่อว่า Tux

เริ่มแรกลินุกซ์ถูกสร้างขึ้นโดย Linus Torvalds โดยใช้ระบบปฏิบัติการ MINIX ซึ่งเป็นระบบปฏิบัติการแบบยูนิกซ์เป็นต้นแบบ โดย Linus Torvalds ไม่ได้พัฒนาลินุกซ์ให้เป็นระบบปฏิบัติการ แต่พัฒนาให้ลินุกซ์เป็นเพียงเคอร์เนิล (Kernel) หรือแก่นของระบบปฏิบัติการ ซึ่งจะเป็นส่วนที่อยู่ระดับล่างสุด และใกล้ชิดกับฮาร์ดแวร์มากที่สุด มีหน้าที่หลักในการติดต่อกับฮาร์ดแวร์ (Hardware) และจัดสรรทรัพยากรของระบบ (Resources Management) เท่านั้น ซึ่งยังไม่เพียงพอต่อการถูกนำไปใช้งานโดยผู้ใช้ทั่วไป

Kernel_Layout.svg
By Bobbo (Own work) [CC BY-SA 3.0 or GFDL], via Wikimedia Commons

ในช่วงเวลาใกล้ๆ กัน Richard Stallman ก็ได้พยายามสร้างระบบปฏิบัติการที่เข้ากันได้กับระบบปฏิบัติการยูนิกซ์ ซึ่งระบบปฏิบัติการนี้ประกอบไปด้วยไลบรารี่, คอมไพเลอร์, โปรแกรมแก้ไขข้อความ, เชลล์ และ Windowing System จะเหลือก็แต่ส่วนที่เป็นเคอร์เนิลซึ่งยังพัฒนาออกมาได้ไม่สมบูรณ์ Richard Stallman จึงได้เอาลินุกซ์ เคอร์เนิลที่พัฒนาโดย Linus Torvalds มาใช้แทน จนทำให้ลินุกซ์ถูกเรียกได้ว่าเป็นระบบปฏิบัติการในที่สุด

Linux Distribution คืออะไร ?

Linux Distribution (อ่านว่า ลินุกซ์ดิสทริบิวชัน) หรือเรียกย่อๆ ว่า Linux Distro (อ่านว่า ลินุกซ์ดิสโทร) คือ ระบบปฏิบัติการลินุกซ์ที่ถูกออกแบบและปรับแต่งเพื่อการแจกจ่าย โดยการนำเอาระบบปฏิบัติการลินุกซ์มาปรับแต่งและเพิ่มซอฟต์แวร์พื้นฐานต่างๆ รวมเข้าไป เช่น เพิ่มส่วนติดต่อผู้ใช้, โปรแกรมจัดการไฟล์, โปรแกรมสำหรับดูหนัง-ฟังเพลง, โปรแกรมเว็บเบราว์เซอร์ เป็นต้น สรุปง่ายๆ ก็คือ ลินุกซ์ดิสโทรเป็นระบบปฏิบัติการลินุกซ์แบบสำเร็จรูป พร้อมใช้งาน เมื่อติดตั้งแล้วแทบจะไม่ต้องปรับแต่งหรือติดตั้งซอฟต์แวร์เพิ่มเลย ใช้งานได้ทันที เช่น Arch Linux, Debian, Ubuntu, Linux Mint, openSUSE, Red Hat และ Fedora เป็นต้น

ระบบปฏิบัติการ Ubuntu 18.04 LTS
ระบบปฏิบัติการ Ubuntu 18.04 LTS

ข้อดีของระบบปฏิบัติการลินุกซ์

  1. เป็นซอฟต์แวร์โอเพนซอร์ส ทำให้เราสามารถปรับแต่งระบบได้อย่างอิสระ
  2. ระบบปฏิบัติการลินุกซ์ส่วนใหญ่ อนุญาตให้คุณใช้งานได้ฟรี ไม่ต้องเสียค่าใช้จ่าย ทำให้ผู้ผลิตฮาร์ดแวร์ที่จำเป็นต้องมีระบบปฏิบัติการส่วนใหญ่นำลินุกซ์ไปใช้ในระบบ เพราะไม่ต้องจ่ายค่าลิขสิทธิ์เพิ่มเติม เช่น เราเตอร์, โทรศัพท์มือถือ, ระบบเครื่องเสียงในรถยนต์ หรือ อุปกรณ์อื่นๆ ที่ใช้ระบบปฏิบัติการ Android เป็นต้น
  3. ไม่ต้องกังวลเรื่องลิขสิทธิ์ เพราะเขาอนุญาตให้คุณใช้งานฟรีภายใต้เงื่อนไขที่ระบุไว้ในสัญญาอนุญาต
  4. ไวรัสคอมพิวเตอร์ส่วนใหญ่ ไม่สามารถทำงานบนระบบปฏิบัติการลินุกซ์ได้ เพราะมาตรการการรักษาความปลอดภัยของลินุกซ์เอง (เช่น ระบบสิทธิ์การใช้งานไฟล์) และเพราะลินุกซ์ยังมีปริมาณผู้ใช้งานที่น้อยมากเมื่อเทียบกับผู้ใช้งานระบบปฏิบัติการวินโดวส์ จนผู้พัฒนาไวรัสคิดว่ายังไม่คุ้มค่าที่จะมาสร้างไวรัสขึ้นมาเพื่อโจมตีผู้ใช้งานลินุกซ์ (คล้ายๆ กับความคิดที่ว่า จะตกปลาก็ตกในบ่อที่มีปลาเยอะๆ หน่อยย่อมให้ผลที่ดีกว่า ใช้เวลาตกปลาเท่ากันแต่จำนวนที่ตกได้ย่อมต่างกัน)
  5. ซอฟต์แวร์บนระบบปฏิบัติการลินุกซ์ส่วนมากได้รับการอัปเดตอยู่ตลอดเวลา ทำให้มั่นใจได้ในเสถียรภาพ ความสามารถ และความปลอดภัย

ข้อเสียของระบบปฏิบัติการลินุกซ์

  • ผู้ผลิตฮาร์ดแวร์ เช่น การ์ดจอ, printer, USB WiFi ไม่ค่อยให้ความสนใจกับไดรเวอร์อุปกรณ์ (device driver) บนลินุกซ์ ทำให้ฮาร์ดแวร์บางตัวไม่สามารถใช้งานได้กับลินุกซ์ หรือถ้าใช้งานได้ก็ไม่เต็มประสิทธิภาพเท่าที่ควร ดังนั้นหากคิดจะใช้ลินุกซ์ควรตรวจสอบให้แน่ใจก่อนว่าฮาร์ดแวร์นั้นๆ สามารถใช้ได้กับลินุกซ์หรือไม่ ถึงแม้ว่าปัจจุบันปัญหาเรื่องไดรเวอร์บนลินุกซ์จะลดลงแล้วก็ตาม
  • ไม่สามารถติดตั้งและใช้งานซอฟต์แวร์หลายๆ ตัวที่ถูกสร้างขึ้นมาสำหรับระบบปฏิบัติการวินโดวส์โดยเฉพาะได้ ดังนั้นหากจะเปลี่ยนมาใช้ลินุกซ์ควรตรวจสอบให้แน่ใจก่อนว่าซอฟต์แวร์ที่จำเป็น ต้องใช้นั้น สามารถใช้ได้บนลินุกซ์หรือไม่ หากซอฟต์แวร์ตัวนั้นใช้งานบนลินุกซ์ไม่ได้ ยังพอมีซอฟต์แวร์ตัวอื่นทดแทนได้ไหม
  • เกมบนระบบปฏิบัติการลินุกซ์ค่อนข้างน้อยเมื่อเทียบกับเกมบนระบบปฏิบัติการวินโดวส์ และหลายๆ เกมกราฟิกไม่สวยเอามากๆ ดังนั้นลินุกซ์จึงเป็นตัวเลือกที่ไม่ดีนักสำหรับผู้ที่ชื่นชอบการเล่นเกม เป็นชีวิตจิตใจ

หมายเหตุ : ลินุกซ์สามารถใช้งานซอฟต์แวร์ของระบบปฏิบัติการวินโดวส์ได้โดยเรียกใช้งานผ่านโปรแกรม Wine (ใช้ได้บางโปรแกรม) หรือ ติดตั้งซอฟต์แวร์ลงบนระบบปฏิบัติการวินโดวส์ที่ถูกติดตั้งไว้บน Virtual Machine เช่น VirtualBox หรือ VMware อีกที (ซึ่งต้องใช้ทรัพยากรของระบบมากพอตัว แน่นอน.. คอมพิวเตอร์เก่าๆ คงหมดสิทธิ์ !)

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน