มีคนถามเข้ามาเรื่อง Arduino IDE บน Ubuntu ผมก็สงสัยว่า IDE ก็มีอยู่ให้ดาวน์โหลดที่เว็บ arduino.cc พอเข้าเว็บไปดูอีกรอบก็ถึงทราบว่าเป็น zip ไฟล์นี่เอง เข้าใจว่าไม่รู้ว่าจะเปิดไฟล์ไหนยังไงล่ะมั๊ง ครั้งนี้ก็เลยมาแนะนำวิธีติดตั้ง Arduino IDE บน Ubuntu 14.04 กันสักหน่อย ตัว IDE สามาถติดตั้งได้ 2 วิธี วิธีแรกคือติดตั้งผ่าน Software Center พิมพ์คำว่า Arduino ลงไปก็สั่งติดตั้ง IDE ได้เลย ง่ายมากๆ

อีกแบบคือติดตั้งเอง สำหรับ Linux ค่ายอื่นๆ ที่ไม่มีคนใจดีทำ package มาให้ :) การติดตั้งแบบติดตั้งเองต้องติดตั้ง Java ด้วยนะครับ :) เริ่มจากติดตั้ง Java กันก่อนเลย


Continue reading

MEAN.IO เป็น Full Stack Javascript Framework รวมเอาเครื่องมือในการพัฒนา Web Application ยุคใหม่เข้าไว้ด้วยกัน MEAN ประกอบไปด้วย MongoDB, Express, Angular JS และ Node.JS MEAN.IO จะช่วยในคุณเริ่มสร้าง Web Application ได้เร็วมากขึ้น ก่อนจะใช้เครื่องมือของ MEAN.IO เราต้องติดตั้งเครื่องมือที่จำเป็นก่อนดังนี้

ติดตั้ง MongoDB

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/10gen.list
sudo apt-get update
sudo apt-get install mongodb-10gen


Continue reading

Ubuntu 14.04 LTS ออกรุ่นแล้ว มีคุณสมบัติใหม่ๆ และแก้ bug ที่เป็นปัญหาหลายอย่างในรุ่นที่แล้ว (13.10) ซึ่งเป็นปัญหาขัดใจหลายเรื่อง โดยเฉพาะเรื่อง Keyboard สำหรับรุ่นนี้การตั้งค่า Keyboad ทำได้ดีมากขึ้นเลยทีเดียว เอ้า ก่อนจะมาลงในรายละเอียดการตั้งค่าต่างๆ มาดาวน์โหลด Ubuntu 14.04 กันก่อน สำหรับรุ่นที่ release แล้วดาวน์โหลดได้ที่ releases.ubuntu.com ครับ สำหรับท่านที่ต้องการอัพเกรดทำได้ 3 วิธี คือ

  1. สั่งอัพเกรดจาก Software Updater
  2. อัพเดทผ่านตัวติดตั้ง
  3. ลงใหม่ทับของเดิม (สำหรับผู้ที่แยก /home เอาไว้แล้ว)

5 สิ่งที่ต้องทำหลังจากติดตั้ง

  1. เลือก repository ใกล้คุณ
  2. อัพเดท software และ patch ล่าสุด
  3. ติดตั้งซอฟต์แวร์ที่จำเป็นต้องใช้ (สำหรับผู้ติดตั้งใหม่)
  4. ตั้งค่า Keyboard เพิ่มเติม และเปลี่ยนปุ่มสลับภาษา ตั้งเป็นปุ่มตัวหนอนได้แล้ว
  5. ติดตั้งฟอนต์ภาษาไทย

MaaS หรือ Metal as a Service เป็นเครื่องมือจัดการเครื่องเซิร์ฟเวอร์ในการ provisioning, config และ deploy application โดยใช้แนวคิดของ Cloud Computing มาประยุกใช้กับเครื่องเซิร์ฟเวอร์จริงๆ ซึ่งเป็นแนวคิดแบบใหม่ในการจัดการเซิร์ฟเวอร์เลยทีเดียว MaaS สามารถใช้งานร่วมกับ Juju ได้ทำให้คุณสามารถใช้ Charm ในการ config และ deploy application ได้ง่ายๆ เลยทีเดียว

MaaS มีมาตั้งแต่ Ubuntu 12.04 LTS และหลังจากผมเป็นหนูทดลองมา 6 รุ่น 12.04, 12.04.1, 12.04.2. 12.03, 12.10 และ 13.04 ดูเหมือนว่ารุ่น 13.10 มีความสเถียรมากขึ้น และ Juju ก็รุ่นสำหรับ Mac OSX และ Windows แล้วและทำงานได้ดีขึ้นก็เลยได้โอกาสกลับมาเล่น MaaS อีกรอบ (รอบที่ 7)

โครงสร้างเน็ตเวิร์คที่ผมใช้เป็นแบบนี้ เอาคร่าวๆ เราจะมี MaaS Controller + Region 1 ตัว และ Node อีก X ตัว ผมหาได้แค่ 3 เครื่องเอามาทดลองจากแผนภาพผมพยายามแยก เน็ตเวิร์คออกจากเน็ตเวอร์ภายในเพราะเราจะใช้วิธีการ PXE Boot เพื่อ register node, config และติดตั้ง Ubuntu Server เพื่อรอใช้งานร่วมกับ Juju

เริ่มที่เครื่อง MaaS Controller ก่อน NIC มี 2 ขา ขานอกต่อออกเน็ตได้และอยู่ในวงเดียวกับเครือข่ายภายใน ส่วนอีกขาต่อกับเครื่อง Node 3 เครื่อง ใช้ Ubuntu 13.10 Server amd64 ติดตั้ง MaaS Controller ดังนี้ เมื่อบูตเครื่องเลือก Multiple Server Install with MAAS

รอโปรแกรมอ่านแผ่นตอบคำถามโน่นนี่จากนั้นตัวติดตั้งจะถามว่าจะติดตั้งเครื่องนี้จาก MaaS Server หรือติดตั้ง MaaS Server ใหม่ลงเครื่องนี้ ก็เลือกอันที่ 2 ครับ

ติดตั้งไปเรื่อยๆ เครื่องจะแจ้งหมายเลข ip address และ service endpoint ของ api ให้ตรวจสอบและติดตั้งให้เสร็จ จากนั้นให้ config เน็ตเวิร์คขาในให้เป็น static ip แล้วสร้าง superuser ให้กับ MaaS ดังนี้

sudo maas createsuperuser

จากนั้นติดตั้ง maas-dhcp และ maas-dns เพื่อให้ MaaS Server เป็นตัวจัดการเรื่อง dhcp และให้เครื่อง Node boot ผ่าน network เข้ามา เปิดเบราเซอร์ไปที่ Web Console ของ MaaS Server (172.16.29.147) ดังนี้ http://172.16.29.147/MAAS ใส่ username, password ตามที่ได้ตั้งค่าเอาไว้ เปิดไปที่ user preference เพิ่ม ssh key ให้เรียบร้อย

เปิดไปที่ Setting กำหนด รุ่นของ Ubuntu ที่ต้องการใช้งาน แนะนำให้เลือก Ubuntu 12.04 เอาไว้เนื่องจาก Charm ส่วนใหญ่อิง Ubuntu 12.04 ครับ อ้ออย่าลืมกำหนด repo ใกล้บ้านไว้ด้วย

ตั้งค่า Cluster Controller เพิ่ม NIC ขาในให้คุม DHCP

จากนั้นมาตั้งค่า config ในไฟล์ /etc/maas/importpxefiles ดังนี้

RELEASES="precise saucy"

ARCHES="i386/generic amd64/generic"

LOCALE="en_US"

IMPORT_EPHEMERALS=1

และ ในไฟล์ /etc/maas/import_ephemerals ดังนี้

DATA_DIR="/var/lib/maas/ephemeral"

RELEASES="precise saucy"

ARCHES="i386/generic amd64/generic"

สาเหตุที่ต้องมาแก้ไขไฟล์ทั้ง 2 เพื่อกำหนดรุ่นของ Ubuntu และ architecture ที่เราต้องการจริงๆ ต้องการ precise, saucy ทั้ง i386 และ amd64 จากนั้นใช้คำสั่ง

maas-import-pxe-files

เพื่อสั่งให้ download ไฟล์สำหรับใช้ boot ผ่าน network หรือที่เรียกว่า pxe boot เมื่อดาวน์โหลดไฟล์สำหรับ boot เสร็จโปรแกรมจะดาวน์โหลด ephemeral image ต่อ ประมาณ 1.2GB ได้แก่ precise i386, amd64 และ saucy i386, amd64 ถ้าใช้เฉพาะ amd64 ก็ไปแก้ config ข้างต้นได้ครับ รอจนดาวน์โหลดเสร็จ

จากนั้นให้คุณทะยอยเปิดเครื่อง Node ทีละเครื่องแล้วสั่งให้ Boot ผ่าน LAN ถ้าจะให้ดีตั้งค่า boot order ไว้อันดับแรกๆ เมื่อเครื่อง Node boot ก็จะได้รับ IP Addres ที่เครื่อง MaaS Controler จ่ายมาพร้อม Boot ผ่านเน็ตเวิร์ค สถานะของ Node เมื่อ boot และ config ค่าเบื้องต้นเสร็จเราจะเรียกว่า Commisioning เมื่อผ่านสถานะนี้ จะเข้าสถานะ Ready และจะมีข้อมูลของ Node อยู่ในหน้า Node จากนั้นเครื่อง Node จะ Sleep ในกรณีที่เครื่อง Node สนับสนุน Wake on LAN เราจะสามารถปลุกเครื่อง Node ได้เมื่อสั่ง Start ที่หน้า Web Console หรือสั่ง Juju bootstrap ถ้าเครื่อง Node ไม่มีคุณสมบัติที่ว่านี้ ต้องเปิดเครื่องเองอีกรอบเพื่อเข้าสู่สถานะ Ready อีกครั้ง คุณจะพบว่าเครื่อง Node ติดตั้ง Ubuntu Server เรียบร้อยหมดแล้ว

ลืมบอกไปว่าถ้าเราใช้ pxe boot แบบปกติ MaaS จะติดตั้ง Ubuntu Server ผ่าน net install ซึ่งจะช้ามาก ให้เรากำหนดให้ใช้ ephemeral image เป็นตัวติดตั้งจะเร็วกว่ามาก วิธีการง่ายๆ ก็คือไปหน้ารายการ Node แล้วเลือกทั้งหมด แล้วกำหนดให้ใช้ fast installer จากนั้น reboot เครื่อง Node อีกรอบ คราวนี้็ MaaS จะติดตั้ง Ubuntu Server ให้เร็วมากขึ้น กลับไปดูหน้า Web Console เราจะพบว่าเรามี 1 Node แล้ว ทีนี้ทะยอย Boot เครื่อง Node มาเรื่อยๆ จนครบ

จากนั้นก็ติดตั้ง Juju ตามปกติ ตั้งค่าใช้ MaaS ในไฟล์ ~/.juju/environments.yaml

  • maas-server เอาค่า IP Addres หรือ FQDN มาใส่
  • maas-oauth เอา MaaS Key มาใส่
  • admin-secret กำหนดรหัสผ่านที่คุณจำได้ เอาไว้ config application ตอน deploy

จากนั้นใช้คำสั่ง

juju switch maas

เพื่อเปลี่ยนไปใช้ config ของ MaaS จากนั้นก็ใช้คำสั่ง bootstrap ตามปกติดังนี้

juju bootstrap

ให้รอสักพัก Juju จะไปหา Node สักเครื่องแล้วติดตั้ง MongoDB เพื่อใช้เก็บค่าสถานะของ node ที่อยู่ใน cluster ถ้ากลับไปดูที่หน้า Web Console เราจะพบว่า Juju ยึดเครื่องเราไปแล้ว 1 ตัว

เมื่อใช้คำสั่ง juju status ก็จะพบว่ามี Node พร้อมทำงานแล้ว

จากนั้นก็ใช้ Juju deploy application ตามปรกติ ถ้าใช้ command line แล้วดูยุ่งยากก็สามารถติดตั้ง Juju GUI เอาไว้ใช้งานได้ครับ :)

Mark Shuttleworth ประกาศโค้ดเนมของ Ubuntu รุ่นหน้า 14.04 LTS ที่จะออกเดือนเมษายน 2014 คือ Trusty Tahr

Tahr หรือ Himalayan Tahr เป็นสัตว์สายพันธุ์เดียวกันกับแพะป่าในสกุล Hemitragus ส่วนมากอาศัยอยู่ในพื้นที่เทือกเขาหิมาลัยในทางตอนใต้ของธิเบต, ทางภาคเหนือของอินเดีย และ เนปาล เป็นต้น โดยสัตว์ชนิดนี้ยังถูกใช้เป็นสัญลักษณ์แห่งความกล้าหาญอย่างแน่วแน่และมั่นคง นั่นเอง

ส่วน Ubuntu รุ่นถัดไปนั้นจะใช้โค้ดเนมที่ขึ้นด้วยตัวอักษร U โดยมีการคาดเดาว่าอาจใช้ชื่อ Unhorned Unicorn หรือว่า Umbrella Uniform (อันนี้เป็นความคิดเห็นของผู้เขียนเอง) ก็เป็นได้ โดยสามารถเข้าไปดูรายชื่อโค้ดเนมได้ที่เว็บ Ubuntu Wiki

ที่มา – Blognone

เอาหนังสือมาฝากสำหรับท่านที่ใช้ Ubuntu และต้องการหาหนังสือสักเล่มเอาไว้อ้างอิง แนะนำหนังสือชื่อ Ubuntu Linux Toolbox : 1000+ Commands for Power User เป็นหนังสืออิเลคทรอนิกส์ในรูปแบบ PDF เนื้อหาครอบคลุม Ubuntu 12.04 LTS การติดตั้ง, การตั้งค่าต่างๆ ทั้ง Desktop และ Server ตลอดจนเนื้อหาเกี่ยวข้องกับด้าน Security สำหรับท่านที่สนใจสามารถดาวน์โหลดได้ฟรี ผ่านทางเว็บไซต์ Ubuntu Geek

ผมใช้มือถือ Nexus มาระยะหนึ่ง แต่ก็ยังไม่สามารถรับ-ส่ง ไฟล์ผ่านสาย USB ได้ เนื่องจาก Android 4.x ใน Nexus ใช้การเชื่อมต่อผ่านโปรโตคอล MTP และ PTP เท่านั้น ทำให้การใช้งานเครื่อง Nexus ของผมต้องผ่าน ddms หรือไม่ก็ Airdroid สำหรับท่านที่ใช้ระบบปฏิบัติการ Windows อาจไม่ส่งผลกระทบเท่าไร แต่ท่านที่ใช้ Ubuntu ก็คงต้องมาหาทางแก้ไขกัน ใน Ubuntu มีเครื่องมือหลายอย่างในการรับส่งไฟล์ผ่าน MTP เช่น Go-Mtpfs, Gvfs เป็นต้น แต่ทั้งหมดก็สร้างปัญหา หรือที่เรียกว่าใช้งานไม่ได้มาเกือบ 1 ปี แต่ Gvfs และ libmtp ก็ทะยอยแก้ปัญหามาเรื่อยๆ สำหรับท่านที่อยากลอง สามารถติดตั้งเพื่อทดสอบกันได้ จาก PPA ของนักพัฒนา ดังนี้

เพิ่ม PPA ของ Gvfs

sudo add-apt-repository ppa:langdalepl/gvfs-mtp

sudo apt-get update

จากนั้นสั่ง Upgrade

sudo apt-get upgrade

จากนั้น reboot เครื่อง แล้วลองเสียบเครื่อง Nexus ของคุณดูครับ จะพบว่า Ubuntu จะ Mount MTP Device ขึ้นมาให้พร้อมใช้งาน ;)

ปีนี้ Canonical สร้างการเปลี่ยนแปลงหลายอย่าง ไม่ว่าจะเป็น Ubuntu Touch ระบบปฏิบัติการที่ใช้งานบน Mobile Device เช่น Smartphone, Tablet เป็นต้น การเปลี่ยนแปลงนี้กระทบมาถึง Ubuntu Desktop ที่จะต้องปรับตัวเพื่อให้กลายเป็นระบบปฏิบัติการเดียวที่ติดตั้งได้ทั้งบน PC, Smartphone, Tablet หรือ TV ดังนั้น Display Server อย่าง X Window System จะถูกแทนที่ด้วย Mir ซึ่ง Canonical เคยวางแผนไว้เมื่อปี 2010

Canonical ยังประกาศการพัฒนา The Next Unity ด้วยซึ่งใช้ Qt/QML ทดแทน Nux การเปลี่ยนผ่านไปยัง Mir และ The Next Unity จะเสร็จสมบูรณ์ในเดือนเมษายน ปีหน้า

James McClain สาธิตการทำงานบนระบบสั่งงานด้วยเสียงบน Ubuntu ซึ่งคุณสามารถสั่งงาน Ubuntu Desktop ของคุณได้ไม่ว่าจะเป็น

  • เปิดโปรแกรม
  • เปิดเว็บไซต์
  • จัดการไฟล์
  • พิมพ์ข้อความด้วยเสียง
  • ส่ง Note และแจ้งเตือนผ่าน e-mail
  • ตอบคำถาม

ระบบนี้ทำงานเมื่อกด hot-key จากนั้นพูดคำสั่ง โปรแกรม Voice Recognition จะทำงาน ผลลัพท์ที่ได้ขึ้นอยู่กับข้อมูลในฐานข้อมูลดิกชันนารี ระบบรองรับคำหลายแบบ (fuzzy searching) แต่ให้ผลลัพท์เดียวกัน เช่น run firefox, open firefox, launch firefox, start firefox เป็นต้น

จากหน้าเว็บไซต์ ubuntu.com ได้ขึ้นหน้าจอคล้ายๆ กับครั้งที่แล้วก่อนเปิดตัว Ubuntu Phone OS ซึ่งครั้งนี้ ขึ้นหน้าจอว่า Tick, tock, tablet time! ซึ่งเดาได้เลยว่า Ubuntu สำหรับ tablet ออกแน่นอนในวันพรุ่งนี้ Canonical เคยเปรยถึงเรื่องโครงการ Ubuntu Touch เมื่อปลายปีที่แล้วและยังบอกอีกว่าจะมาพร้อมกับรุ่น 13.04 ที่จะออกในเดือนเมษายนนี้ ซึ่งแหล่งข่าวหลายแหล่งต่างพากันเดาว่าจะเหมือนกับ Ubuntu Phone OS หรือเปล่า หรือจะเป็นตัวเดิมที่เคยมีตัวติดตั้งบน Nexus 7 ยังไม่มีใครคาดเดาได้คงต้องรอถึงวันพรุ่งนี้ เราจะได้รู้กันว่า Ubuntu Tablet นั้นจะมีหน้าตาและคุณสมบัติอย่างไรกันบ้าง