Ключевые слова:cups, print, linux, samba, win, gentoo, (найти похожие документы)
From: Юрий Борисов <[email protected]>
Newsgroups: http://www.linuxshop.ru
Date: Mon, 25 Sep 2003 14:31:37 +0000 (UTC)
Subject: Руководство по настройке системы печати на базе CUPS
Оригинал: http://www.linuxshop.ru/unix4all/?cid=20&id=214
Авторы: John P. Davis, Phil Bordelon
Редактор: Wesley Leggette
Переводчик: Юрий Борисов <[email protected]>
Всеобъемлющее руководство по настройке печати в Gentoo Linux. Это
руководство охватывает локальную и сетевую печать.
Ver. 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 http://www.gentoo.org/doc/en/use-howto.xml
-----------
Установка необходимых пакетов
$ emerge cups
$ emerge foomatic
-----------
Установка модулей ядра
В зависимости от типа подключения принтера, необходимо активировать
соответствующий параллельный или USB порт в ядре.
Для включения поддержки USB принтера, зайдите в USB support и включите
Support for USB и USB Printer support. Оба этих модуля будут
установлены как usbcore.o и printer.o в директории, где хранятся
модули. Я советую использовать модули, т.к. при этом нет необходимости
перезагружать компьютер.
Если Вы не уверенны как компилировать ядро, официальный Linux
Kernel-HOWTO находится здесь http://www.tldp.org/HOWTO/Kernel-HOWTO.html
Убедитесь, что вы разобрались, как компилировать и устанавливать новые
модули без пересборки ядра и перезагрузки компьютера. Это действительно
экономит время.
После того как ядро построено, и Ваш компьютер перезапущен, время
загрузить требуемые модули:
-----------
Загрузка 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 - http://www.epkowa.co.jp/english/linux_e/linux.html
Для большинства принтеров кроме HP Inkjets, Вы можете использовать
стандартные драйвера принтера Linux. Посетите http://www.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: <model>Stylus Color 980</model>
$ grep 317865 /usr/share/foomatic/db/source/driver/*
/usr/share/foomatic/db/source/driver/gimp-print.xml: <printer><id>printer/317865</id></printer>
$ foomatic-configure -s cups -p 317865 -c file:/dev/lp0 -n Epson -d gimp-print
Запомните, Вы должны использовать /dev/usb/lp0. если у Вас USB
принтер.
Если у Вас возникли проблемы, обратитесь к документации на foomatic,
расположенной на http://www.linuxprinting.org/foomatic/USAGE
и посетите http://www.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 запущен, откройте Ваш броузер и зайдите http://127.0.0.1:631/
Надеюсь, что Вы увидите приветствие главной странице настройки.
Нажмите на 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, находящийся http://www.tldp.org/HOWTO/SMB-HOWTO.html
Первое, воспользуемся foomatic для создания PPD файла для удалённого
принтера. Не забудьте проверить совместимость Вашего принтера с Linux
по базе данных http://www.linuxprinting.org. Теперь, скажем foomatic где и
что за принтер, и переместим сгенерированный PPD в правильное место.
Использование foomatic с Samba
Найдите модель принтера и название драйвера, используя вышеупомянутый
способ.
$ foomatic-configure -s cups -p $модель принтера -c smb://user:password@server/
share -n имя очереди -d hpijs
Теперь, направьте свой броузера http://127.0.0.1:631/ и вызовете конфигурационный
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 машине и
установите сетевой принтер. Проще простого, а?
CUPS это не только сервис печати, это еще и полнофункциональная сетевая печать.
Кто мешает печатать напрямую в CUPS?
windows начиная с 2000 версии имеет встроенную поддержку!
>отсутствие драйверов, например, у CUPS для печати на USB принтер
Бестолковый какой-то! Даже не разобрался о чём речь, а уже лезет отвечать. Речь тут не идёт о том, чтобы печатать через линь-машину, а идёт о том, что с помощью Купса МОЖНО печатать напрямую с вин-машины минуя самбу. Читайте документацию в конце концов!
хочу подключить принтер в свой linux, принтер на windows клиенте
cupsd samba запущены.
Я ищу принтер через центр управления (root права), он его видит, но когда добавляю драйвер, то он мне говорит что "не удается загрузить требуемый драйвер"
"не удается создать требуемый драйвер Foomatic [Canon-LBP-1120,capt]. либо драйвер не существует,либо у вас недостаточно прав"
что мне делать, как добавить драйвер ну и вообще утра доброго Smiley
поставил capt драйвер предварительно скачав его с сайта
make
sudo make install
Здравствуйте. возникла проблема с сетевой печатью на mandriva 2011 pwp. после установки и настройки (в том числе и сет принтер находящегося на винде - все работало) на следующий день принтер изчез... в cups ярлык добавления принтера стал не актиным, пробовал с root, переустанавливал пакеты cups и дров, результат то же, да еще пишет что служба не запущена, (выставлен автоматом) нажимаю запустить-пишет запущена и тут же переходит в режим незапущена, это может глюки mandriva pwp 2011, на 2011 Роза десктоп все работало без проблем