Печать из командной строки

15

Как распечатать вывод командной строки непосредственно на принтер.

Я использую ubuntu server 12.04, и мне приходится копировать файлы в общий каталог, а затем загружать их из дистрибутива ubuntu для печати. ​​

Любая помощь приветствуется

    
задан kamil 11.03.2014 в 13:38
источник

7 ответов

19

В основном есть две команды по умолчанию:

lpr и lp

man lpr дает результат:

  

lpr отправляет файлы для печати. Файлы, имена которых указаны в командной строке   находятся          отправляется на указанный принтер (или по умолчанию, если нет адресата          указан). Если в командной строке не указаны файлы, lpr читает          файл печати со стандартного ввода.

man lp дает результат:

  

lp подает файлы для печати или изменяет незавершенное задание. Использовать   имя файла          «-» для принудительной печати со стандартного ввода.

так легко использовать команду:

lp /path-to-file-to-print

или

lpr /path-to-file-to-print
    
ответ дан Maythux 11.03.2014 в 13:40
источник
11

Вы можете использовать lp

Например:

man firefox | lp -d printername

Это приведет к печати справочной страницы с firefox на указанный принтер.

    
ответ дан Noosrep 11.03.2014 в 13:42
2

Если вы их установили, другая пара опций, о которых стоит знать,

  • аннотация

и

  • a2ps

Они полезны для предоставления нумерованных страниц заголовками и дополнительными номерами строк. Вы также можете использовать для печати стиль буклета (например, две страницы с каждой стороны листа)

Я использую их с принтерами, поддерживающими Postscript, но я считаю, что система печати Ubuntu может растрировать PS для любого поддерживаемого принтера.

    
ответ дан RedGrittyBrick 11.03.2014 в 14:17
1

Чтобы распечатать файл .txt при использовании:

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

Пример:

ls -l | lpr -P printername -p 1 
    
ответ дан nux 11.03.2014 в 13:43
0

Вопрос о том, как печатать из командной строки на сервере , и похоже, что у вас еще нет принтеров, определенных в этой системе. У меня нет системы для проверки, поэтому следующие приблизительные, но они должны дать вам общую идею:

  1. Убедитесь, что система CUPS установлена ​​и запущена. Он обеспечивает демоны, которые будут обрабатывать ваши задания печати. ​​
  2. Как только это произойдет, вам необходимо настроить один или несколько сетевых принтеров на отпечатать. Обычным способом установки принтеров является принтер Admin , но вы, очевидно, не настроены для запуска любого графического интерфейса программ с вашего сервера - просто доступ к командной строке через ssh. поскольку у вас уже есть настольная система Ubuntu в той же сети, я бы попробуйте скопировать содержимое каталога /etc/cups из окна рабочего стола на сервер. Он должен содержать все определения и драйверы принтера, которые вам нужны. Проверьте файлы на наличие необходимых настроек (в случае, если в настройке упоминаются идентификаторы пользователей или пароли, которые отличаются между двумя системами), перезапустите cupsd , и если вам повезет, вы сможете использовать lpr для распечатать из командной строки.

PS. В крайнем случае вы можете установить достаточно утилит X для запуска утилиты GUI Print Admin через удаленное X-соединение с вашим окном Ubuntu (войдите в систему с ssh -X ) и определите нужные вам принтеры. Но, надеюсь, это не понадобится.

    
ответ дан alexis 12.03.2014 в 18:52
0

Возможно, вам захочется выяснить, как к принтеру обращаются в первую очередь - lpstat предоставит вам эту информацию. Если вы сравните свой вывод в обеих системах, вы, вероятно, можете определить, был ли задан этот принтер на обоих из них. lpstat -p -d перечисляет все принтеры с их статусом и сообщает, какой из них был установлен как принтер по умолчанию.

Вы можете просто передать свой вывод команде lp или lpr . Возможно, вы захотите вставить фильтр для печати или разбивки на страницы. Существует хорошее резюме инструментов в файле debian «Выделение и форматирование текстовых данных», , но я обычно использую sed , чтобы выделить подсказки и другие материалы, прежде чем отправлять все через a2ps

    
ответ дан Tatjana Heuser 15.11.2014 в 01:00
0

Вы можете использовать команду lp .

Чтобы распечатать вывод команды на принтер по умолчанию (используйте lpstat -d , чтобы узнать, что такое принтер по умолчанию):

echo "test" | lp

Для печати на конкретном принтере (используйте lpstat -p | awk '{print }' для отображения доступных имен принтеров):

echo "test" | lp -d printername

Чтобы напечатать файл, а не вывод команды:

lp /path/to/file
    
ответ дан waldyrious 16.01.2015 в 20:46