- Login or register to post comments
- 4540 reads
- not spam ()



ถ้าไม่ลืม จะทดลองให้ครับ
ผมว่า มันน่าจะใช้ได้แหละ แต่ไม่มีเครื่องให้ลอง อยู่บ้าตอนนี้ไม่อยาก reboot แล้วไปเปิดอีกเครื่อง ต่อสาย lan อีก
ไว้เข้า office ก่อน มีเครื่องหลายเครื่อง
อ้อ รบกวน login ด้วยครับ จะได้ทราบว่าใครเป็นใคร ติดตามปัญหาได้ง่ายครับ :)

ตอนนี้ เท่าที่ดู Samba ใน TLE8 มันไม่ได้เอา user และ passwd จากระบบมาใช้หนะครับ ยังไม่ทราบสาเหตุ แต่มีวิธีแก้ให้ใช้ได้ก่อนครับ
ไปสั่งคำสั่งนี้ครับ smbpasswd -a username แล้วมันจะให้ใส่ passwd หนะครับ หลังจากนั้น ก็จะเข้ามาเป็น user นี้ได้ ตาม passwd ที่เราตั้งไว้นี่แหละครับ :)

อันดับแรก..เข้าไปที่โฟลเดอร์ etc/ และเปิดไฟล์ fsfab ขึ้นมาในโปรแกรมเท็กซ์เอดิตเตอร์ จะเป็น Kate หรือ GPedit ก้อได้นะครับ และหาบรรทัดที่เขียนว่า Mount_Cdrom mnt_cdrom ประมาณนี้ และก้อบมาวางไว้บรรทัดล่าง และให้แก้คำว่า CDROM เป็น Drive-D และเปลี่ยนคำว่า mnt_cdrom เป็น mnt_dev/hdd/2 ถ้าจำไม่ผิดนะครับ



leuser@SONGSAMAI:~$ sudo smbpasswd -a sne
New SMB password: 123456
Retype new SMB password: 123456
Failed to modify password entry for user sne




โล่งแล้วครับใช้ได้แล้วครับ ปัญหาก็คือ
ต้องสร้างบัญชีผู้ใช้ก่อน การกำหนดค่าก็แล้วแต่ต้องการครับเพราะผมไม่ได้แก้อะไรมาก ก็มีอยู่ที่ส่วนชั้นสูง>>กลุ่มหลักผมแก้เป็น Network
เครื่องที่เป็นวินโดว์ก็เข้าใช้งานได้แล้วครับ เหลือก็เครื่องพิมพ์ล่ะครับค่อยหาวิธีต่อไป ก็เกือบจะได้แล้วครับไว้จะเล่าให้ฟังอีกทีครับ
ขอขอบคุณพี่ๆ อาจารย์ทุกๆ คนนะครับที่ให้คำแนะนำ


ต้องขอโทษด้วยครับ ผมหมายถึงที่เครื่องอื่น(winXP) มองเห็นเหมือนกันครับ แต่ปัญหาที่เจอคือตอนผมติดตั้งเครื่องพิมพ์ตัวนี้ให้ใช้งานมันก็เป็นดังนี้ครับ
1. เครื่อง Linux TLE 9.0 คือ PHANGNOI41 ที่แชร์เครื่องพิมพ์ไว้
2.
3.เครื่องพิมพ์ที่ติดตั้งเสร็จแล้วที่เครื่องอื่น(winXP)
พอติดตั้งเสร็จแล้วมันก็มีข้อความขึ้นว่า "Access denied" ต้องไปแก้ไขอะไรที่ไหนอีกหรือเปล่าครับ
ขอขอบคุณสำหรับคำแนะนำครับ

อ้า... เริ่มยังไงดีล่ะ... คือ...
Samba น่ะ เวลา Share Printer นะครับ จะไม่ทำเหมือน M$ Windows หมดทั้ง 100% และ จะ *ไม่ทำ* ให้เหมือนด้วยครับ ไม่งั้นโดนเรื่อง "ลิขสิทธิ์" นั่นเองครับ คือ ปกติ Windows เวลา Share printer ให้เครื่องอื่นๆ นั้น เครื่องทีเปิด Share จะส่งตัวโปรแกรม Driver ของ Printer ตามที่ได้ติดตั้งไว้ในเครื่องนั้นไปให้ยังเรื่อง Client ที่ Add printer ด้วยนั่นเองครับ หรือพูดอีกอย่างคือ Folder ที่เก็บ Driver ของ Printer นั้นๆ จะถูกสร้างไว้ใน C:\WINDOWS\SYSTEM หรือ C:\WINNT หรือ ฯลฯ ก็ตามแต่ละ Version แล้วจะเปิด Share folder นั้นเอาไว้โดยซ่อนการ Share ไว้ในกลไลระดับ Code ของ SMB Protocol engine (เหมือนที่ซ่อน $c $d $drive_letter เอาไว้นั่นแหละ) ซึ่งแน่นอนครับ Samba จะไม่สามารถเอา Driver เหล่านั้นมาใส่เพื่อทำให้เหมือนได้ 100% เพราะเท่ากับเอาส่วนของ Windows มาเลยทีเดียว นั่นแปลว่า "ละเมิดลิขสิทธิ" เต็มๆ เลยครับ
ทางแก้ไขล่ะ... มีครับ ในกรณีที่จะใช้ Samba หรือพูดอีกอย่างว่าจะใช้พิมพ์ผ่าน SMB Protocol แบบนี้ต่อไป วิธีการก็ง่ายๆ ครับ แต่วุ่นวายครับ ก็ทำให้ Windows Client ทุกตัวรู้จักและมี Driver Printer รุ่นนั้นอยู่ในเครื่องไงครับ
บางรุ่น เราสามารถติดตั้ง Driver ลงไปได้เลย แม้จะไม่ได้มี Printer เสียบต่ออยู่จริงๆ แต่ระยะหลัง พวก USB Printer จะตรวจหา Printer จริงๆ จึงทำให้วุ่นวายหน่อยตรงที่ ต้องยก Printer ไปไล่ต่อทีละเครื่องเพื่อติดตั้ง Driver เข้าไป แล้วค่อยเปลี่ยน Port ใน Advance ไปยัง Share network printer หลังจากติดตั้งเสร็จ...
วุ่นวายไหมครับ?
ผมมีวิธีที่ง่ายกว่า... แต่ขอละไว้ก่อน ขอพูดตรงนี้ก่อน ตรงที่คุณเห็นว่า "Access denied" น่ะครับ อันนี้เกิดจาก Spool directory ครับ ไม่ได้กำหนดให้ทุก User สามารถ Write ได้ ซึ่งตรงนี้ตรงดูใน smb.conf หรือให้ทีม TLE บอกคุณว่า Spool directory เขากำหนดไว้ที่ไหน แต่โดย Default ของ Samba จะอยู่ที่ /var/spool/samba ครับ ซึ่งมีไว้คือเมื่อเวลาเครื่อง Client สั่งพิมพ์มานั้น Driver ของ Printer ในเครื่อง Client ซึ่ง Windows บังคับให้เราต้องติดตั้งจะส่งข้อมูลการพิมพ์ซึ่งเป็นคำสั่งควบคุม Printer ตรงๆ ออกมา Samba ก็จะรับมาเขียนเก็บลงไฟล์ไว้ในนี้ก่อน ไฟล์ในนี้ซึ่งเป็นข้อมูลการพิมพ์เพียวๆ เราเรียกว่าเป็น RAW data ครับ หลังจากนั้นก็จะลำเลียงส่งไปยัง Printer จริงๆ โดยไม่แตะต้องอะไรเลย เพราะเป็น RAW data ไปแล้ว
เอาล่ะครับ มาวิธีที่ง่ายกว่ากัน ก็... เวลาคุณ Add printer ใน TLE นั้น CUPS (Common Unix Printing System) ก็จะรู้จัก Printer คุณแล้วแน่นอน ซึ่งจะให้บริการอยู่ที่ Port หมายเลข 631 ครับ ทีนี้ก็ต้องไปกำหนดให้ CUPS ยอม Share ให้เครื่องอื่นพิมพ์ได้ด้วยใน /etc/cups/cups.conf (หรือหากทีม TLE ทำอะไรไว้ให้ง่ายกว่าที่จะไปแก้ในไฟล์เองตรงๆ ก็รบกวนช่วยมาเสริมผมด้วยนะครับ) ให้ Allow port 631 รายละเอียดมากกว่านี้ดูใน google เลยครับ มีเยอะและเรื่อง CUPS เนี่ย ทีนี้ก็ง่ายแล้วครับ ทั้ง Windows, Linux แม้กระทั่งเครื่อง Mac สบายเลย Driver อะไรก็ไม่ต้องใช้อีกต่อไป ฝั่ง Windows client ก็ Add printer ตามปกติ ตรง Port ก็เลือกเป็น URI:// (หรือ URL:// หว่า จำไม่ได้) แล้วใส่เลยครับ http://[IP ของ Server]:631/printers/[CPUS Printer name] หลังจากนั้นพอถึง Driver ก็เลือกใน Generic printer แล้วเลือกเป็น "Microsoft Publisher Printer" สำหรับ Printer ขาว/ดำ หรือเลือกเป็น "Microsoft Publisher Color Printer" สำหรับ Printer สี จบข่าวครับ
ต่างกันอย่างไร? CUPS รับข้อมูลเป็นงานพิมพ์ Postscript ไงครับ ซึ่งเป็นมาตราฐานในวงการสิ่งพิมพ์ไปตั้งนานแล้ว คนใช้เครื่อง Mac จะทราบดี ดังนั้น Windows เองก็จำเป็นต้อง Support ไว้ในตัว จึงมี "Microsoft Publisher Printer" driver ไว้ในตัวไงครับ ซึ่งจะทำให้งานที่สั่งพิมพ์ออกมาเป็นในรูปแบบ Postscript เมื่อส่งให้ CUPS ก็จะถูกต้องเพราะ CUPS รับขาเข้าเป็น Postscript แล้ว CUPS จะ Render ตามเงื่อนไขของ Driver ของ Printer เฉพาะตัวเพื่อให้เป็น RAW data สำหรับ Printer นั้นๆ ไปอีกทีนั่นเองครับ
ในกรณีที่พิมพ์ผ่าน CUPS จาก Windows การบริการ Queue จะเปลี่ยนไปนะครับ เพราะเมื่อสั่งพิมพ์ปั๊บ Windows ส่งข้อมูลพรวดเดียวเป็น Postscript ไปที่ Server เลย เพราะไม่ต้องรอพิมพ์จริงๆ ทำให้ Print manager ของ Windows ตรวจสอบ Queue ไม่ได้ครับ แต่ CUPS สามารถ "Access" ได้ด้วย Browser ธรรมดานี่แหละครับ โดยพิมพ์ที่ข่อง URL ไปเลยว่า http://[IP ของ Server]:631 ครับ ลองเข้าไปดูแล้วจะถึง "บางอ้อ" เองครับ
พอก่อนล่ะครับ อยากให้ไปลองกันก่อน ผมเชื่อว่านี่ก็เป็นเรื่องใหม่ในนี้ เพราะเพิ่งลอง Search ใน Google ดูก็ไม่พบใครพูดถึงเรื่องพิมพ์จาก Windows ไปยัง CUPS ที่เป็น "ภาษาไทย" เลยซัก Site สำหรับในนี้ เจอของเก่าตั้งแต่ปี 2004 ที่มีคนบ่นถึง Samba พิมพ์ไม่ออก แล้วมีคนบอกว่าเพราะ Windows ส่งมาเป็น Raw data ซึ่งเขาบอกวิธี Config ให้ Samba ทราบว่าเป็น Raw data ไว้ด้วยแล้ว แต่คราวนี้ผมขอแนะนำวิธีที่ดีกว่า ง่ายกว่า คือส่งให้ CUPS จัดการไปเลย ทำให้ไม่ต้องสนใจเรื่อง Driver เลยไม่ว่า Client จะเป็น OS อะไรก็ตาม ขอให้ Support postscript printing เป็นใช้ได้ (ซึ่งผมก็ไม่เห็น OS ไหน กล้าไม่ Support ไม่งั้นเสียตลาดสิ่งพิมพ์ไปทั้งหมดเลยนะครับ)
มีอะไรทิ้งคำถามไว้นะครับ ผมจะพอมีเวลาวันเสาร์ค่ำอีกหน่อย วันอาทิตย์ไป HK กลับมาอีกทีอาทิตย์หน้าโน่นเลย ก็อาจต้องรอคำตอบหน่อยนะครับ เดี๋ยวนี้ไม่จำเป็นไม่หิ้ว Notebook ไปไหนต่อไหนแล้วครับ หนักสังขาร...

ขอขอบคุณมากๆ ครับ ผมจะเอาไปลองทำดูก่อนนะครับจะได้มากน้อยเพียงใดก็ต้องลองดูกันครับ เพราะพึ่งจะลองใช้ Linux ครับ อยากใช้ Linux ให้เต็มระบบครับจะได้ไม่ต้องกลัวลิขสิทธิ์
จะเข้าไปกำหนด CUPS ให้ Share ยังงัยครับ (ไม่เคยเล่น Linux เลยครับ) พิมพ์คำสั่งใน Terminal หรือเปล่าครับถ้าใช่ผมก็...หมดสิทธิ์ครับ เพราะไม่รู้จักคำสั่งเลย (มีให้ศึกษาเป็นหนังสือหรือเปล่าครับ)
"ไม่ลองทำด้วยตนเองก่อนแล้วใยจะรู้ซึ้ง"
ได้ผลประการใดจะมาเล่าให้ฟังครับ

ก่อนผมจะบอกให้ลงไปแก้ที่ไฟล์ cupsd.conf ตรงๆ ขอทีม TLE Confirm ก่อนครับ เกรงว่า TLE จะมีเตรียมไว้แล้ว ซึ่งเช่นนั้นผมก็ไม่ควรบอกให้ลงไปแก้ไฟล์เองตรงๆ เดี๋ยวจะมีปัญหากับ Configuration application ของ TLE ได้
ถ้า TLE มีโปรแกรมช่วย Config อยู่แล้ว ก็น่าจะมีอะไรลักษณะประโยคคล้ายๆ ว่า "Share printers across network" อะไรทำนองนี้ให้เลือกน่ะครับ ตรงนั้นแหละครับ

ผมก็ติดตามมานานแล้วเหมือนกันเรื่องนี้เมื่อไรจะทำได้สักที จนผมคิดว่า ถ้าหากมีไฟล์ต้นแบบที่เขาสามารถแชร์เครื่องพิมพ์ได้ แล้วนำเอาไฟล์นั้นมาแชร์ให้กลุ่มผู้ใช้ tle ทั้งหลายนำไปวางไว้ในเครื่องตัวเอง แล้วทดลองใช้กันไป ถ้าได้ก็บอกต่อเพื่อนๆ หรือ ถ้าหากไม่ได้ก็นำไฟล์ cupsd.conf ที่สำรองไว้นำมาวางไว้ที่เดิมผมว่าคงจะช่วยได้ไม่น้อย เพราะในสำนักงานของผมเองมีปัญหาเรื่องศึกแย่งเครื่องพิมพ์ ผมต้องยกให้คนอื่นไป
แต่เครื่องที่แชร์เครื่องพิมพ์ไว้ใน os อื่นเสียบ่อยมาก ใช้โดยการ(ละเมิดลิขสิทธิ์) พิมพ์ไม่ออก โอเอสล่มเพราะโดยไวรัส ไปเอาโปรแกรมแสกนไวรัสมาติดตั้ง (ละเมิดอีกแล้ว) ทำไงได้ ผมไปเห็นที่อื่นเขาทำ เขาไปเอาโปรแกรมรีโคเวอร์รีมาติดตั้งให้เครื่องแม่ที่แชร์ (ละเมิดลิขสิทธิ์อีกแล้ว) เขาบอกให้ผมทำเหมือนกับเขา ผมบอกว่าต้องซื้อลิขสิทธิ์ก่อนถึงจะทำให้ เขาจะตอบว่าอย่างไร ................ใครๆเขาก็ละเมิดกันทั้งนั้น แต่ผมบอกว่าใครจะทำก็ช่างแต่ผมไม่เอาด้วยดอกสิบอบไห่
ฝากท่านทั้งหลายที่มีความสามารถ ถ้าทำได้โปรดส่งไฟล์นั้นมาให้ผมได้โหลดเอามาลองใช้กับเครื่องผมบ้างน่ะครับ
ถึงผมจะคัดลองแต่ก็ไม่ละเมิดลิขสิทธิ์ ถ้าให้ด้วยความเต็มใจก็ขอน้อมรับ และขอขอบคุณมากๆ




ผมขออธิบายให้เท่าที่ผมรู้ครับ
1. ถ้าต้องการให้วินโดว์สามารถเข้ามาในเครื่องของ ลินุกได้ต้องเพิ่ม user เข้าไปในเครื่องของลินุกก่อน โดยเพิ่มรายชื่อผู้ใช้ 2 ส่วนด้วยกันคือ ส่วนของเครื่องและส่วนของ samba
2. การเพิ่มทำได้ดังนี้
1. ในเทอร์มินอ พิมพ์ sudo useradd win1 (สมุติว่าเครื่องวินชื่อ win1 ตรงนี้เป็นการเพิ่มเข้าไปในเครื่องของลินุก)
2. พิมพ์ sudo smbpasswd -a win1 (ตรงนี้เพิ่มเข้าไปใน samba การเพิ่มรายชื่อผู้ใช้แบบนี้มีสิทธิ์เป็น administator ถ้าหากไม่ต้องการป้อนรหัส ก็ sudo smbpasswd -a win1 -n หรือ sudo smbpasswd
-a -m win1 -n)