Как я могу распечатать вывод командной строки прямо на принтер.
Я использую Ubuntu Server 12.04, и мне нужно скопировать файлы в общий каталог, а затем загрузить их с настольного дистрибутива Ubuntu, чтобы распечатать их.
Любая помощь приветствуется
Как я могу распечатать вывод командной строки прямо на принтер.
Я использую Ubuntu Server 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
Это распечатает страницу руководства из Firefox на указанном принтере
o fit-to-pageчтобы текст на странице был немного лучше. man bash | lp -o media=letter -o portrait -o fit-to-page -, -в конце обеспечивает чтение стандартного ввода.
-dпараметр. В Ubuntu с Unity принтер по умолчанию устанавливается, нажав кнопку «Поиск», затем напечатав «print», и вы попадете в нужное место, где можно установить значение по умолчанию. Кроме того, lpв примере говорится, что вы работали с Unix в течение некоторого времени. lprработает так же на Ubuntu.
Если они у вас установлены, есть еще пара вариантов, о которых стоит знать.
а также
Они полезны для предоставления пронумерованных страниц с заголовками и необязательными номерами строк. Вы также можете использовать его для печати стиля буклета (например, две страницы на каждой стороне листа)
Я использую их с принтерами с поддержкой Postscript, но считаю, что система печати Ubuntu может растеризовать PS для любого поддерживаемого принтера.
Вы можете узнать, как получить доступ к принтеру в первую очередь - lpstatдаст вам эту информацию. Если вы сравните его выходные данные в обеих системах, вы, вероятно, сможете определить, был ли данный принтер настроен на обеих из них. lpstat -p -dперечисляет все принтеры с их статусом и сообщает, какой из них был установлен в качестве принтера по умолчанию.
Тогда вы можете просто передать свой вывод команде lpили lpr. Вы можете хотеть вставить фильтр для симпатичной печати или нумерации страниц все же. В руководстве Debian есть хорошее резюме инструментов "Подсветка и форматирование простых текстовых данных" , но я обычно просто использую, sedчтобы выделить подсказки и другие вещи перед отправкой всего черезa2ps
Вопрос в том, как печатать из командной строки на сервере , и похоже, что в этой системе еще не определены принтеры. У меня нет системы для проверки, поэтому приведенные ниже являются приблизительными, но они должны дать вам общее представление:
/etc/cupsиз окна рабочего стола на сервер. Он должен содержать все определения принтера и необходимые драйверы. Проверьте файлы на наличие необходимых настроек (в случае, если в вашей настройке указаны идентификаторы пользователей или пароли, которые различаются в двух системах), перезапустите компьютер cupsd, и, если вам повезет, вы сможете использовать его lprдля печати из командной строки.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