Руководство по настройке системы печати Linux.
Авторы:
John P. Davis
Phil Bordelon
Редактор: Wesley Leggette
Переводчик: Юрий Борисов
Всеобъемлющее руководство по настройке печати в Gentoo Linux. Это руководство охватывает локальную и сетевую печать.
1.1.2
18 February 2003
Печать на локальной машине, с использованием CUPS
Установка CUPS и foomaticInstalling CUPS and foomatic
Настройка печати в Gentoo Linux сравнительно безболезненная задача, Благодаря нескольким замечательным программам, таким как CUPS (Common Unix Printing System) и foomatic. Обе эти программы легко доступны из дерева Портэджей, и очень легки в установке для конечных пользователей.
Знайте, что cups кросс-десктопная система, т.е. следуя этим инструкциям Вы можете настроить печать и в GNOME и в KDE. Существуют и другие настройки, такие как KDE's print setup, но я уверен, что CUPS проще в настройке, и более масштабируемая.
Перед установкой CUPS, будет правильно добавить необходимые флаги для USE в файл /etc/make.conf
.Редактирование /etc/make.conf
USE="cups usb other_var1 other_var2"
Добавьте cups и usb (если ваш принтер подключён к USB) к вашему листу переменных USE.
Для получения более полной информации о переменной USE, читайте USE HOWTO.
Установка необходимых пакетов
$ emerge cups $ emerge foomatic
Установка модулей ядра
В зависимости от типа подключения принтера, необходимо активировать соответствующий параллельный или USB порт в ядре.
Для включения поддержки USB принтера, зайдите в USB support и включите Support for USB и USB Printer support. Оба этих модуля будут установлены как usbcore.o и printer.o в директории, где хранятся модули. Я советую использовать модули, т.к. при этом нет необходимости перезагружать компьютер.
Если Вы не уверенны как компилировать ядро, официальный Linux Kernel-HOWTO находится здесь. Убедитесь, что вы разобрались, как компилировать и устанавливать новые модули без пересборки ядра и перезагрузки компьютера. Это действительно экономит время.
После того как ядро построено, и Ваш компьютер перезапущен, время загрузить требуемые модули:
Загрузка USB модулей
$ modprobe usbcore $ modprobe printer
После того, как модули нормально загрузились, подключите принтер, и проверьте /var/log/messages. что бы убедиться, что он обнаружен системой.
Если Вы используете что либо отличное от sysklogd, Ваш файл логов ядра может быть другим.
Проверка сообщений ядра
$ tail /var/log/messages
Вы должны увидеть что то вроде этого:
Вывод /var/log/messages
hub.c: USB new device connect on bus2/2, assigned device number 2 printer.c: usblp0: USB bidirectional printer dev 2 if 0 alt 1 proto 2 vid 0x03F0 pid 0x1104
Если Вы используете принтер с параллельным портом, убедитесь что, он подключен перед перезагрузкой. Когда система подымится, запустите dmesg и убедитесь, что ядро обнаружило Ваш принтер.
Перед тем как настраивать принтер с CUPS, проверим его простой низкоуровневой командой.
Тест принтера с помощью cat
$ touch test.txt $ echo "Hello World" > test.txt $ cat test.txt > /dev/usb/lp0
Для принтеров с параллельным портом:
$ cat test.txt > /dev/lp0
Специализированные драйвера принтеров
Перед тем как вы будете использовать foomatic для генерации PPD файлов, может возникнуть необходимость в нахождении драйверов для Вашего принтера от третьей стороны. Например, Epson обеспечивает драйверами принтеров для некоторых open source операционных систем. Однако, как в случае с Epson, многие из этих драйверов не open source.
Для большинства принтеров кроме HP Inkjets, Вы можете использовать стандартные драйвера принтера Linux. Посетите linuxprinting.org, базу данных по поддержке принтеров, для нахождения информации по вашему конкретному принтеру. Обязательно прочтите документацию, поставляющуюся с любым драйвером, который вы скачаете, на предмет информации об установке и лицензии.
Если Вы используете, притер HP Inkjet, необходимо установить драйвера для принтера hpijs. Этот драйвер управляет всеми необходимыми для работы принтера интерпретациями Postscript. hpijs предназначены только для принтеров HP Inkjet, но доступны из Портэджей для Вашего удобства. Документация от HP для драйверов hpijs расположена в /usr/share/doc/hpijs--<version>. Автор настоятельно рекомендует прочесть её.
Установка hpijs
$ emerge hpijs
Если Вы используете HP Laserjet, поддержка уже доступна через GNOME printing system. Если Вы используете не HP Inkjet printer, Вам не надо устанавливать эти специализированные драйвера.
Настройка файлов PPD
Теперь время приступить к настройке принтера и CUPS. Для корректной интерпретации Вашим принтером языка Postscipt, CUPS необходим PPD (Printer Postscript Definition) файл. Самый простой способ для создания PPD, это использовать foomatic.
Три составляющие информации нужны для корректной работы нижеследующей команды; Вам нужен Ваш printer ID, тип порта к которому подключен принтер, и драйвер для Вашего принтера (это был бы hpijs если бы Вам была необходима установка специальных драйверов как описано выше). printer ID и драйвера могут быть grep'нуты из базы данных foomatic (тип порта например /dev/lp0 или /dev/usb/lp0).
Перед использованием foomatic-configure, не забудьте запустить cupsdc.
Запуск cupsd
$ /etc/init.d/cupsd start
Общее использование foomatic
$ grep $printer_model /usr/share/foomatic/db/source/printer/* $ grep $printer_ID /usr/share/foomatic/db/source/driver/* $ foomatic-configure -s cups -p $номер модели принтера -c $путь к принтеру -n имя очереди -d драйвер
Теперь, более конкретный пример. Следующий код предполагает у Вас наличия принтера Epson Stylus Color 980. Конечно, Вы должны заменить его на свой для вашей модели принтера.
Использование foomatic с Stylus Color 980
$ grep Stylus Color 980 /usr/share/foomatic/db/source/printer/*Теперь посмотрим на строку: /usr/share/foomatic/db/source/printer/317865.xml: $lt;model>Stylus Color 980</model>317865 это идентификатор вашего принтера. $ grep 317865 /usr/share/foomatic/db/source/driver/* /usr/share/foomatic/db/source/driver/gimp-print.xml: <printer><id>printer/317865</id></printer>Ваш принт драйвер - gimp-print. $ foomatic-configure -s cups -p 317865 -c file:/dev/lp0 -n Epson -d gimp-print
Запомните, Вы должны использовать /dev/usb/lp0. если у Вас USB принтер.
Если у Вас возникли проблемы, обратитесь к документации на foomatic, расположенной тут и посетите linuxprinting.org для получения более полной информации.
Настройка CUPS
После того как принтер настроен, CUPS должен установить управление очередью печати. CUPS доступен через web броузер на порту 631 принт сервера.
CUPS имеет встроенный файл конфигурации для демона, который может, но не обязательно, быть модифицирован. Возможно вы захотите взглянуть на него, он называется /etc/cups/cupsd.conf.
Добавление CUPS в default runlevel, и запуск CUPS
$ rc-update add cupsd default $ /etc/init.d/cupsd start
CUPS daemon запущен, откройте Ваш броузер и зайдите сюда.
Надеюсь, что Вы увидите приветствие главной странице настройки. Нажмите на administration вверху страницы, и введите Ваш пароль root, или любого пользователя принадлежащего к группе lp. После аутентификации, нажмите на Add Printer в разделе printers. Введите требуемое имя, описание и расположение Вашего принтера. Вы должны выбрать имя принтера точно такое же как имя очереди которое Вы указали для foomatic. Теперь Вы должны выбрать устройство, к которому подключен Ваш принтер. Выберете тип принтера. На следующей странице выберите Ваш принтер из списка.
Конфигурация закончена! Нажмите на имя своего принтера, и попробуйте напечатать тестовую страницу. Вуаля, настройка Вашего принтера завершена!
Если принтер не работает по каким либо причинам, зайдите в директорию где хранятся логи CUPS, и посмотрите в файл error_log.
Настройка GIMP, OpenOffice.org 1.0, и Abiword для печати с использованием CUPS
GIMP
Перед началом, необходимо установить расширения для печати CUPS в Gimp's CUPS.
Установка gimp-print-cups
$ emerge gimp-print-cups
Теперь, откройте GIMP, и откройте картинку, или просто пустой лист, это не имеет значения, т.к. нам необходим только пункт меню File. Кликнете правой клавишей на изображении и выберете File/Print. Должен появиться диалог для printing, когда он появится, кликнете на new printer. Если Вашего принтера нет в списке, введите имя своего принтера, после чего выберете тип своего принтера. Ok, теперь, Вы установили печать из GIMP. Поиграйтесь с настройками и получите удовольствие.
OpenOffice.org1.0
Печать из OpenOffice.org1.0 не более сложна. Зайдите в
OpenOffice.org1.0/program. и запустите spadmin. Создайте новый принтер, и в окне Choose a Driver, нажмите на import и выберете расположение PPD вашего принтера, он должен быть в /etc/cups/ppd
. Используйте команды принтера по умолчанию, назовите принтер, поставьте его принтером по умолчанию, и всё готово! Запустите OpenOffice.org1.0 и перейдите в экран печати, выберете свой принтер. Напечатайте тестовую страницу, и всё готово.Abiword
Abiword вызывает "segfaults" и "crashes" с CUPS-1.1.15-r2. Рекомендуется вернуться к версии .14 как к возможному решению проблемы.
TODO: добавить поддержку Abiword.
Ну все, локальная настройка печати завершена, теперь перейдем к сетевой.
Сетевая печать с использованием CUPS и SAMBA
Печать на Windows принтере, с Linux машины
Первое, SAMBA должна быть установлена, для работы следующих двух опций сетевой печати.
Установка SAMBA
$ emerge samba
Для получения большей информации о SAMBA, читайте официальный SAMBA HOWTO, находящийся здесь.
Первое, воспользуемся foomatic для создания PPD файла для удалённого принтера. Не забудьте проверить совместимость Вашего принтера с Linux по базе данных linuxprinting.org. Теперь, скажем foomatic где и что за принтер, и переместим сгенерированный PPD в правильное место.
Использование foomatic с Samba
Найдите модель принтера и название драйвера, используя вышеупомянутый способ.
$ foomatic-configure -s cups -p $модель принтера -c smb://user:password@server/share -n имя очереди -d hpijs
Теперь, направьте свой броузера сюда и вызовете конфигурационный GUI CUPS. Проделайте шаги по добавлению принтера, но на этот раз, на вопрос о порте принтера, введите smb://user:password@server/share. Это укажет CUPS путь к принтеру на Windows машине.
Использование Linux как Windows совместимый сервер печати
На Linux можно построить замечательный сервер печати, вообще то, на нём можно отлично построить любой сервер. Первый шаг, это редактирование файла /etc/samba/smb.conf для подгона ваших установок. Файл smb.conf содержит все установки, для того, что бы Ваша Linux машина выглядела как Windows NT server для любых Windows машин. Я включил очень полезный пример smb.conf ниже. Отредактируйте, если надо, для подгонки под ваше сетевое окружение.
Пример smb.conf
[global] workgroup = YOUR_WORKGROUP server string = Gentoo Linux Server encrypt passwords = True security = user smb passwd file = /etc/samba/private/smbpasswd log file = /var/log/samba/log.%m socket options = IPTOS_LOWDELAY TCP_NODELAY domain master = Yes local master = Yes preferred master = Yes os level = 65 dns proxy = No name resolve order = lmhosts host bcast bind interfaces only = True interfaces = eth0 hosts deny = ALL hosts allow = 192.168.1.4 127.0.0.1 (list of allow hosts here) debug level = 1 create mask = 0644 directory mask = 0755 level2 oplocks = True read raw = no write cache size = 262144 [printers] comment = All Printer path = /var/spool/samba browseable = no
Теперь SAMBA настроена, перезапустите samba, идите к Windows машине и установите сетевой принтер. Проще простого, а?