X window
www.tanabutr.co.th/photobook
xterm ใน cygwin, UTF-8 กับฟอนต์ TrueType ภาษาไทย
Submitted by poonlap on Sun, 2006-03-12 23:21.วันนี้ได้ทำอะไรบางอย่างกับข้อมูลที่เก็บอยู่ใน MySQL เป็นภาษาไทยลงรหัสแบบ UTF-8. เวลาทดสอบผมก็ใช้ xterm ที่มีอยู่ใน cygwin เป็นตัวทดลอง. มันเป็นความเคยชินอย่างหนึ่งคือปรกติจะเปิด terminal ของ cygwin ซึ่งเหมือน command prompt ไว้ตัวหนึ่งแล้วเรียก xterm ตามมาใช้อีกตัว. แล้วก็จาก xterm ตัวนี้แหละที่ใช้ ssh ต่อไปที่เครื่องลินุกซ์เครื่องอื่นซึ่งอาจจะเป็น colinux หรือเครื่องลินุกซ์จริงๆ (พูดเหมือนกับว่า colinux เป็นลินุกซ์ปลอม).
ย้ายเอกสาร Qtopia 2.1 - Thai localization project
Submitted by poonlap on Mon, 2006-03-06 20:59.บทความนี้เขียนเมื่อเดือนกุมภาพันธ์ปีที่แล้ว (2005). เก็บไว้ที่ linux.thai.net แต่เอามารวมไว้ที่นี่ดีกว่า เป็นหลักแหล่งดี.
About Qtopia
Qtopia is a framework for creating GUI program for PDA or smart phone. Normally, these kind of devices will run Linux, for example, Lineo linux by Metrowerks. Qtopia will display graphic through frame buffer device. The first application will act as the controller and must be run with -qws option. Other applications can run after without -qws option.
n
คุณเปิด terminal กี่บาน?
Submitted by poonlap on Sat, 2005-10-15 21:33.สำหรับคนที่ใช้เทอร์มินอลไม่ว่าจะเป็นคอนโซลหรือเทอร์มินอลเอมิวเลเตอร์, บางทีมีความจำเป็นต้องเปิดเทอร์มินอลหลายตัวดูพร้อมๆกัน. แต่จริงๆแล้วเวลาใช้ก็ได้อันเดียวแหละเพราะคนเราก็ทำอะไรได้อย่างเดียวในเวลาหนึ่งๆ. ลองมาสรุปดูว่ามีวิธีใช้เทอร์มินอลหลายๆตัวในเวลาเดียวกันแบบไหนบ้าง.
แป้นพิมพ์ภาษาไทยใน XWin
Submitted by poonlap on Fri, 2005-10-07 21:22.ปรกติชอบใช้ dia เขียน flow chart. และช่วงนี้ก็ใช้วินโดวส์เสียเป็นส่วนใหญ่เลยเอา dia ที่รันบนวินโดวส์มาใช้ แล้วก็เจอปัญหาว่ามันไม่เสถียร memory allocation error บ้างทำให้สิ่งที่วาดๆไปหายไปกับสายลม. เลยนึกได้ว่าน่าใช้ dia ที่อยู่ใน coLinux ซึ่งมันต้องเสถียรกว่าอยู่แล้วเพราะเป็นต้นตำหรับ. แต่ก็เจอปัญหาเรื่องแป้นพิมพ์ภาษาไทย.
coLinux ตอนที่ 5 - service ใน Windows
Submitted by poonlap on Thu, 2005-09-29 21:19.แต่ก่อนก็รัน coLinux จากบรรทัดคำสั่ง มันค่อยข้างน่าเบื่อหน่ายนะต้องย้ายไดเรกทอรีไปที่ c:\colinux แล้วก็สั่งคำั่ง colinux-daemon.exe -c default.colinux.xml. ไปอ่าน blog ของ Satoru Takahashi (Namazu search engine) เขาก็ใช้ coLinux เหมือนกันและบอกว่า coLinux แบบเป็นเซอร์วิสบนวินโดวส์ที่มันเนียนมากๆ เหมือนกับว่ามีลินุกซ์อยู่อีกเครื่องที่ใดที่หนึ่งโดยที่ไม่รู้สึกขัดๆเลย. ผมลองใช้ coLinux ให้เป็นเซอร์วิสบนวินโดวส์ก็นานพอควรแล้วก็ต้องขอบอกว่าจริง เนียนมากๆ เปิดเครื่องวินโดวส์มาก็ได้ลินุกซ์เปิดเครื่องขึ้นมาด้วย. พอจะใช้ลินุกซ์ก็เปิดเทอร์มินอลของ cygwin แล้ว ssh เข้าไป. พออยากใช้โปรแกรมที่เป็นแบบกราฟิกก็แค่ตั้ง DISPLAY ให้ส่งหน้าต่างมากที่ XWin ซึ่งผมก็ทำเป็นเซอร์วิสไว้ด้วย. ถ้าต้องการคอนโซลของ coLinux ก็ดับเบิ้ลคลิ้กที่ colinux-console-fltk.exe.
coLinux ตอนที่ 4 - X Windows
Submitted by poonlap on Wed, 2005-09-28 21:17.คราวนี้มาถึงตอนสำคัญของ coLinux คือการใช้ X window โดยให้แสดงผลมาที่เครื่องวินโดวส์. ใน coLinux Wiki ก็มีเขียนไว้แล้วว่าใช้ VNC หรือ X เซิร์ฟเวอร์ก็ได้. ในกรณีจะใช้ X เซิร์ฟเวอร์ของ cygwin ที่เรียกว่า XWin ครับ. ก็เคยแนะนำวิธีการรัน XWin ให้เป็น service ของวินโดวส์ไปแล้วก็จะเอามาใช้กับ coLinux. ส่วนที่จะต้องเตรียมในครั้งนี้คือส่วนของ coLinux เองว่าต้องติดตั้งแพ็กเกจอะไรบ้าง.
XWin.exe as Windows service
Submitted by poonlap on Fri, 2005-09-02 19:27.หมู่นี้ใช้วินโดวส์กับ cygwin และ coLinux (จะเขียนในอีกไม่นานวัน) วันนี้ก็เกิดไอเดียว่าน่าจะรัน X เซิร์ฟเวอร์ของ cygwin ซึ่งก็คือ XWin.exe เป็นเซอร์วิสของวินโดวส์ซะเลย. เวลาสตารท์เครื่องก็จะได้ไม่ต้องมาสั่ง startx หรือ XWin ให้วุ่นวาย. ลองหาทางเน็ตดูก็ไม่มีใครเขียนไว้แต่พอจะมีบอกใบ้ว่าใน cygwin นี้มีคำสั่ง cygrunsrv.exe เป็นคำสั่งที่ลงทะเบียนโปรแกรมใน cygwin เช่นเซิร์ฟเวอร์ apache, postmaster ฯลฯ ให้เป็นเซอร์วิสในวินโดวส์. มันก็น่าจะลงทะเบียน XWin.exe ให้เป็นเซอร์วิสในวินโดวส์ได้เหมือนกัน.
ก็เลยลองดูเลยเปิดหน้าจอ bash ของ cygwin ออกมา, แล้วดูว่า cygrunsrv มันใช้อย่างไร
$ man cygrunsrv No manual entry for cygrunsrv
ไม่เป็นไร, เรารู้ว่าคำสั่งที่ดีควรมีตัวเลือก --help อยู่ด้วยก็ลองดูต่อไป
$ cygrunsrv --help | less
พยายามจับมันเข้าไปในเพจเจอร์ less แต่สิ่งที่ออกมามันเป็น stderr อย่างนี้ต้องเอาใหม่อีกรอบ
$ cygrunsrv --help 2>&1 | less Usage: cygrunsrv [OPTION]... Main options: Exactly one is required. -I, --installInstalles a new service named . -R, --remove Removes a service named . -S, --start Starts a service named . -E, --stop Stops a service named . -Q, --query Queries a service named . Required install options: -p, --path Application path which is run as a service. Miscellaneous install options: -a, --args Optional string with command line options which is given to the service application on startup. -c, --chdir Optional directory which will be used as working directory for the application. -e, --env Optional environment strings which are added to the environment when service is started. You can add up to 255 environment strings using the `--env' option. Note: /bin is always added to $PATH to allow all started applications to find at least cygwin1.dll. ....
มีตัวเลือกให้เยอะแยะ แต่เราใช้ไม่กี่ตัวหรอก. ตัวอย่างเป็นคำสั่งรุ่นเก่า คำสั่งรุ่นใหม่จะมี -L สำหรับดูเซอร์วิสที่บันทึกด้วย. เราก็เริ่มบันทึก XWin ให้เป็น Windows service ด้วยคำสั่ง
$ cygrunsrv -I xwin -d "Cygwin XWin server" -p /usr/X11R6/bin/XWin -a "-multiwindow -clipboard -ac" -c /usr/X11R6/bin
ถ้าไม่มี error อะไรก็เป็นอันเรียบร้อย.
| -I | ระบุชื่อเซอร์วิส |
| -d | ใส่คำอธิบาย |
| -p | ใส่ชื่อพาธของโปรแกรมที่ต้องการรัน |
| -a | อาร์กิวเมนต์ของโปรแกรม ตรงนี้ก็ใช้ multiwindow ให้มันไม่แสดง root window, -clipboard ให้มัน cut & paste กับวินโดวส์ได้, -ac ปล่อยให้มันเปิดรับคำขอจากไคลเอ็นต์เครื่องอื่นๆได้ อันนี้จะเอาไว้ใช้กับ coLinux |
| -c | เปลี่ยนไดเรกทอรีไปที่ /usr/X11R6/bin เท่าที่ทดสอบมามันมี .dll ที่ต้องการอยู่เลยใช้ตัวเลือกนี้ด้วย. |
ใจร้อนก็อยากสตาร์ทเซอร์วิสนี้เลยก็ได้, ใช้คำสั่งของวินโดวส์ net start, net stop
$ net start xwin The Cygwin XWin server service is starting. The Cygwin XWin server service was started successfully.
มันบอกว่าเซอร์วิสเริ่มแล้ว ก็ลอง
$ export DISPLAY=:0 $ xlogo
ไม่ขึ้น!!! ปรกติถ้ารัน XWin -multiwindow ด้วยมือมันจะมีไอคอน X เล็กๆที่ system tray. แต่ตรงนี้ไม่มี. มั่วๆอยู่นานเลยรู้ว่าต้องไปเป็นเซอร์วิสของวินโดวส์, คลิ้กขวา My Computer เลือก manage... ไปที่ services
ดับเบิ้ลคลิ้กตรงเซอร์วิสที่สร้าง, ไปที่แท็บ Log on แล้วเลือก "Allow service to interact with desktop".
อินสตอลล์ cygwin
Submitted by poonlap on Mon, 2005-08-22 19:21.ต่อจากเรื่องใช้ลินุกซ์ในวินโดวส์ที่เขียนไปแล้ว. คราวนี้จะมาว่าด้วยเรื่องการติดตั้ง cygwin ซึ่งก็เป็นการปูทางใช้ coLinux ได้ง่ายขึ้นแถมได้ bash และเครื่องมืออื่นๆใช้ในวินโดวส์ด้วย.
ขั้นตอนการติดตั้งก็ไม่ยากอะไร, ไปที่ http://www.cygwin.com แล้วดาว์นโหลด setup.exe มารันในเครื่องตัวเองครับ. หลังจากทีรันแล้วก็มีให้เลือกว่าจะอินสตอลล์จากไหนมีสามวิธีคือ
เมาส์ตัวที่สอง
Submitted by poonlap on Wed, 2005-08-10 19:11.ปรกติเครื่องโน้ตบุคหรือแล็ปท็อป (ชอบลังเลทุกทีว่าจะเรียกว่าอะไรดี) จะมีเมาส์ในตัวอยู่แล้วไม่ว่าจะเป็น touch pad ที่เป็นแท่นให้ลูบสัมผัส, หรือพวกเป็นปุ่มตรงการแป้นพิมพ์เช่น trackpoint ของ ThinkPad. แต่บางครั้งเราก็ต้องใช้โปรแกรมที่ใช้เมาส์มากๆเช่นโปรแกรมกราฟิก, ลากเส้นและในกรณีนั้นมักใช้เมาส์แบบ USB เสียบเข้าไป.
Qtopia ภาษาไทย
Submitted by poonlap on Wed, 2005-06-01 15:20.
ตอนก่อนกลับจากญี่ปุ่นมีคนติดต่อมาอยากให้ทำเรื่อง Qtopia ภาษาไทยมาใช้กับเครื่องโทรศัพท์ smart phone เช่น Motorola E680 และก็ใช้กับ PDA (Zaurus) ที่ใช้ลินุกซ์ได้ด้วย. ลองศึกษาแล้วทำไปแล้วแต่ไม่มีการติดต่อกลับ (E680 มันก็ใช้ภาษาไทยได้อยู่แล้ว) วันนี้เลยเอาที่เขียนสรุป (ภาษาอังกฤษ) ขึ้นเว็บแล้วกัน. ข้อมูลเกี่ยวกับเลขเวอร์ชันอาจจะเก่าไปนิดเพราะทำตอนเดือนกุมภาพันธ์.

