ติดตั้ง StarDict พร้อมฐานข้อมูล Dictionary จาก Lexitron

StarDict เป็นโปรแกรม dictionary ที่ได้รับความนิยมที่สุดตัวหนึ่งนอกจากจะสามารถค้นหาคำศัพท์ ยังสามารถแปลคำศัพท์โดยการเลือกคำจากโปรแกรมอะไรก็ได้ เช่น เว็บเบราเซอร์ หรือโปรแกรม chat ก็ได้เช่นกัน StarDict สามารถเพิ่มฐานข้อมูล Dict ภาษาอื่นๆ ได้ทั้งที่เป็นไฟล์ dict และฐานข้อมูลแบบออนไลน์ สำหรับการติดตั้ง StarDict บน Ubuntu/Suriyan สามารถติดตั้งได้ง่ายๆ ดังนี้
ติดตั้ง Suriyan Repository กันก่อน สำหรับผู้ที่ใช้ (Suriyan DVD ไม่ต้องติดตั้งเพิ่งเติมแต่อย่างใด)

wget http://suriyan.in.th/repo/pool/main/s/suriyan-repository/suriyan-repository_1.0-2_i386.deb
sudo gdebi suriyan-repository_1.0-2_i386.deb
sudo apt-get update


จากนั้นติดตั้ง Stardict พร้อมฐานข้อมูลดิกภาษาไทย (Lexitron) กันได้เลย

sudo apt-get install stardict-lexitron

ง่ายๆ แค่นี้เราก็มี Dict ภาษาไทยใช้ใน Ubuntu/Suriyan กันแล้ว

ติด WindowsXP บน Ubuntu โดยใช้ QEMU

QEMU เป็น processor emulator ที่มีากรทำงานที่รวดเร็ว เล็ก และง่ายในการย้าย ไปยังเครื่องใหม่ QEMU สามารถทำงานได้กับ guest OS หลายตัวได้ และยังสามารถทำงานได้คล้ายกับ VMware Workstation และ Microsoft Vitual PC สำหรับการจำลอง CPU สามารถจำลองได้หลายสถาปัตยกรรม รวมทั้ง IA-32 PC, AMD64, MIPS R4000, Sun SPARC sun4u, ARM development board, SH4 SHIX board, PowerPC, ETRAX CRIS และ MicroBlaze เอ้ามาดูว่าเราจะติดตั้ง Windows XP กันยังไงดีกว่าครับ
อันดับแรก ติดตั้ง QEMU กันก่อน

apti-get install qemu

สร้าง image สำหรับติดตั้ง Windows XP เมื่อติดตั้ง Windows XP ไปแล้วจะใช้เนื้อที่อย่างน้อย 1.2 GB หรือมากกว่านั้น เราจะใช้ qcow สร้าง image ขึ้นมาแต่ขนาดของ image ไม่ได้ใหญ่เท่ากับ 1.2GB สร้าง image โดยใช้คำสั่งดังนี้

qemu-img create -f qcow /path/to/xp.cow 1300M

จากนั้นใส่แผ่น Windows XP ลงใน CDROM แล้วเริ่มติดตั้ง Windows XP ใน QEMU Image ดังนี้

qemu -hda /path/to/xp.cow -boot d -cdrom /dev/cdrom -m 384 -localtime

และรอจนติดตั้งเสร็จ เทื่อติดตั้งเสร็จให้ shutdown QEMU เอาแผ่น CD WindowsXP ออก แล้วเริ่ม Windows XP image ใหม่โดยใช้คำสั่ง

qemu -hda /path/to/xp.cow -boot c -m 384 -localtime -usb

แค่นี้เราก็ได้ Windows XP ใช้ใน Ubuntu แล้ว 😉

ติดตั้ง Asus Express Gate บน Linux

ผมหาวิธีติดตั้ง Express Gate ที่ใช้บนฮาร์ดแวร์ของ Asus มา 2-3 วัน ซึ่งหนีไม่ออกที่จะต้องติดตั้งบนฮาร์ดิสก์ที่เป็น FAT32 หรือ NTFS แต่ไม่เป็นไรครับ วิธีการติดตั้งนั้นง่ายมาก เพียงใช้เครื่องมือที่เราคุ้นเคยเท่านั้น ก่อนจะลงมือติดตั้ง ขอเล่าให้ฟังก่อนว่า Express Gate เป็นมาอย่างไร Express Gate เป็นระบบปฏิบัติการ Linux ขนาดเล็กต้นฉบับคือ Splash Top พัฒนาโดยบริษัท Device VM เป้าหมายคือ เปิดเครื่องพร้อมใช้ภายใน 3 วินาที เชื่อมต่อระบบเครือข่าย LAN, Wireless LAN, DSL ได้ทันทีเช่นกัน Splash Top มีโปรแกรมพร้อมสำหรับการทำงานได้แก่ Browser, Multimedia Player, Game, Photo, Chat และ Skype ลองมาดูหน้าตากันนิดนึงครับ

สำหรับหน้าตาจะเปลี่ยนไปตามรุ่นของฮาร์ดแวร์ครับ จากตัวอย่างจะเป็น Mainboard ของ Asus สำหรับ notebook, eee, eee box และ eee top หน้าตาจะไม่เหมือนกันซะทีเดียว แต่วิธีการติดตั้งเหมือนๆ กันคือต้องใช้ Windows ในการติดตั้ง และใช้ FAT32 หรือ NTFS เป็น partition ครับ สำหรับการติดตั้งใช้วิธีแบบเดิม แต่เราจะติดตั้งบน Linux โดยไม่ต้องใช้ Windows เลยซักกะตัว วิธีการติดตั้งมีดังนี้

  1. Express Gate ใช้ Windows ในการติดตั้ง เราต้องมี Wine
  2. แบ่ง partition ให้ Express Gate ไว้ประมาณ 1.5 GB กำหนดชนิดเป็น FAT32 หรือ NTFS ก็ได้ กำหนด boot flag หากติดตั้ง Linux ไปแล้วให้ใช้ GParted ขยับ partition
  3. ติดตั้ง Express Gate โดยใช้ Wine ตัว Express Gate จะอยู่ที่ ~/.wine/drive_c
  4. คัดลอกไฟล์ของ Express Gate ที่ชื่อ ASUS.00, ASUS.SYS, splashtop.idx ไปที่ partition ที่เราแบ่งเอาไว้
  5. จากนั้นแก้ไขไฟล์ splashtop.idx ตรง root=UUID=XXXXXXXXXXXXXXXX UUID ที่ระบุคือ UUID ของ partition ที่เราแบ่งให้ไว้ หากไม่ทราบใช้คำสั่ง ls -l /dev/disk/by-uuid/ ดูตรง partition ที่แบ่งไว้นะครับ

หลังจากแก้ไข แล้วก็ปิดเครื่องและกดปุ่มพิเศษของเราได้แล้ว!

สร้าง Live USB ง่ายนิดเดียวด้วย Unetbootin

Unetbootin เป็นเครื่องมือในการสร้าง Live USB จากไฟล์ .iso ที่เป็น Live CD อยู่แล้ว เราสามารถสร้าง Live USB ได้ง่ายๆ เพียงมีไฟล์ Live CD ที่ต้องการเท่านั้น Unetbootin มีให้ใช้ทั้งบน Windows และ Linux นากจากจะสร้าง Live USB จากไฟล์ iso แล้วยังสามารถมารถใช้ preset distribution ที่ Unetbootin มีให้ได้เช่นกัน ซึ่งมี Linux Distribution มากกว่า 40 ตัวให้เลือกใช้ การเลือกจาก preset ต้องใช้เวลาในการดาวน์โหลดไฟล์มาเพื่อสร้าง Live USB นะครับ เอ้าลองมาดูหน้าตากันก่อน
Unetbootin บน Windows
บน Windows
Unetbootin บน Linux
บน Ubuntu
Continue reading สร้าง Live USB ง่ายนิดเดียวด้วย Unetbootin

ใช้มือถือต่อเน็ตผ่าน Bluetooth บน Fedora ด้วย Blueman

คราวที่แล้วเขียนเรื่อง ใช้มือถือต่อเน็ตผ่าน Bluetooth บน Ubuntu ด้วย Blueman ไปแล้วคราวนี้มาถึงการใช้งาน Blueman บน Fedora กันบ้าง เอ้าสำหรับใครที่มาใหม่ ขอแนะนำ Bluman กันอีกรอบ Blueman เป็นโปรแกรมจัดการ Bluetooth ที่ใช้งานง่ายและมีเครื่องไม้เครื่องมือในการจัดการเชื่อมต่อกับ services ต่างๆ ได้ง่ายเพียงแค่ คลิก…คลิก… เท่านั้น! นอกจากนี้ยังสนับสนุนการทำงานมาตรฐานต่างๆ เช่น การรับไฟล์ ส่งไฟล์ ดูไฟล์ในโทรศัพท์มือถือ และการเชื่อมต่อ servcies Dial Up อย่างง่ายๆ เอ้า มาติดตั้ง Blueman กัน สาวก Fedora ใช้ YUM นะครับ

su -c 'yum install blueman'

มาเริ่ม Bind อุปกรณ์กันเลย ผมมี LG KP500 รุ่นโต๋ คลิกไปที่รูปเครื่องหมาย Bluetooth ตรง notification area ครับ แล้วลอง Search ดู ของผมเจอ โต๋ แล้ว
LG KP500
Continue reading ใช้มือถือต่อเน็ตผ่าน Bluetooth บน Fedora ด้วย Blueman

OpenID บริการดีที่ไม่ค่อยมีใครใช้

หลายๆ คนพูดถึง OpenID เว็บไซต์ที่ให้บริการล็อกอินที่พัฒนาภายใต้ OpenID Foundation แต่น้อยคนนักที่จะเข้าใจว่ามันเป็นยังไง เอาล่ะเว็บไซต์หลากหลายเว็บก้อพยายามหาวิธีการอธิบายว่าการใช้งาน OpenID หรือการพัฒนาโครงการโดยใช้ OpenID เป็นตัวตรวจสอบผู้ใช้มันดียังไง อย่างน้อยการอธิบายที่ผ่านๆ มาก้อทำได้ดีมีหลายๆ คนเป็นแฟนพันแท้ OpenID แบบตั้งใจและที่ไม่ได้ตั้งใจอย่าง เช่น blogger, wordpress, google, yahoo เป็นต้น แต่ก้อไม่ทุกคนหรอกที่จะใช้ OpenID อ้อที่จริงแล้วผู้ใช้เดิมเริ่มไม่อยากใช้ต่างหาก ใน Wikipedia บอกว่ามีเว็บไซต์ที่ใช้บริการ OpenID กว่า 27,000 เว็บไซต์ และจำนวนตัวเลขก้อมากขึ้นเรื่อยๆ ทำให้การใช้งาน OpenID ของผู้ใช้ก้อมีสูงมากขึ้นด้วย เว็บไซต์หลายๆ เว็บอย่าง SourceForge, Yahoo และ LiveJournal ก้อสามารถใช้บัญชี OpenID ล็อกอินเข้าใช้บริการได้ แต่ Wetpaint ได้ออกมาประกาศว่าจะไม่สนับสนุนการล็อกอินผ่าน OpenID บน Wiki ของเว็บอีกต่อไป โดยได้อ้างเหตุผลว่าจำนวนผู้ใช้ต่ำมาก และมีต้นทุนค่อนข้างสูงเมื่อเทียบกับจำนวนผู้ใช้ จากผู้ใช้หลายล้านคนมีเพียง 200 คนเท่านั้นที่ใชเ OpenID ซึ่งมันไม่คุ้มกับการลงทุนสักเท่าไร ด้วยความหวังที่ว่ายอดจำนวนผู้ใช้เว็บไซต์เยะมากขึ้นตามจำนวนผู้ใช้ OpenID แต่ในความเป็นจริงกลับมีจำนวนผู้ใช้น้อยกว่าที่ทาง Wetpaint คาดการณ์เอาไว้ Dave Kearns แห่งเว็บไซต์ Network World’s ได้กล่าวว่า OpenID เสีย mojo ของตัวเองไปซะแล้ว แต่ก้อไม่ทุกเว็บไซต์ที่ถอด OpenID ออกจากเว็บไซต์ของตัวเอง นักพัฒนาจาก Amarok เป็นแฟนพันธ์แท้ของ OpenID ที่รักการใช้งาน OpenID? เป็นชีวิตจิตใจซึ่งให้เหตุผลที่เข้าใจง่ายๆ ว่าทำไมคุณถึงต้องใช้ OpenID ไม่ว่าจะเป็นเรื่องการบริการ ความสะดวก รวมไปถึงการป้องกันข้อมูลที่เป็นส่วนตัว ฯลฯ แล้วคุณล่ะครับ ใช้ OpenID กันบ้างหรือเปล่า? ชอบหรือไม่ชอบอย่างไร ก้อแสดงความคิดเห็นกันต่อได้ครับ

สร้าง Floating Screensaver ด้วยโลโก้ของคุณเอง

บังเอิญได้เข้ามาดู package ในส่วนของ gnome-screensaver มีโปรแกรมเล็กๆ ตัวหนึ่งเห็นว่ามีประโยชน์ดีชื่อ floater เป็นโปรแกรม screensaver เล็กๆ ที่เราสามารถปรับแต่ง screensaver ในแบบที่เราต้องการได้ ใครนึกไม่ออกให้นึกถึง screensaver ชื่อ Floating Gnome หากใครใช้ Ubuntu อยู่น่าจะเคยเห็น Floating Ubuntu มาก่อน เอาล่ะเราจะเอาโลโก้ขององค์กรเรามาทำเป็น Screen Saver กันครับ ผมจะยกตัวอย่าง Suriyan screensaver ละกันนะครับ
มาเริ่มกันเลย สร้างไฟล์ สำหรับ config ของ floater กันก่อน ที่ /usr/share/applications/screensavers ชื่อ suriyan_theme.desktop ใส่ข้อมูลลงไปดังนี้

[Desktop Entry]
Encoding=UTF-8
Name=Floating Suriyan
Comment=Suriyan logo floating around the screen
Exec=floaters /usr/share/pixmaps/suriyan-screensaver.svg
TryExec=floaters
StartupNotify=false
Terminal=false
Type=Application
Categories=GNOME;Screensaver
X-Ubuntu-Gettext-Domain=gnome-screensaver

Continue reading สร้าง Floating Screensaver ด้วยโลโก้ของคุณเอง

สร้าง Ubuntu/Debian Repository ใช้เองภาค reprepro ตอนที่ 2

จากตอนที่แล้วเราได้ repo เพื่อเตรียมเอาไว้ใช้บริการผู้ที่ต้องการติดตั้งโปรแกรมจาก repo เราไปแล้ว ในตอนที่ 2 นี้จะเกี่ยวกับเรื่องของการจัดการ package โดยที่นักพัฒนาหรือผู้ดูแล package ต้องการอัพโหลดขึ้น repo server ด้วยตัวเอง ไม่ต้องสั่ง include package เป็นครั้งๆ ไป Debian มีเครื่องมือให้เราใช้เช่นกันครับ เราจะมาใช้เครื่องมือที่ชื่อ dupload
dupload เป็นเครื่องมือที่ออกแบบมาเพื่อใช้ในการอัพโหลด package ไปยัง repo ต่างกันได้ ซึ่งจะทำให้ง่ายในการ contribute package ของนักพัฒนาและผู้ดูแล apckage นั้นๆ เอาล่ะเรามาเริ่มติดตั้งและ config เจ้า dupload กันดีกว่าครับ เริ่มแรก ติดตั้งกันก่อน ใช้คำสั่ง

sudo apt-get install dupload

จากนั้นเราต้องไป config ค่า repo ให้กับ dupload กันก่อน ที่ ~/.dupload.conf หรือที่ /etc/dupload.conf ก็ได้ การ config นั้เราจะกำหนด repo server ปลายทางที่เราต้องการจะ upload package ขึ้นไป เช่น

$cfg{'example'} = {
fqdn => "example.com",
login => "steve",
method => "scpb",
incoming => "/incoming/",
# The dinstall on ftp-master sends emails itself
dinstall_runs => 1,
};

อธิบายกันก่อน config ข้างบนเป็นการบอกว่าเรามี repo server ชื่อเล่นว่า example โดยมี domain ชื่อเต็มๆ ว่า example.com ใช้ login ว่า steve ใช้ scpd เป็น protocal ในการ upload ไฟล์ มีไดเรคทอรี /incoming เป็นไดเรอทอรีปลายทางของ package ที่เร upload ขึ้นไป
หากต้องการปรับปรุงให้เข้ากับความต้องการของคุณก็เพียงแค่แก้ไข hostname, login, incoming dir แค่นี้ก็ได้แล้วครับ อ้อ หากคุณต้องการให้ upload package โดยใช้ anonymous FTP ก็สามารถแก้ไขได้ครับ เอาล่ะ วิธีการ upload ก็ง่ายๆ ครับ ใช้คำสั่ง dupload แบบนี้

dupload --to <reponame> <.change file>

ตัวอย่างเช่น

dupload --to example suriyan-wallpaper_1.0_i386.change

เท่านี้ก็ upload package ขึ้นไปยัง repo ได้แล้ว แต่ว่า dupload ทำหน้าที่ upload package ไปกองไว้ที่ incoming dir เท่านั้นครับ ไม่ได้ build และบรรจุลงใน repo ของเราจริงๆ ดังนั้นต้องเขียน script เพิ่มอีกหน่อยเพื่อให้ reprepro ทำงานต่อให้เรา อ่ะดาวน์โหลด script ไปละกันนะครับ เมื่อได้ script กันแล้ว บันทึกลงในที่น่าจะจำได้ แล้วก็ใส่ลงใน crontab ครับแบบนี้

*/5 * * * * /usr/local/import-new-packages.sh

ใช้มือถือต่อเน็ตผ่าน Bluetooth บน Ubuntu ด้วย Blueman

มีผู้รู้แนะนำว่าการใช้งาน Bluetooth ต้องหาเครื่องมือดีๆ มาใช้ในการจัดการ ซึ่งผมเองไม่ค่อยสนใจเท่าไร เพราะเป็นคนหัวดื้อ ชอบลุยๆ ปรากฏว่าก็ยังหนีห่างจาก command line ในการต่อ Internet ผ่าน Bluetooth ไม่ได้สักทีเอาเป็นว่า คราวนี้ต่อได้แล้วครับ 🙂 แบบคลิกอย่างเดียว! ก่อนจะเข้าถึงขั้นตอนขอเล่าก่อนว่าการเชื่อมต่อ Bluetooth เพื่อเชื่อมต่อ Internet ผ่าน 3G/CDMA/EDGE/GPRS สามารถทำได้โดยการเรียก service ผ่าน Bluetooth เท่านั้น! แต่การเชื่อมต่อจะต้องผ่าน device ที่ชื่อ rfcomm หากเราใช้ command line ตั้งแต่การเชื่อมอุปกรณ์มือถือเข้ากับเครื่องคอมพิวเตอร์ และสร้าง device rfcomm เขียน config ของ wvdial มันก็หลายขั้นตอนไปหน่อยและส่วนใหญ่จะท้อใจซะมากกว่า เอาเป็นว่าวันนี้มีทางแก้ครับ ทางแก้ที่ว่านี้คือใช้ Bluetooth manager ตัวใหม่ครับ 😉 ชื่อ Blueman
Blueman เป็นโปรแกรมจัดการ Bluetooth ที่ใช้งานง่ายและมีเครื่องไม้เครื่องมือในการจัดการเชื่อมต่อกับ services ต่างๆ ได้ง่ายเพียงแค่ คลิก…คลิก… เท่านั้น! นอกจากนี้ยังสนับสนุนการทำงานมาตรฐานต่างๆ เช่น การรับไฟล์ ส่งไฟล์ ดูไฟล์ในโทรศัพท์มือถือ และการเชื่อมต่อ servcies Dial Up อย่างง่ายๆ เอ้า มาติดตั้ง Blueman กัน สำหรับท่านที่ใช้ Ubuntu 9.10 Karmic Koala, Suriyan 52.10 Internal Warm ติดตั้ง Blueman ได้ตามวิธีข้างล่างครับ

sudo add-apt-repository ppa:blueman/ppa
sudo apt-get update
sudo apt-get install blueman

สำหรับท่านที่ใช้ Ubuntu 9.12 Karmic Koala PE มี Blueman มาให้แล้วครับ 🙂 มาเริ่ม Bind อุปกรณ์กันเลย ผมมี LG KP500 รุ่นโต๋ คลิกไปที่รูปเครื่องหมาย Bluetooth ตรง notification area ครับ แล้วลอง Search ดู ของผมเจอ โต๋ แล้ว Continue reading ใช้มือถือต่อเน็ตผ่าน Bluetooth บน Ubuntu ด้วย Blueman

สร้าง Ubuntu/Debian Repository ใช้เองภาค reprepro ตอนที่ 1

มีเรื่องให้ได้จัดการในอีกโครงการหนึ่งคือ Suriyan ซึ่งเป็นโครงการ Linux ที่อยู่ดีๆ ก็ฟื้นขึ้นมาแบบงงๆ จนกลายเป็นหน้าที่ที่ได้รับในส่วนการพัฒนาเพิ่มเติมของ Suriyan นั่นคือส่วนที่ไม่มีอยู่ในดิสทริบิวชันต้นน้ำ (Ubuntu) ซึ่งก็ติดปัญหาเดิมคือการบริหารจัดการ repository นั่นเอง แหม หาทาง build deb source ได้แต่การจัดการ repo แทบกระอักเลือด หากจำกันได้ผมเขียนเขียนวิธีการจัดการ repo ไว้ 2 แบบ คือ

  1. trivial archive
  2. official archive

ซึ่งวิธีการจัดการ repo 2 แบบนี้คล้ายกัน ต่างกันเพียงส่วนของ apt-pinning และเครื่องมือในการจัดการเท่านั้น หากนึกไม่ออกลองไปหาอ่านที่ blog เก่าๆ ได้ครับ ซึ่งปัญหาในการจัดการ repo และ package ที่ต้องการโดยแบ่ง version ออกเป็นส่วนๆ เพื่อการ maintain นั้นยุ่งยากมากกว่ากันหลายเท่า เพราะนอกจาก maintain เวอร์ชั่นปัจจุบันยังต้องเตรียมในรุ่นก่อนหน้าก็ถือว่ายุ่งพอสมควร แต่การสร้างและจัดการ repo มีหลายวิธีด้วยกัน วันนี้จะมาแนะนำการสร้าง repo แบบ official archive แต่ใช้เครื่องมือชื่อ reprepro กันครับ
ก่อน การทำ repo เรามาวางแผนสักสักนิด ผมตั้งใจจะให้ apt ใช้ url ประมาณนี้ครับ http://suriyan.in.th/repo นั่นหมายความว่าผมจะต้องสร้าง repo ภายใต้ document root (หรือไม่ก็ได้ หากสร้างใน directory อื่นสามารถใช้ aliase ชี้ได้) สมมุติว่าผมสร้างที่ /var/www/repo ก็แล้วกันะครับ
ก่อนอื่นติดตั้ง reprepro กันก่อน

aptitude install reprepro

จากนั้นสร้าง dir repo ขึ้นมา

mkdir -p /var/www/repo/conf

ให้สร้างไฟล์ ที่กำหนด distribution ขึ้นมาชื่อ distributions ใน /var/www/repo/conf ใส่ข้อมูลลงไปดังนี้

Origin: Your Name
Label: Your own label
Suite: ubuntu
Codename: karmic
Version: 9.10
Architectures: i386 source
Components: main restricted
Description: Your description
SignWith: yes

เท่านี้ก็เรียบร้อยครับ เอา deb source มาใส่ใน repo ของเราได้เลย โดยใช้คำสั่ง

reprepro -Vb . include <codename> <.change file>

หรือ

reprepro -Vb . includedeb <codename> <.deb file>

ตัวอย่าง เช่น

reprepro -Vb . include karmic suriyan-wallpaper_1.0_i386.change

reprepro ก็จะค้นหาไฟล์ dsc, source และ deb ที่ build เสร็จแล้วให้เรา พร้อมสร้าง dir ใน pool จากนั้นก็ใส่ dsc, source และ deb ลงใน pool ให้อัตโนมัติ แถม sign repo ให้เราด้วย สำหรับการเอา package ออกก็ไม่ได้ยากอะไร เพียงแค่ใช้คำสั่ง reprepro ดังนี้

reprepro -Vb . remove <codename> <package name>

เท่านี้คุณก็จัดการ repo ได้ง่ายๆ แล้ว