Россия, Томск, ТУСУР, 2010 |
Печать в Solaris
Управление принтерами с помощью admintool
В версиях Solaris, более ранних, чем Solaris 8, управление принтерами осуществлялось посредством admintool. В настоящее время с помощью этой программы можно просмотреть свойства установленных в системе принтеров, но использовать ее для модификации этих свойств или добавления новых принтеров не следует. Для этого существует программа Solaris Print Manager, которая позволяет управлять всеми свойствами принтеров, добавлять новые и удалять ненужные принтеры из системы.
Управление принтерами с помощью Solaris Management Console
В настоящее время в Solaris (версия 9) не реализовано управление принтерами с помощью Solaris Management Console. В лекции 26 рассказывается о том, какие задачи можно выполнять в этой программе.
Файлы и каталоги конфигурации подсистемы печати Solaris
Принтер, выбираемый по умолчанию, должен быть поименован в переменных среды окружения LPDEST или PRINTER (проверяются именно в таком порядке), либо в переменной _default в файлах $HOME/.printers, /etc/printers.conf или в карте NIS printers.conf.byname. Если ни в одном из этих источников параметр с именем _default не обнаружится, стало быть, запрос на печать без указания имени принтера не может быть выполнен.
Исполняемые файлы подсистемы печати находятся в /usr/bin (lp, lpstat, cancel), /usr/sbin (lpadmin, lpusers, lpshut). В /usr/share/lib/terminfo содержится база данных принтеров и терминалов, в /usr/lib/lp находятся lpshed, фильтры для обработки файла перед отправкой на печать и некоторые другие полезные программы.
Каталог /etc/lp содержит файлы настроек подсистемы печати, а /var/spool/lp хранит текущие задания на печать и информацию о них.
Файл протокола подсистемы печати - это /var/lp/logs/requests:
... = hplj-1, uid 0, gid 1, size 5, Срд 05 Май 2004 19:48:34 z hplj C 1 D hplj F /export/home/filip/q P 20 T /export/home/filip/q t simple U root s 0x0040 v 2 = hplj-2, uid 0, gid 1, size 5, Срд 05 Май 2004 19:49:11 z hplj C 1 D hplj F /export/home/filip/q P 20 T /export/home/filip/q t simple U root s 0x0040 v 2 ...
Взаимодействие со службами имен
Для того чтобы корректно направить задание на печать к требуемому принтеру, программе lp необходимо знать содержимое файлов /etc/printers.conf и /etc/nsswitch.conf:
cat /etc/printers.conf ... lp:\ :bsdaddr=printbox,hplj, Solaris: ... cat /etc/nsswitch.conf ... printers: dns, nisplus, files ...
Из первого файла lp выясняет, что для печати на принтер с локальным именем lp следует отправить задание принтеру hplj на компьютере printbox. Из второго файла становится ясно, что для того, чтобы найти IP-адрес компьютера printbox, следует воспользоваться службами имен в следующем порядке: обратиться к серверу имен службы DNS (согласно содержимому /etc/resolv.conf); если с помощью DNS найти адрес не удалось, надо обратиться к серверу NIS+, а если и эта попытка оказалась неудачной, посмотреть, нет ли записи о printbox в файле /etc/inet/hosts.
Конечно, такое взаимодействие с сетевыми службами понадобится только при печати на удаленном принтере, так как доступ к локальному принтеру осуществляется без обращения сетевым службам.