Что делает программа служба печати
Перейти к содержимому

Что делает программа служба печати

  • автор:

Что делает программа служба печати

Служба печати CUPS (Common Unix Printing System) предназначена для унификации доступа ко всем принтерам, находящимся в локальной сети. Возможно, будь Linux единственной ОС в мире, всем хватало бы возможностей стандартной Berkeley LPD и такая система не понадобилась, но в реальных условиях именно CUPS может обеспечить доступ к Windows и SMB-принтерам, обладая при этом возможностью периодически обновлять информацию о принтерах и объединять их в группы (в зависимости от типа или других параметров).

Компания Easy Software Products, разработавшая CUPS, распространяет ее под лицензией GPL, предоставляя на платной основе поддержку и дополнительные функции .

Программу можно скачать с сайта www.cups.org, либо получить в виде RPM в большинстве дистрибутивов Linux (есть в Mandrake, RedHat и SuSE). (ALT Linux, ASP Linux, Debian, Slackware и т.д. и т.п. Любой современный дистрибутив содержит в своём составе пакеты CUPS. Прим.ред.)

Как это работает?

По идее, CUPS становится полной заменой системы печати LPD, подставляя на место команды lpr и драйверов LPD свои аналоги. Программы Linux (и Unix) не замечают этой подмены, так как обе системы основаны на базе языка описания страниц Postscript.

В CUPS включена поддержка большинства принтеров, подключаемых через LPT, USB и даже COM-порты. Конечно, подключение через COM-порт — это не лучший вариант, но если у вас еще остались старые матричные принтеры, подключаемые через этот интерфейс, то CUPS позволит Вам собрать из кучи такого железа неплохой принт-сервер. Может быть, это как раз то, что нужно Вашей школе?

Обновление информации о принтерах

Служба CUPS обладает возможностью, привычной скорее для мира Windows, чем для Linux: она извещает все компьютеры в локальной сети о принтерах, доступных для печати и их состоянии.

Естественно (в отличие от Windows :), эта ее способность поддается настройке. Внося изменения в файл конфигурации CUPS (cupsd.conf), можно определить какие компьютеры (точнее, в каких подсетях) будут получать такие извещения и как часто, что позволяет сократить неизбежный в таком случае широковещательный трафик.

Классификация принтеров

Группа принтеров или класс (в терминологии CUPS) — это несколько принтеров, которые пользовательские приложения воспринимают как один. К примеру, можно создать класс ЦВЕТНЫЕ ПРИНТЕРЫ, объединяющие все цветные принтеры. Пользователь может настроить свою программу так чтобы печатать на принтер ЦВЕТНЫЕ ПРИНТЕРЫ, и получить распечатку на любом из этих принтеров. На каком именно — будет зависеть от прав этого пользователя, либо от того, какой из принтеров будет доступен в это время

В то же время, даже если какой-либо принтер является членом группы, это не мешает пользователю печатать именно на этот принтер. А вот уже с помощью списков доступа CUPS можно добиться того, что конкретный принтер будет отвергать такие попытки, а группа принтеров, в которые он входит — напечатает задание. В результате пользователи смогут печатать на группы принтеров, а не на один принтер — все зависит от Вас!

Пример 1

В моей лаборатории есть 5 ПК, на каждом из которых установлен Linux и работает CUPS. Если мне нужно заменить принтер на одном из них, то с помощью web-интерфейса CUPS я :

  • отключаю старый принтер,
  • подключаю новый принтер,

— и все это за 30 секунд. Еще через 30 секунд все остальные ПК получают обновленную информацию об используемом принтере. Глядишь, как раз за эту минуту мой лазерный принтер и прогреется.

Пример 2

Я хочу разделить все принтеры моей школьной сети на три класса:

  • Класс «Лазерный Ч/Б печать» — на нем могут печатать все.
  • Класс «Цветной черновая печать» — на нем могут печатать все, но с ограничением количества.
  • Класс «Цветной качественная печать» — на нем можно печатать только по моему разрешению.

Большинство имеющихся принтеров непосредственно доступны с других Windows-компьютеров, смысл же установки CUPS на Linux-шлюзе и подключения принтеров к нему состоит в следующем:

  • пользователи смогут найти все принтеры в одном месте;
  • пользователи смогут печатать на принтеры, находящиеся в других подсетях и соединенных этим шлюзом, при этом не создавая неизбежного ранее (для Windows) широковещательного трафика , значительно снижающего производительность сети;
  • я буду уверен в том, что если преподаватель, находящийся на 4-ом этаже, пошлет задание на принтер, находящийся на первом, а там внезапно закончится бумага, то его задание будет перенаправлено и распечатано на бездействующем в это время принтере.

Интеграция с Windows

Если вы, работая за Linux-компьютером, хотите напечатать на Windows-принтере (либо наоборот), вам понадобится работающий сервер Samba. Установите его и проверьте, как он работает (например, попробуйте под обычным пользователем просмотреть свой домашний каталог на Linux-машине с компьютера Windows). Если у вас установлена Windows 98 или более поздняя её версия, то не забудьте указать в файле /etc/samba/smb.conf параметр «encrypt password = yes».

CUPS может использовать принтеры, к которым на Windows-компьютере открыт общий доступ, а также сетевые принтеры, использующие протокол SMB — в ее терминах они называются «Windows printer using Samba». Все, что нужно — просто указать адрес принтера в формате: smb://server/printer.

Сетевые принтеры

Сетевой принтер (то есть принтер, оснащенный сетевой картой и непосредственно подключенный к локальной сети) может использовать любой из множества существующих протоколов:

  • Протокол SMB — такой принтер можно увидеть в «Сетевом окружении» Windows.
  • Протокол LPD — несколько моделей принтеров Epson имеют встроенную поддержку TCP/IP и LPD и к ним можно подключиться через 515 порт, как к любому Linux-компьютеру. Для такого принтера в настройках CUPS попробуйте указать queue lp
  • Фирменный протокол (плохо дело..).

В первом и втором случае действуйте так, как будто сетевой принтер — это обычный принтер, подключаемый к компьютеру. В третьем случае — как говорится, приплыли (скорее всего:). Лично со мной такое случилось, когда я пытался достучаться до сетевого принтера Lexmark — в итоге мне пришлось подключить его к Windows-компьютеру и сделать его доступным в сети уже оттуда.

Настройка

Настраивать CUPS можно двумя способами. Можно непосредственно редактировать файл конфигурации /etc/cups/cupsd.conf, а можно набрать в браузере http://localhost:631 и воспользоваться интуитивно понятным веб-интерфейсом, очень похожим на веб-интерфейсы многих сетевых принтеров:

По умолчанию доступ к веб-интерфейсу разрешен только с того компьютера, где работает CUPS (локального интерфейса). Если вас это не устраивает, измените следующие строки в файле конфигурации cupsd.conf, и перезапустите CUPS:

 # определяется политика доступа к Order Deny, Allow # главному меню веб-интерфейса Deny From All Allow From 127.0.0.1 # разрешить доступ с локального интерфейса Allow From 192.168.1.* # разрешить доступ с любого компьютера # в подсети 192.168.1.0/24 Allow From mybox.mydomain # и еще с моего компьютера в другой подсети 

Также можно установить политику доступа к каждому пункту меню (Location в терминах CUPS) с любого IP-адреса, либо подсети. Это означает, что какие-то компьютеры смогут получить доступ лишь к самому серверу, но не смогут получить доступ ко всему меню конфигурации, либо каким-то отдельным его пунктам.

Если Linux-компьютер выполняет одновременно две роли: принт-сервера и моста между двумя или большим количеством IP-сетей, можно также указать, на каких интерфейсах CUPS будет принимать запросы:

Listen 127.0.0.1:631 # Не удаляйте эту строку ! Listen servename:631 # Здесь можно указать имя вашего сервера Listen 192.168.1.1:631 # Либо его IP-адрес

Это означает, что веб-интерфейс будет доступен только через интерфейс eth0 (его IP-адрес 192.168.1.1), и недоступен на интерфейсе eth1 (его IP-адрес 172.16.0.1).

По умолчанию при доступе к веб-интерфейсу используется обычная схема авторизации (имя пользователя/пароль), но можно использовать и SSL, что довольно просто настраивается, опять же путем редактирования cupsd.conf.

Кроме этого через веб-интерфейс можно получить доступ к документации, описывающей возможности CUPS и способы ее настройки.

PS. Всем, кто хотел бы перевести эту статью: с нею можно обращаться так же, как с программой под лицензией GPL — т.е. вы свободно можете (я только за!) копировать ее, публиковать и переводить — только, ПОЖАЛУЙСТА, известите меня об этом! Очень хотелось бы иметь список переводов — надеюсь, что это поможет мне на сессии 🙂

Алан преподаёт Computer Science в средней школе и университете в Андорре. Из увлечений и хобби можно выделить научную фотографию (в том числе и цифровую), путешествия, коллекционирование процессоров и прочих камней. 🙂

Copyright (c) 2003, Alan Ward.

Принудительная очистка очереди печати в Windows

date

12.04.2016

user

itpro

directory

Windows 10

comments

комментариев 9

Рассмотрим особенности очистки «подвисшей» очереди печати в системах Windows. Рассмотренная методика позволяет удалить из очереди документы, которые по какой-то причине не печатаются и мешают отправке на печать других файлов и документов.

«Мягкий» способ очистки текущей очереди печати принтера выполняется из окна Панели управления (Control Panel ->Devices and Printers). В списке принтеров нужно найти проблемный принтер, щелкнуть по нему ПКМ и выбрать в меню пункт See what’s printing.

Список принтеров в панели управления

В открывшемся окне управления очередью печати принтера в меню выбираем пункт Printer-> Cancel All Documents . Все документы, в том числе зависшие, должны удалиться из очереди печати принтера.

Удалить документы из очереди печати Windows

В том случае, если какие-то документы не удаляются из очереди печати, значит они в данный момент заблокированы системой или драйвером самого принтера. Они пропадут из очереди печати после перезагрузки. Если перезагрузка выполнить проблематично, можно принудительной удалить все задания из очереди службы печати Windows.

Важно. Приведенная ниже методика очистки очереди печати удаляет ВСЕ имеющиеся задания печати на ВСЕХ принтерах системы. Это нужно иметь в виду, особенно при очистке зависшей очереди печати на выделенном принт-сервере на базе Windows.

Напомним, что при отправке документа на печать на принтер, служба печати Windows (Print Spooler) формирует задание печати и создает два файла: один с расширением .SHD (содержит настройки задания печати), второй — .SPL (хранит собственно данные, которые нужно распечатать). Таким образом, задания печати будут доступны службе печати, даже после закрытия программы, инициировавшей печать. Данные файлы хранятся в каталоге спулера (по умолчанию, «%systemroot%\System32\spool\PRINTERS”). После успешной печати, эти файлы автоматически удаляются из этого каталога, и, соответственно, из очереди печати.

Файлы спуулера %systemroot%\System32\spool\PRINTERS

Нам нужно вручную очистить содержимое этой папки, тем самым мы удалим все задания в памяти Print Spooler.

Откройте командную строку с правами администратора и последовательно выполните команды:

net stop spooler
del %systemroot%\system32\spool\printers\*.shd /F /S /Q
del %systemroot%\system32\spool\printers\*.spl /F /S /Q
net start spooler

Принудительная очистка заданий в очереди печати

Этот набор команд последовательно останавливает службу печати Windows, рекурсивно удаляет все файлы с расширениями *.shd и *.spl из каталога %systemroot%\system32\spool\printers и запускает остановленную службу.

Архив с готовым bat файлом можно скать по ссылке reset_spooler.zip (запускать от имени администратора)

Путь к папке спулера службы печати Windows

Примечание. В том случае, если скрипт не работает, проверьте, что в свойствах принт-сервера (Панель управления -> Devices and Printers -> кнопка Print Server Properties в верхнем меню -> вкладка Advanced -> в поле Spool folder location указан каталог C:\windows\system32\spool\Printers. В 99% случаев это должно быть так. Если путь к каталогу спулера отличается, нужно будет поправить путь к нему в скрипте.

Рассмотренные выше методики помогут очистить очередь печати в любой версии Windows, будь то Windows 7, 8 или Windows 10.

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Служба диспетчера очереди печати аварийно завершает работу при печати документов на общий принтер сети в Windows

Windows Server 2012 R2 Datacenter Windows Server 2012 R2 Standard Windows Server 2012 R2 Essentials Windows Server 2012 R2 Foundation Windows 8.1 Enterprise Windows 8.1 Pro Windows 8.1 Windows Server 2008 R2 Service Pack 1 Windows Server 2008 R2 Datacenter Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Standard Windows Server 2008 R2 Foundation Windows Server 2008 R2 for Itanium-Based Systems Windows 7 Service Pack 1 Windows 7 Ultimate Windows 7 Enterprise Windows 7 Professional Windows 7 Home Premium Windows 7 Home Basic Windows 7 Starter Еще. Меньше

В данной статье описывается проблема, возникающая при печати документов в Windows 8.1, Windows RT 8.1, Windows Server 2012 R2, Пакет обновления 1 (SP1) для Windows 7 или Windows Server 2008 R2 с пакетом обновления 1. Доступно исправление для решения этой проблемы. Данное исправление содержит необходимые компоненты.

Симптомы

Эта проблема возникает, если используется общий принтер сети IPv4-адрес.

Причина

Эта проблема возникает из-за опустошения буфера при подключении к общему принтеру в сети.

Решение

Сведения об исправлении

Существует исправление от корпорации Майкрософт. Однако данное исправление предназначено для устранения только проблемы, описанной в этой статье. Применяйте данное исправление только в тех системах, которые имеют данную проблему.

Если исправление доступно для скачивания, имеется раздел «Пакет исправлений доступен для скачивания» в верхней части этой статьи базы знаний. Если этого раздела нет, отправьте запрос в службу технической поддержки для получения исправления.

Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Полный список телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос на обслуживание посетите следующий веб-узел корпорации Майкрософт:

http://support.microsoft.com/contactus/?ws=supportПримечание. В форме «Пакет исправлений доступен для скачивания» отображаются языки, для которых доступно исправление. Если нужный язык не отображается, значит исправление для данного языка отсутствует.

Предварительные условия

Чтобы применить это обновление, необходимо Обновить 2919355 установлен в Windows Server 2012 R2 или Windows 8.1. Или должен быть установлен в Windows 7 или Windows Server 2008 R2 Пакет обновления 1 .

Сведения о реестре

Для использования исправления из этого пакета нет необходимости вносить изменения в реестр.

Необходимость перезагрузки

Может потребоваться перезагрузить компьютер после установки данного исправления.

Сведения о замене исправлений

Это исправление не заменяет ранее выпущенные исправления.

Перезапуск сервера печати (print spooler)

Итак, опишем проблему с сервисом печати (print spooler) на сервере, в крупной фирме, где есть много разномастных принтеров, подключенных в терминальном режиме.

0. Суть ошибки

Эта проблема появляется в остановке сервиса печати при работе в терминале с удаленного офиса. Ошибка происходит в терминале и принтер перестает принимать документы на печать, при чем на сервере появляется «клон» принтера, и на нем начитается выстраиваться очередь на печать, а фактически печать документов не происходит.

1. Причины ошибки

Происходит ошибка в очереди печати, или если возникла ошибка при печати на принтере, либо при отмене какого-нибудь документа, либо после небольшого разрыва связи, либо при отправке документов одновременно несколькими пользователями на печать. Тогда начинается паника в офисе, а если еще и нужно срочно распечатать какой-нибудь отчет, начинаются звонки сисадминам, с криками: «СПАСИТЕ. ПОМОГИТЕ. НЕВОЗМОЖНО РАБОТАТЬ. ДА КОГДА ЖЕ ЭТО ВСЕ ПРЕКРАТИТСЯ. » — и т. д. Вот сейчас мы и опишем, как можно исправить данную неприятность в операционных системах семейства Windows.

2. Решение

Решается данная проблема перезапуском сервера печати, т. е. службы prints pooler. (Подробно о службе prints pooler можно прочитать вот здесь). Чтоб перезапустить данную службу (как и любую другую) необходимо выполнить 2 команды:

net stop spooler net start spooler

Если операцию приходится выполнять периодически, удобнее создать «костыль» в виде файла c расширением «.bat», проще говоря «батника».

Откроем простой блокнот (удобнее всего использовать программу NotePad++) и напишем там 2 вышеназванные строчки. Сохраним этот файл, поставив расширение .bat вместо .txt, назвав его «перезапуск службы печати» или как нибудь еще, как удобнее. При запуске этого файла будет происходить перезапуск службы печати.

print_spooler_01

На скриншоте выше добавлен оператор pause в конце что бы показать работу bat-файла.

Помогла ли Вам данная статья?

Смотрите также:

Описание предопределенных ролей уровня сервера в MS SQL Server 2012 / 2008 Microsoft SQL Server 2012 / 2008 включает в себя 9 предопределенных серверных ролей. Данные роли определены на уровне сервера и поэтому существуют вне баз данных. Они предусмотрены для удобства администрирования MS…

Установка сервера хранилища конфигураций «1С:Предприятия» 8.3 Для групповой разработки конфигурации в системе «1С:Предприятия» 8.3 используется хранилище конфигурации. Доступ разработчиков к хранилищу конфигурации может осуществляться по локальной сети (файлы базы данных располагаются на общем сетевом ресурсе), по протоколу…

Установка веб-сервера IIS 8 в Windows 8 IIS (Internet Information Services) – один из немногих штатных инструментов Windows, которым можно пользоваться, не ища более приемлемых альтернатив от других разработчиков. Веб-сервер IIS с поддержкой языка PHP можно использовать…

Запись опубликована в рубрике cmd с метками cmd, Windows Server 2008. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *