In từ dòng lệnh


28

Làm thế nào tôi có thể in đầu ra dòng lệnh trực tiếp đến máy in.

Tôi đang sử dụng máy chủ ubfox 12.04 và tôi phải sao chép các tập tin vào một thư mục dùng chung và sau đó tải chúng xuống từ bản phân phối ubfox để bàn để in chúng.

Bất kỳ trợ giúp được đánh giá cao


Bạn đã không nói nếu bạn sẽ in văn bản thuần túy hoặc PDF. Một số hệ thống chỉ hỗ trợ văn bản đơn giản ra khỏi hộp, vì vậy điều này cần được đề cập.
alexis

tôi không biết tại sao họ lại hạ thấp câu trả lời của tôi, hãy thử nó.
nux

@nux +1 Tất cả các câu trả lời đều tuyệt vời cảm ơn tất cả các bạn
kamil

@alexis Tôi rõ: Tôi muốn in đầu ra giao diện điều khiển. Ví dụ: ls xuất trực tiếp đến máy in
kamil

Rất tiếc, thực sự bạn đã nói và tôi đã bỏ lỡ nó, xin lỗi!
alexis

Câu trả lời:


35

Chủ yếu có hai lệnh mặc định:

lprlp

man lpr đưa ra đầu ra:

lpr nộp các tập tin để in. Các tệp có tên trên dòng lệnh được gửi đến máy in có tên (hoặc đích mặc định nếu không có đích được chỉ định). Nếu không có tệp nào được liệt kê trên dòng lệnh, lpr sẽ đọc tệp in từ đầu vào tiêu chuẩn.

man lp đưa ra đầu ra:

lp gửi các tập tin để in hoặc thay đổi một công việc đang chờ xử lý. Sử dụng tên tệp "-" để buộc in từ đầu vào tiêu chuẩn.

rất dễ dàng sử dụng lệnh:

lp /path-to-file-to-print

Hoặc là

lpr /path-to-file-to-print

15

Bạn có thể dùng lp

Ví dụ:

man firefox | lp -d printername

Điều này sẽ in trang man từ firefox đến máy in được chỉ định


1
Cảm ơn, tôi cũng cần sử dụng o fit-to-pageđể giữ cho văn bản trên trang tốt hơn một chút. man bash | lp -o media=letter -o portrait -o fit-to-page -, -ở cuối đảm bảo đầu vào tiêu chuẩn được đọc.
Elijah Lynn

1
Nếu máy in của bạn là mặc định, bạn không cần -dtham số. Trên Ubuntu với Unity, máy in mặc định được đặt bằng cách nhấp vào nút Tìm kiếm, sau đó nhập "in" và nó sẽ đưa bạn đến đúng nơi có thể đặt mặc định. Ngoài ra, lptrong ví dụ nói rằng bạn đã ở quanh Unix một thời gian. lprhoạt động tương tự trên Ubuntu.
SDsolar

4

Nếu bạn đã cài đặt chúng, một cặp tùy chọn khác đáng để biết là

Chúng rất hữu ích để cung cấp các trang được đánh số với các tiêu đề và số dòng tùy chọn. Sau đó, bạn cũng có thể sử dụng để in kiểu tập sách (ví dụ: hai trang ở mỗi bên của một tờ)

Tôi sử dụng chúng với các máy in có khả năng Postcript nhưng tôi tin rằng hệ thống in của Ubuntu có thể raster PS cho bất kỳ máy in được hỗ trợ nào.


đây là một ý tưởng hay
kamil

Chắc chắn nhịp đập mã hóa bài viết trực tiếp.
SDsolar

3

Bạn có thể muốn tìm hiểu làm thế nào máy in được truy cập trước - lpstatsẽ cung cấp cho bạn thông tin đó. Nếu bạn so sánh đầu ra của nó trên cả hai hệ thống, có lẽ bạn có thể biết liệu máy in đang đề cập đã được cấu hình trên cả hai hệ thống chưa. lpstat -p -dliệt kê tất cả các máy in với trạng thái của chúng và cho biết cái nào đã được đặt làm máy in mặc định.

Bạn có thể chỉ cần đặt đầu ra của bạn vào lệnh lphoặc lprsau đó. Bạn có thể muốn chèn một bộ lọc cho in ấn đẹp hoặc phân trang. Có một bản tóm tắt tốt về các công cụ trong hướng dẫn sử dụng "Làm nổi bật và định dạng dữ liệu văn bản thuần túy" , nhưng tôi thường chỉ sử dụng sedđể làm nổi bật các lời nhắc và các nội dung khác trước khi gửi mọi thứ quaa2ps


2

Để in tệp .txt trong sử dụng:

command | lpr -P printername -p ( periority from 1 to 100 )

Thí dụ :

ls -l | lpr -P printername -p 1 

1

Câu hỏi là về cách in từ dòng lệnh trên máy chủ và có vẻ như bạn chưa có bất kỳ máy in nào được xác định trên hệ thống đó. Tôi không có hệ thống để kiểm tra vì vậy những điều sau đây là gần đúng, nhưng chúng sẽ cung cấp cho bạn ý tưởng chung:

  1. Đảm bảo hệ thống CUPS được cài đặt và chạy. Nó cung cấp các trình tiện ích sẽ xử lý các công việc in của bạn.
  2. Khi điều này được thực hiện, bạn cần thiết lập một hoặc nhiều máy in mạng để in. Cách thông thường để cài đặt máy in là với tiện ích Quản trị máy in , nhưng rõ ràng bạn không được thiết lập để chạy bất kỳ chương trình GUI nào từ máy chủ của mình - chỉ cần truy cập dòng lệnh qua ssh. Vì bạn đã có một hệ thống máy tính để bàn Ubuntu trên cùng một mạng, tôi sẽ thử sao chép nội dung của thư mục /etc/cupstừ hộp máy tính để bàn vào máy chủ. Nó nên chứa tất cả các định nghĩa máy in và trình điều khiển bạn cần. Kiểm tra các tệp để biết bất kỳ điều chỉnh cần thiết nào (trong trường hợp thiết lập của bạn đề cập đến ID người dùng hoặc mật khẩu khác nhau giữa hai hệ thống), khởi động lại cupsdvà nếu bạn may mắn, bạn sẽ có thể sử dụng lprđể in từ dòng lệnh.

Tái bút Trong một vài trường hợp, bạn có thể cài đặt đủ các tiện ích X để chạy tiện ích Print Admin GUI thông qua kết nối X từ xa đến hộp Ubuntu trên máy tính để bàn của bạn (đăng nhập bằng ssh -X) và xác định máy in bạn cần. Nhưng hy vọng điều này sẽ không cần thiết.


1

Bạn có thể sử dụng lplệnh.

Để in đầu ra của lệnh tới máy in mặc định (sử dụng lpstat -dđể xem máy in mặc định là gì):

echo "test" | lp

Để in tới một máy in cụ thể (sử dụng lpstat -p | awk '{print $2}'để liệt kê tên máy in có sẵn):

echo "test" | lp -d printername

Để in một tệp, thay vì đầu ra lệnh:

lp /path/to/file
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.