ฉันจะพิมพ์เอาต์พุตบรรทัดคำสั่งโดยตรงไปยังเครื่องพิมพ์ได้อย่างไร
ฉันใช้เซิร์ฟเวอร์อูบุนตู 12.04 และฉันต้องคัดลอกไฟล์ไปยังไดเรกทอรีที่ใช้ร่วมกันแล้วดาวน์โหลดจากการเผยแพร่ Ubuntu บนเดสก์ท็อปเพื่อพิมพ์
ความช่วยเหลือใด ๆ ที่ชื่นชม
ฉันจะพิมพ์เอาต์พุตบรรทัดคำสั่งโดยตรงไปยังเครื่องพิมพ์ได้อย่างไร
ฉันใช้เซิร์ฟเวอร์อูบุนตู 12.04 และฉันต้องคัดลอกไฟล์ไปยังไดเรกทอรีที่ใช้ร่วมกันแล้วดาวน์โหลดจากการเผยแพร่ Ubuntu บนเดสก์ท็อปเพื่อพิมพ์
ความช่วยเหลือใด ๆ ที่ชื่นชม
คำตอบ:
ส่วนใหญ่มีสองคำสั่งเริ่มต้น:
lpr
และ lp
man lpr
ให้ผลลัพธ์:
LPR ส่งไฟล์สำหรับการพิมพ์ ไฟล์ที่มีชื่อในบรรทัดคำสั่งจะถูกส่งไปยังเครื่องพิมพ์ที่ระบุชื่อ (หรือปลายทางเริ่มต้นหากไม่มีการระบุปลายทาง) หากไม่มีไฟล์อยู่ในบรรทัดคำสั่ง lpr จะอ่านไฟล์พิมพ์จากอินพุตมาตรฐาน
man lp
ให้ผลลัพธ์:
lp ส่งไฟล์เพื่อพิมพ์หรือแก้ไขงานที่ค้างอยู่ ใช้ชื่อไฟล์ของ "-" เพื่อบังคับให้พิมพ์จากอินพุตมาตรฐาน
ใช้คำสั่งง่าย ๆ :
lp /path-to-file-to-print
หรือ
lpr /path-to-file-to-print
คุณสามารถใช้ได้ lp
ตัวอย่างเช่น:
man firefox | lp -d printername
นี่จะพิมพ์ man page จาก firefox ไปยังเครื่องพิมพ์ที่ระบุ
o fit-to-page
เพื่อทำให้ข้อความบนหน้าเว็บดีขึ้นอีกเล็กน้อย man bash | lp -o media=letter -o portrait -o fit-to-page -
ที่-
ในตอนท้ายเพื่อให้แน่ใจว่าเข้ามาตรฐานจะอ่าน
-d
พารามิเตอร์ ใน Ubuntu ที่มี Unity เครื่องพิมพ์เริ่มต้นจะถูกตั้งค่าโดยคลิกที่ปุ่มค้นหาจากนั้นพิมพ์ "พิมพ์" และจะพาคุณไปยังสถานที่ที่เหมาะสมซึ่งสามารถตั้งค่าเริ่มต้นได้ นอกจากนี้lp
ในตัวอย่างบอกว่าคุณอยู่ในระบบปฏิบัติการ Unix มาระยะหนึ่งแล้ว lpr
ทำงานเหมือนกันบน Ubuntu
หากคุณติดตั้งแล้วตัวเลือกอื่น ๆ ที่ควรรับรู้คือ
และ
สิ่งเหล่านี้มีประโยชน์สำหรับการจัดเตรียมหน้ากระดาษที่มีหมายเลขโดยมีส่วนหัวและหมายเลขบรรทัดเพิ่มเติม นอกจากนี้คุณยังสามารถใช้พิมพ์สไตล์หนังสือเล่มเล็ก (เช่นสองหน้าในแต่ละด้านของแผ่นงาน)
ฉันใช้สิ่งเหล่านี้กับเครื่องพิมพ์ที่มีคุณสมบัติ Postscript แต่ฉันเชื่อว่าระบบการพิมพ์ของ Ubuntu สามารถทำให้ PS เป็นแบบ rasterize สำหรับเครื่องพิมพ์ที่รองรับ
คุณอาจต้องการค้นหาวิธีการเข้าถึงเครื่องพิมพ์ก่อน - lpstat
จะให้ข้อมูลนั้นแก่คุณ หากคุณเปรียบเทียบผลลัพธ์ในทั้งสองระบบคุณอาจบอกได้ว่าเครื่องพิมพ์ที่มีปัญหานั้นได้รับการกำหนดค่าในทั้งสองระบบหรือไม่ lpstat -p -d
แสดงรายการเครื่องพิมพ์ทั้งหมดที่มีสถานะและแจ้งว่ามีการตั้งค่าเครื่องพิมพ์เครื่องใดเป็นเครื่องพิมพ์เริ่มต้น
คุณสามารถไพพ์เอาท์พุทของคุณไปยังlp
หรือlpr
คำสั่งแล้ว คุณอาจต้องการแทรกตัวกรองสำหรับพิมพ์สวยหรือแบ่งหน้า มีเครื่องมือสรุปที่ดีในคู่มือ debian "การไฮไลต์และการจัดรูปแบบข้อมูลข้อความล้วน"แต่โดยปกติฉันจะใช้sed
เพื่อไฮไลต์ข้อความแจ้งและสิ่งอื่น ๆ ก่อนส่งทุกอย่างผ่านa2ps
หากต้องการพิมพ์ไฟล์. txt ในการใช้งาน:
command | lpr -P printername -p ( periority from 1 to 100 )
ตัวอย่าง:
ls -l | lpr -P printername -p 1
คำถามเกี่ยวกับวิธีการพิมพ์จากบรรทัดคำสั่งบนเซิร์ฟเวอร์และดูเหมือนว่าคุณยังไม่มีเครื่องพิมพ์ที่กำหนดไว้ในระบบนั้น ฉันไม่มีระบบที่จะตรวจสอบดังนั้นข้อมูลต่อไปนี้เป็นค่าประมาณ แต่ควรให้แนวคิดทั่วไปกับคุณ:
/etc/cups
จากกล่องเดสก์ท็อปไปยังเซิร์ฟเวอร์ ควรมีคำจำกัดความเครื่องพิมพ์และไดรเวอร์ที่คุณต้องการ ตรวจสอบไฟล์สำหรับการปรับเปลี่ยนที่จำเป็น (ในกรณีที่การตั้งค่าของคุณระบุ ID ผู้ใช้หรือรหัสผ่านที่แตกต่างกันระหว่างสองระบบ) ให้รีสตาร์ทcupsd
และถ้าคุณโชคดีคุณจะสามารถlpr
พิมพ์จาก commandline ได้PS คุณสามารถติดตั้งยูทิลิตี้X ให้เพียงพอเพื่อเรียกใช้ยูทิลิตี้Print Admin GUI ผ่านการเชื่อมต่อ X ระยะไกลไปยังกล่อง Ubuntu บนเดสก์ท็อปของคุณ (ลงชื่อเข้าใช้ด้วยssh -X
) และกำหนดเครื่องพิมพ์ที่คุณต้องการ แต่หวังว่านี่จะไม่จำเป็น
คุณสามารถใช้lp
คำสั่ง
หากต้องการพิมพ์ผลลัพธ์ของคำสั่งไปยังเครื่องพิมพ์เริ่มต้น (ใช้lpstat -d
เพื่อดูว่าเครื่องพิมพ์เริ่มต้นคืออะไร):
echo "test" | lp
หากต้องการพิมพ์ไปยังเครื่องพิมพ์เฉพาะ (ใช้lpstat -p | awk '{print $2}'
เพื่อแสดงรายการชื่อเครื่องพิมพ์ที่มี):
echo "test" | lp -d printername
หากต้องการพิมพ์ไฟล์แทนที่จะเป็นเอาต์พุตคำสั่ง:
lp /path/to/file