MS Windows

อัดรูปดิจิตอล ทำสมุดภาพของคุณเอง
รอรับได้. ท่องเที่ยว แต่งงาน ฯลฯ

www.tanabutr.co.th/photobook


Flashgot กับ download accelerator

ไม่เคยใช้พวก Flashget เพราะรู้สึกไม่มีความจำเป็นต้องใช้. ระยะหลังต้องดาว์นโหลดไฟล์ใหญ่ๆเลยต้องไปหา download accelerator ซึ่งเป็นโปรแกรมช่วยให้ดาว์นโหลดไฟล์ต่างๆได้เร็วขึ้นโดยดาว์นโหลดไฟล์เป็นส่วนๆและช่วยกันดาว์นโหลดหลายเซสชัน.

viewer สำหรับไฟล์พวก MS Office

วันนี้ไปร่วมงาน (T)LUG ที่เซ็นทรัลเวิร์ลพลาซ่าเช่นเคย มีการแนะนำเรื่อง OpenOffice 2.0 โดยคุณกำธรและพี่นุ. สำหรับผมแล้วไม่ค่อยได้ใช้พวก spread sheet ซะเท่าไรก็ได้เปิดหูเปิดตาขึ้นมาหน่อยว่าจะทำอะไรได้บ้าง เช่นพวกการกระทำที่อยู่ในเมนู Data.

อ่านเขียนไฟล์ใน Windows จาก coLinux

พอใช้ coLinux ไปเรื่อยก็เริ่มมีความจำเป็นที่จะต้องถ่ายโอนข้อมูลระหว่าง coLinux กับ Windows. ตรงนี้ก็มีหลายวิธี. เอาแบบสะดวกสุดก็เป็น bash shell ของ cygwin บนวินโดวส์ออกมาแล้ว scp หรือ sftp ถ่ายโอนไฟล์ไปให้ coLinux. แต่ถ้าต้องมีการถ่ายโอนไฟล์บ่อยๆวิธีนี้ก็จะไม่มีประสิทธิภาพ.

เซ็ต permission ของไฟล์ในวินโดวส์ XP

ปรกติเครื่องวินโดวส์ XP สามารถแชร์โฟลเดอร์ของตัวเองได้ง่ายโดยคลิ้กขวาโฟลเดอร์นั้นและเลือก share. แต่ปัญหาคือตัวเลือกมันมีให้ไม่เยอะ. มีแค่ให้ใครก็ได้ในเครือข่ายเข้ามาอ่านได้, เขียนได้. ไม่สามารถกำหนด permission จำกัดคนที่มีสิทธิ์อ่านเขียนโฟลเดอร์นั้นได้. ผมก็เคยจำได้ว่าถ้าเครื่องวินโดวส์มันเข้าไปร่วม Windows Domain มันจะมีแท็บ security ให้เช็ตแบบละเอียดเลย. อยากจะทำแบบนั้นแต่เครื่องวินโดวส์ที่ใช้ไม่ได้ร่วม Windows Domain อะไร มันอยู่แบบ workgroup. ก็นึำกว่าต้องสร้าง NT Domain ด้วย Samba แล้วเข้่าไป join ซะแล้ว. แต่ก่อนที่จะทำอย่างนั้นก็หาข้อมูลด้วย google ว่ามีวิธีอะไรไหมที่จะเซ็ต permission ได้ ก็เจอว่ามันทำได้.

แป้นพิมพ์ภาษาไทยใน XWin

ปรกติชอบใช้ dia เขียน flow chart. และช่วงนี้ก็ใช้วินโดวส์เสียเป็นส่วนใหญ่เลยเอา dia ที่รันบนวินโดวส์มาใช้ แล้วก็เจอปัญหาว่ามันไม่เสถียร memory allocation error บ้างทำให้สิ่งที่วาดๆไปหายไปกับสายลม. เลยนึกได้ว่าน่าใช้ dia ที่อยู่ใน coLinux ซึ่งมันต้องเสถียรกว่าอยู่แล้วเพราะเป็นต้นตำหรับ. แต่ก็เจอปัญหาเรื่องแป้นพิมพ์ภาษาไทย.

Virtual desktop บนวินโดวส์

จำได้ว่าสมัยใช้ FVWM ตอนที่มันออกใหม่เมื่อนานมาแล้ว, สิ่งที่ชอบมากอย่างหนึ่งคือ virtual desktop. คำนี้ไม่รู้ว่ายังใช้กันอยู่หรือเปล่าหรือใช้คำอื่นแทนกันแล้ว. เจ้า virtual desktop เป็นความสามารถของ window manager ที่แสดงเดสก์ท็อปได้เสมือนมีหลายๆตัว. คนใช้สามารถลากหน้าต่างเลื่อนไปวางบนเดสก์ท็อปตัวที่ต้องการ. ถ้าต้องการเปลี่ยนเดสก์ท็อปก็ดันเมาส์ไปสุดขอบก็จะเปลี่ยนเดสก์ท็อปให้. ตรงนี้ผมว่าดีกว่า Windows เยอะมีหลายเดสก์ท็อปให้ใช้. ใช้วินโดวส์ทีเราก็อยากได้คุณสมบัตินี้มาใช้ด้วย. เมื่อหลายสัปดาห์ก่อนไปเห็น power toy ที่ Microsoft แจกเอามลงก็ใช้ไม่ได้เรื่อง. ไม่ได้เรื่องคือมันเปลี่ยนหน้าจอช้ามากๆ.

coLinux ตอนที่ 5 - service ใน Windows

แต่ก่อนก็รัน 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.

จัดการเอกสาร TIF แบบคำสั่งๆ

หลายครั้งที่ผมพบว่าตัวเองต้องมาจัดการเอกสารแบบคำสั่งๆ เมื่อวานก็สแกนเอกสาร A4 ที่ละแผ่นๆแล้วเก็บด้วยฟอร์แมต TIF เผื่อเอามาปรินต์ใหม่ไม่ต้องมีเครื่องถ่ายเอกสาร. ก็ลองสแกนด้วยความละเอียดต่างๆตั้งแต่ 75x75 dpi (dot per inch) ซึ่งใช้สำหรับแสดงผลบนหน้าจอคอมพิวเตอร์ จนถึง 600x600 dpi ซึ่งมักจะใช้พิมพ์เอกสารซึ่งก็เห็นชัดว่าเวลาเอามาพิมพ์อีกที 600x600 dpi ก็โอเคแล้ว.

XWin.exe as Windows service

หมู่นี้ใช้วินโดวส์กับ 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, --install   Installes 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

ต่อจากเรื่องใช้ลินุกซ์ในวินโดวส์ที่เขียนไปแล้ว. คราวนี้จะมาว่าด้วยเรื่องการติดตั้ง cygwin ซึ่งก็เป็นการปูทางใช้ coLinux ได้ง่ายขึ้นแถมได้ bash และเครื่องมืออื่นๆใช้ในวินโดวส์ด้วย.

ขั้นตอนการติดตั้งก็ไม่ยากอะไร, ไปที่ http://www.cygwin.com แล้วดาว์นโหลด setup.exe มารันในเครื่องตัวเองครับ. หลังจากทีรันแล้วก็มีให้เลือกว่าจะอินสตอลล์จากไหนมีสามวิธีคือ