Linux/BSD Проще не бывает!
Печать из CUPS на розшаренный в Windows принтер.
Простенькая задачка — необходимо настроить печать по сети из Linux на принтер физически подключенный к машинке с Windows XP и розшаренный по samba. Простенькая потому, что рещается за пару минут 🙂 Итак, оглашу все вводный данные перед началом «плясок с бубном».
WinXP:
- ip — 192.168.0.5
- принтер розшарен под именем HP1320
- Пользователь — print (от имени этого пользователя мы будем печатать на винде)
- Пароль — 123 (это пароль вишеупомянутого пользователя print)
Linux:
- hostname — ws4.intranet
- cups — версия 1.4.2
В моем случае обе машинки были удаленные. Но это не составляет труда, поскольку попасть в админку CUPS можно просто набрав в браузере URL https://ws4.intranet:631/admin
Тут возможны как минимум 3 варианта. Или вас не пустит с ошибкой 403 Forbidden, либо пустит но спросит при первом же действии логин/пароль пользователя имеющего право управлять системой печати и последний вариант — не пустит совсем! Итак лечится каждый вариант посвоему:
- 403 Forbidden — Нужно разрешить удаленное администрирование CUPS. Сделать это можно поправив по ssh на сервере с CUPS конфиг /etc/cups/cupsd.conf (добавить Allow From в нужные вам секции) или зайдя браузером непосредственно с машинки где установлен CUPS на URL https://localhost:631/admin и поставить галочку «Разрешить удаленное администрирование»
- Пускает но при попытке чтолибо поменять/удалить/добавить сразу спрашивает Login/Password — так и должно быть! Просто вводим login/password рута или другого уполномоченного на управление системой печати пользователя.
- Совсем никакой реакции! Висит а потом браузер говорит что немогу подключиться к серверу — Просто надо проверить запущен ли CUPS и разрешено ли ему слушать чтолибо кроме localhost. Не закрыто ли фаерволом? Ну и логи CUPS никто не отменял 🙂
У меня с подключением никаких приколов небыло, просто ввел URL в браузере https://ws4.intranet:631/admin и все прекрасно загрузилось (вернее, уже во время добавления принтера спросило login/password — рутовых данных хватило с головой). Короче, увидел такую вот web админку:
Дальше жмем кнопочку слева «Добавить Принтер» и попадаем к выбору типа принтера.
Тут я выбрал Windows Printer via SAMBA (видно на картинке). Жмем «Продолжить». После этого попадаем на этап указания сервера и строки подключения вцелом. Тут самое интересное — строка подключения 🙂 В ней используется имя пользователя/пароль виндового пользователя для авторизации по SAMBA на виндовой машине. Вобщем, все видно на скриншоте:
Жмем «Продолжить». Попадаем в дополнительные настройки подключаемого принтера. Тут можно прописать название принтера (под этим именем он будет подключен в систему) а также расположение и описание. Пишим то что считаем нужным. Я заполнил так:
Прописали? Жмем «Продолжить». Отрывается следующая страничка мастера подключения принтеров в которой уже предлагается выбрать производителя нашей железки (принтера) ну или сразу ppd файл 🙂
У меня небыло ppd-шки — выбрал просто HP и нажал «Продолжить». Заключительным шагом был выбор драйвера для принтера. Делается все также просто:
Выделяем нужный нам драйвер и жмем «Добавить принтер». Если все сделано как надо, то в списке принтеров должен появиться принтер 🙂 В этом можно убедиться просто зайдя на вкладку «Принтеры». Притом можно ходить как по http так и по https. К примеру я зашел используя такой URL: http://ws4.intranet/printers Вот что там увидел:
Как видите, принтер подключился и ожидает задания 🙂 Ну как пользоваться принтером вы уже и сами разберетесь. Такчто на этом мой рассказ пришел к логическому завершению 🙂
Всем удачи и безглючной печати в придачу 😉
Внешняя память админа
вторник, 6 апреля 2010 г.
Принт-сервер для Windows клиентов на базе CUPS
Раз уж вспомнили про анализ статистики CUPS и WEB-интерфейс для него, заодно расскажу как этот самый CUPS настраивать для возможности печати как с Linux, так и Windows машин.
К тому же самому недавно пришлось переносить на новый сервер и, как выяснилось, сам кое что подзабыл, пришлось помучиться.
Добавил сюда инструкцию как прикрутить к Windows 7.
Что используем:
Gentoo
CUPS 1.3.11
SAMBA 3.0.37
hplip 3.9.12 (linux драйверы принтеров и утилиты от HewlettPackard)
foomatic 3.0 (linux драйверы принтеров)
cups-windows, adobeps (драйверы для Windows)
Установка
Обновляем дерево портеджей:
# USE=»jpeg tiff png ppds samba ssl slp tiff zeroconf» emerge -av cups
# USE=»hpcups hpijs snmp» emerge -av hplip
# USE=»cups» emerge -av foomatic-db foomatic-db-engine foomatic-db-ppds foomatic-filters foomatic-filters-ppds
application/octet-stream application/vnd.cups-raw 0 —
Order Deny,Allow
Deny From All
Allow From 192.168.0.*
AuthType Basic
AuthClass System
Order Deny,Allow
Deny From All
Allow From 192.168.0.*
# /etc/init.d/cupsd start
# rc-update -a cupsd default
Теперь можно подключиться к WEB-интерфейсу CUPS, настроить все необходимые параметры и установить принтеры. Тут уже можно подключать Linux клиентов.
В случае использования принтеров HewlettPackard, запускаем hp-setup и следуем указаниям мастера установки. Все необходимые настройки CUPS будут сделаны автоматически. В процессе работы, мастер попытается установить плагин для CUPS, в моем случае ему это не удалось, ругнулся на то, что установщик плагина не понимает ключа -i. Пришлось установить его в ручную, предварительно установив пакет dbus-python, без него ставиться не захотел. Скачанный мастером плагин можно найти в папке /var/tmp, называется он hplip-3.9.12-plugin.run
samba:
Редактируем /etc/samba/smb.conf
[global]
#Имя рабочей группы/домена
workgroup = MSHOME
#Имя сервера в сети
netbios name = samba
#Комментарий
server string = file and printer server
hosts allow = 192.168.0.
#security обязательно user!
#по завершении всех ниже описанных операций можно изменить на share
security = user
load printers = yes
printing = cups
printcap name = cups
use client driver = no
[share]
#Путь к папке, которую нужно расшарить
path = /home/shared-folder
comment = shared files
read only = no
browseable = yes
guest ok = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = yes
printable = yes
writable = no
guest ok = yes
[print$]
comment = Printer Drivers
path = /usr/share/cups/drivers
browseable = yes
guest ok = yes
read only = yes
write list = root
# /etc/init.d/samba start
# rc-update -a samba default
# cupsaddsmb -H localhost -U root -h localhost -a
в секцию [global] .
Настройка принтера в Windows 7
Устанавливаем в Windows драйвер принтера.
Заходим в меню «Пуск», запускаем пункт «Устройства и принтеры». В открывшемся окне нажимаем кнопку «Установка принтера»:
Нажимаем «Нужный принтер отсутствует в списке».
Печать c Windows-клиента на Linux-сервер CUPS
Бывает необходимо печатать с компьютера под управлением Windows на принтере, подключенном к компьютеру с Linux. В этой статье я напишу, как настроить подобное подключение принтера.
Полагаем, что на машине с Linux все отлично. Уже установлен и настроен CUPS – сервер печати для UNIX -подобных операционных систем, а принтер подключен и печатает все что от него требуют.
Прежде всего, необходимо настроить разделение принтера с другой системой. Это необходимо сделать, если вы планируете использовать принтер как сетевой. Откройте файл /etc/cups/cupsd.conf и разрешите доступ к серверу, изменив строчки с тэгом Location . Например:
Добавьте IP адреса компьютера клиента в строчке Allow From client_ip_address . После того как вы внесли исправления, перезапустите CUPS .
С этого момента к принтеру могут подключаться и печатать другие клиенты согласно списка разрешений.
Теперь о настройке клиентов. О настройке Linux-клиента писать не буду (раз вы осилили настройку локального принтера значит настроите и сетевой). Напишу о подключении с Windows-машины.
Существует два способа подключения.
Первый способ использует Samba. Для этого потребуется установить и настроить Samba, поэтому использовать его мы не будем (хотя этот способ единственный для тех, кто использует Windows версии меньше чем Windows 2000).
Второй способ – использовать непосредственно протокол CUPS (годится для Windows 2000, Windows XP, Windows 7).
На компьютере с Windows, зайдите в Панель Управления -> Принтеры и выберите «Добавить новый принтер». Потом выберите опцию «Подключиться к принтеру в Интернете, в домашней сети или интрасети». В поле для URL введите адрес вашего принтера:
где host_ip_address – это IP адрес вашего Linux сервера, а printer_name – это имя принтера, к которому вы подключаетесь. После этого установите драйвера для принтера на компьютер с Windows. Все установка завершена. Проверьте ваши настройки, попробовав напечатать тестовую страницу. Если тестовая страница распечаталась, на этом все.
А что делать, если тестовая страница не распечаталась? Первым делом смотрим логи CUPS . Проверяем очередь заданий. Поступало что-нибудь на печать, было ли выполнено.
Если на печать ничего не поступало, проверяем разрешения на доступ к серверу CUPS , настройки файрвола.
Если задание на печать поступало, но не выполнено, значит, проверяем сам принтер, проблема в нем, либо в настройках порта принтера.
Если задание на печать поступало и выполнено, но принтер ничего не напечатал, значит, проблема в настройках CUPS . Ваш сервер CUPS не печатает данные в формате RAW (бывает, что по умолчанию эта возможность отключена). Чтобы это исправить, необходимо отредактировать следующие файлы: /etc/cups/mime.convs и /etc/cups/mime.types. Добавьте или раскомментируйте следующие строки:
Перезапустите CUPS . Должно работать.
сен 10, 06:13 Дмитрий в рубрике мучаем UNIX .
Добавить в Twitter
Добавить в Telegram
Ох уж этот рав-формат! Намучался пока свой Samsung SCX-4300 подключал. Целый день потерял, пока разобрался. 🙁
Подключается, на печать документы уходят, принтер жужжит, а не печатает ничего. А все из-за отключенного raw.
Автору РЕСПЕКТ . , аналогично потратил весь день на танцы с бубнам при попытке связать cups и samba вместе ! принтер Samsung SCX -4300 , в сети появляется . коряво подключается затем после перезагрузки отваливается совсем , вычитал массу конфигов с различных форумов . Способ автора самое простое и доступное решение . Спасибо !
Оставить комментарий
Привет, читатель! Здесь пишут о веб-разработке и немного на другие темы, так или иначе связанные с компьютером. Используй страницу поиска и архива для поиска нужной тебе информации.
Печать из windows на cups-принтер
Чтобы иметь возможность сетевой печати на компьютере с виндой на принтер, подключенный к linux-машинке с CUPS-ом (Common Unix Printing System), нужно проделать следующее:
- Проверить, что в CUPS-е разрешён общий доступ к принтеру. Для этого идём по ссылке http://10.1.1.49:631/printers/scx4200 (IP-адрес и имя принтера заменить в соответствии с Вашим случаем). Должна быть надпись «разрешен совместный доступ».
- В windows запускаем «Мастер установки принтеров» — через панель управления или командой
жмём «Далее. «, выбираем опцию «Сетевой принтер или принтер подключенный к другому компьютеру», далее выбираем опцию «Подключиться к принтеру в Интернете, домашней сети или в интрасети»
Если спросит про драйвер, выбрать изготовителя «Generic» и модель «MS Publisher Imagesetter». Жмём «Далее. » и принтер готов к использованию.
Если что-то не работает, в проверить следующее:
- что в firewall-е на linux-машинке открыт TCP-порт 631 для windows-клиента.
- что в винде в Internet Explorer-е ОТКЛЮЧЕН прокси-сервер (пол-часа голову ломал в своё время, пока не допёр посмотреть туда)
Бесплатный антивирус 360 Total Security скачать для защиты компьютера в реальном времени.
CUPS/Печать из-под Windows
Там даже много написано. Чтобы настроить печать в Windows на принтер, подключённый к CUPS, надо:
- Включить доступ к принтерам CUPS снаружи
- Добавить в Windows сетевой принтер, адрес которого совпадает с URL, с помощью которого вы настраиваете принтер в CUPS
- Выбрать драйвер принтера «MS Publisher Imagesetter»
Теперь подробнее. Принтер Cups-PDF на машине grail (имя домена опускаю).
- Заходим на машине с принтером на http://localhost:631/admin (или удалённо на http://grail:631/admin, если разрешено), включаем галочку «Разрешить совместный доступ к принтерам, подключенным к этой системе». Сохраняем.
- Заходим в раздел «Принтеры», тыкаем в нужный принтер. Получаем примерно такой URL: http://grail:631/printers/Cups-PDF . Запоминаем его
- В Windows вызвать «Мастер установки принтеров» («Принтеры и факсы» → «Установка принтера»). «Далее» → «Сетевой принтер…» → «подключиться к принтеру в Интернете…». Сюда вбиваем URL (в примере http://grail:631/printers/Cups-PDF); стоит обратить внимание на то, что адрес принтера — не localhost :). «Далее» → изготовитель «Generic» → принтер «MS Publisher Imagesetter» → «Ok» → «Готово».
Проверить можно, ткнув правой кнопкой в образовавшийся принтер → «Свойства» → «Пробная печать». Кстати, в нашем случае результат (файл .pdf) попадает довольно глубоко: в каталог /var/spool/cups-pdf/ANONYMOUS .
Автор заметки подсказывает на всякий случай проверить ещё 631 порт в брандмауэре на обеих машинах и настройки прокси Windows.