Как распечатать вывод командной строки непосредственно на принтер.
Я использую сервер ubuntu 12.04, и мне приходится копировать файлы в общий каталог, а затем загружать их с рабочего стола ubuntu для печати их.
Любая помощь приветствуется
Вы можете использовать lp
Например:
man firefox | lp -d printername
Это напечатает справочную страницу с firefox на указанный принтер
Если вы их установили, другая пара опций, о которых стоит знать, это
enscriptи
enscript 5]Они полезны для предоставления нумерованных страниц заголовками и дополнительными номерами строк. Вы также можете использовать для печати стиля буклета (например, две страницы на каждой стороне листа)
Я использую их с принтерами, поддерживающими Postscript, но я считаю, что система печати Ubuntu может растрировать PS для любого поддерживаемого принтера.
Чтобы напечатать файл .txt при использовании:
command | lpr -P printername -p ( periority from 1 to 100 )
Пример:
ls -l | lpr -P printername -p 1
Вопрос заключается в том, как печатать из командной строки на сервере, и похоже, что у вас еще нет принтеров, определенных в этой системе. У меня нет системы для проверки, поэтому следующие приблизительные, но они должны дать вам общую идею:
Убедитесь, что система CUPS установлена и запущена. Он предоставляет демонов, которые будут обрабатывать ваши задания печати. После этого вам нужно настроить один или несколько сетевых принтеров для печати. Обычным способом установки принтеров является утилита Printer Admin, но вы, очевидно, не настроены на запуск каких-либо графических программ с вашего сервера - просто доступ к командной строке через ssh. Поскольку у вас уже есть настольная система Ubuntu в той же сети, я бы попытался скопировать содержимое каталога /etc/cups из окна рабочего стола на сервер. Он должен содержать все определения и драйверы принтера, которые вам нужны. Проверьте файлы на наличие необходимых настроек (в случае, если в настройках указаны идентификаторы пользователей или пароли, которые отличаются между двумя системами), перезапустите cupsd, и если вам повезет, вы сможете использовать lpr для печати из командной строки.PS. В крайнем случае вы можете установить достаточное количество утилит X для запуска утилиты GUI Print Admin с помощью удаленного X-соединения на ваш рабочий стол Ubuntu (войдите с ssh -X) и определите нужные вам принтеры. Но, надеюсь, это не понадобится.
Возможно, вам захочется узнать, как получить доступ к принтеру в первую очередь - lpstat предоставит вам эту информацию. Если вы сравните свой вывод в обеих системах, вы, вероятно, можете определить, был ли задан этот принтер на обоих из них. lpstat -p -d перечисляет все принтеры с их статусом и сообщает, какой из них был установлен как принтер по умолчанию.
Затем вы можете просто передать свой вывод команде lp или lpr. Возможно, вы захотите вставить фильтр для печати или разбивки на страницы. В руководстве по сборке debian «Highlighting and formatting plain text data» есть хорошее резюме инструментов, но обычно я использую sed, чтобы выделить подсказки и другие материалы, прежде чем отправлять все через a2ps
Вы можете использовать команду lp.
Чтобы распечатать вывод команды на принтер по умолчанию (используйте lpstat -d, чтобы узнать, что такое принтер по умолчанию):
Для печати на конкретном принтере (используйте lpstat -p | awk '{print $2}' для отображения доступных имен принтеров):
echo "test" | lp -d printername
Чтобы напечатать файл, а не выход команды:
lp /path/to/file