ติดตั้ง dosemu บนอูบุนตู

เอาของเก่าที่เคยลองไว้มาทดสอบใหม่

จากการที่ apt-get install dosemu แล้วไม่สามารถรันได้
จึงเอาซอร์สมาคอมไพล์เอง
ก่อนอื่นต้องลบของเก่าออกให้หมดก่อน

$ sudo dpkg --purge dosemu
$ cd
$ sudo rm -rf .dosemu

ตามด้วยติดตั้งใหม่

$ su
# apt-get install bsdmainutils checkinstall libsdl1.2-dev flex bison
# cd /usr/src
# wget http://heanet.dl.sourceforge.net/sourceforge/dosemu/dosemu-1.3.3.tgz
# wget http://heanet.dl.sourceforge.net/sourceforge/dosemu/dosemu-freedos-b9r5a-bin.tgz
# tar xvfz dosemu-1.3.3.tgz
# cd dosemu-1.3.3
# ./configure --with-x --with-fdtarball=/usr/src/dosemu-freedos-b9r5a-bin.tgz --x-includes=/usr/include/X11 --x-libraries=/usr/lib/X11 --with-slangdir=/usr/lib
( ถ้าเป็นเดเบียนใช้ # ./configure --with-fdtarball=/usr/src/dosemu-freedos-b9r5a-bin.tgz เฉย ๆ )
# make
# checkinstall -D make install
( # dpkg -i dosemu-1.3.3_1.3.3-1_i386.deb )
# exit

ทดสอบการรัน

$ dosemu

เขาจะขึ้นเป็น xdosemu โดยอัตโนมัติ

ไฟล์ของ freedos จะอยู่ที่ ~/.dosemu/drive_c

คำสั่งสร้างเน็ตเวิรกไดร์ฟคือ

C:\ lredir h: \linux\fs/mnt/smbfs/data
C:\ lredir i: \linux\fs/mnt/smbfs/app

ไดรฟ์ h จะโยงไปหา /mnt/smbfs/data
และไดรฟ์ i จะโยงไปหา /mnt/smbfs/app


บันทึกส่วนตัว
ทำไดร์ฟ d เป็น ~/dos (เพื่อไม่ให้ไฟล์ปนเปกับไดเรคทอรี่ ~/ )
โยงลิงก์เน็ตเวิร์กไดรฟ์ h: และ i:

$ mkdir ~/dos
$ cd ~/.dosemu/drives
$ ln -sf ~/dos d
$ vi ~/.dosemu/drive_c/autoexec.bat
ลบบรรทัด  lredir d: linux\fs%DOSDRIVE_D% ออก
เพิ่มบรรทัด lredir h: linux\fs/mnt/smbfs/data
เพิ่มบรรทัด lredir i: linux\fs/mnt/smbfs/app

แก้ไข config.sys ให้สามารถเปิดไฟล์ได้มากขึ้น

$ vi ~/.dosemu/drive-c/config.sys

เพิ่มบรรทัด

files=100

เพิ่มเครื่องพิมพ์จากเครือข่าย 2 ตัวคือ epson และ epson2
ติดตั้งเครื่องพิมพ์จาก cups โดยเรียกเข้าไปที่ http://localhost:631/
เพิ่มเครื่องพิมพ์ของเครือข่าย samba คือ epson และ epson2
ต่อด้วยการเรียกใช้ lpadmin อีกที

$ lpadmin -p epson -u allow:all -E -v smb://server1/epson -P /etc/cups/ppd/epson.ppd
$ lpadmin -p epson2 -u allow:all -E -v smb://server2/epson2 -P /etc/cups/ppd/epson2.ppd
$ vi ~/dosemurc

$_printer_command = "lpr -l -P epson, lpr -l -P epson2"
Topic: 

debian: sid - dosemu

ตั้งแต่ย้ายมาใช้เดเบียน sid อะไร ๆ มันง่ายขึ้นเยอะเลย
เดี๋ยวนี้แพคเกจ dosemu ไม่ได้แยก freedos แบบแต่ก่อนแล้ว
ดังนั้น การลงแพกเกจก็เพียงแค่ง่าย ๆ ว่า
$ sudo aptitude install dosemu

แค่นี้เอง เสร็จแล้ว

  • สามารถปรับแต่ง config.sys กับ autoexec.bat ได้ที่ /etc/dosemu/freedos
  • ปรับตั้งค่าการแมปไดรฟ์แบบปริยายได้ที่ /etc/dosemu/drives
  • ปรับตั้งเครื่องพิมพ์ได้ที่ /etc/dosemu/dosemu.conf เหมือนเดิม

ต่อไปคงคอมไพล์อะไรไม่เป็นแล้ว :P

update
ถ้าพิมพ์จากดอส (ผ่านคำสั่ง lpr ในไฟล์ /etc/dosemu/dosemu.conf) แล้วพิมพ์ไม่ออก ต้องติดตั้งแพกเกจ cupsys-bsd เพิ่ม
$ sudo aptitude install cupsys-bsd
เนื่องจากโปรแกรม lpr ในแพกเกจ cupsys-bsd ทำงานถูกต้องกว่าในแพกเกจ lpr เอง

บันทึกไว้เนื่องจากแพกเกจนี้ไม่ได้ถูกติดตั้งไว้เป็นแพกเกจมาตรฐานของ sid

ดูรายละเอียดการติดตั้ง cups ได้ที่ ติดตั้งเครื่องพิมพ์ให้เครือข่าย

ubuntu: รายงาน dosemu-1.4.0

ทดสอบ dosemu บนอูบุนตู-feisty และ เดเบียน-lenny ที่เป็นแพกเก็จจากดิสโตรเอง ผลปรากฎว่าการทำงานราบรื่นขึ้น แต่ยังมีปัญหาพิมพ์ออกเครื่องพิมพ์เครือข่ายไม่ได้เหมือนเดิม
จึงต้องกลับไปเอาแพกเกจจาก DOSEMU.org มาคอมไพล์เอง
ขั้นตอนการคอมไพล์เหมือนที่ เคยคอมไพล์ไว้คราวก่อน

มีที่แปลกออกไปคือ

  1. ตอน ./configure ใช้แค่พารามิเตอร์ --with-x ก็พอ
  2. คำสั่งในการปรับตั้งเครื่องพิมพ์ในไฟล์ /etc/dosemu/dosemu.conf ถูกปรับปรุงให้อ่านง่ายขึ้น คือ
    จากเดิม $_printer_command = "lpr -l -P epson1, lpr -l -P epson2"
    กลายเป็น
    ...
    $_lpt1 = "lpr -l -P epson1"
    $_lpt2 = "lpr -l -P epson2"
    ...

    ดูง่ายและเป็นระเบียบขึ้น

ที่เหลือก็คงเหมือนเดิม

เผื่อใครอยากลองแต่ขี้เกียจคอมไพล์เอง ลองดาวน์โหลดไปใช้ได้

แต่ยังไงก็ต้องทำในส่วนของ Freedos-1.0 เอาเอง และแพกเกจที่สร้างขึ้น ถูกสร้างขึ้นจาก checkinstall ดังนั้นจึงขาดคุณสมบัติของแพกเกจมาตรฐานของเดเบียนไปหลายอย่างครับ

ผลการใช้งานก็รันได้เร็วและราบรื่นเหมือนเดิม สามารถพิมพ์ออกเครือข่ายได้เรียบร้อยครับ