Добавление принтера через web интерфейс CUPS
Пользователь, от имени которого будут выполняться действия по настройке принтеров, должен быть добавлен в группу lpadmin.
Для удаленного использования сервера печати необходимо от имени администратора через механизм sudo выполнить следующие команды:
sudo cupsctl —remote-admin —share-printers —remote-any
sudo cupsctl ServerAlias=*
В конфигурационном файле /etc/cups/cupsd.conf рекомендуется удалить следующую строку:
и вставить следующую строку:
Значение параметра DefaultAuthType должно быть Basic.
Перезапустить сервис печати CUPS командой:
Проверить состояние сервиса печати CUPS можно командой:
Для дальнейшей настройки открыть браузер и ввести адрес:
Нажать кнопку «Добавить принтер», на запрос авторизации ввести имя и пароль пользователя, входящего в группу lpadmin.
Далее будет представлен список устройств для выбора. Фактическое имя принтера отображается рядом с меткой ( например, USB-принтеры напротив USB Printer #1). Принтеру можно присваивать любое имя, аналогично для пунктов ‘Расположение’ и ‘Описание’. После выбора соответствующего драйвера настройки будут окончены.
При установке USB-принтер должен отображаться в списке устройств на странице Добавить принтер.
Убедитесь в правильности настроек, нажав на кнопку Print Test Page (Печать тестовой страницы) в выпадающем меню Maintenance (Обслуживание). Если принтер не печатает, но вы уверены в правильности всех настроек, попытайтесь сменить драйвер принтера на другой.
Печать файла из командной строки
Печать файла можно выполнить командой:
lp -d *имя_принтера* *имя_файла*
Добавление сетевого принтера из командной строки
Добавление сетевого принтера из командной строки можно выполнить командой:
lpadmin -p printername -E -v socket://11.22.33.44 -m drv:///sample.drv/laserjet.ppd
Копирование настроек принтеров
Для централизованного управления можно копировать файлы /etc/cups/printers.conf и /etc/cups/ppd/* с компьютера с настроенным принтером на удаленный компьютер при помощи scp:
Настройка печати на локальной машине
Пользователь, от которого будут выполняться действия по настройке принтеров, должен быть добавлен в группу lpadmin.
Пользователь, от которого будут выполняться действия по маркировке заданий, должен быть добавлен в группу lpmac (groupadd -g 900 lpmac
если не создана).
Это может быть один и тот же пользователь.
Для удаленного использования сервера печати необходимо от имени администратора через механизм sudo выполнить следующие команды:
sudo cupsctl —remote-admin —share-printers —remote-any
sudo cupsctl ServerAlias=*
В конфигурационном файле /etc/cups/cupsd.conf рекомендуется удалить следующую строку:
и вставить следующую строку:
Значение параметра DefaultAuthType должно быть Basic.
Далее выполнить вход на сервере печати от имени учетной записи, входящей в группу lpadmin, и настроить принтеры (установить политику parsec и назначить максимальные допустимые уровни заданий). Настройка принтеров может быть выполнена с использованием утилиты fly-admin-printer (см. электронную справку).
Настройка печати с авторизацией через PAM
Пользователь, от которого будут выполняться действия по настройке принтеров, должен быть добавлен в группу lpadmin.
Пользователь, от которого будут выполняться действия по маркировке заданий, должен быть добавлен в группу lpmac.
Это может быть один и тот же пользователь.
Для удаленного использования сервера печати необходимо от имени администратора через механизм sudo выполнить следующие команды:
sudo cupsctl —remote-admin —share-printers —remote-any
sudo cupsctl ServerAlias=*
В конфигурафионном файле /etc/cups/cupsd.conf рекомендуется удалить следующие строки:
Port 631
Listen /var/run/cups/cups.sock
и вставить следующую строку:
Значение параметра DefaultAuthType должно быть Basic.
Далее выполнить вход на сервере печати от имени учетной записи, входящей в группу lpadmin, и настроить принтеры (установить политику parsec и назначить максимальные допустимые уровни заданий). Настройка принтеров может быть выполнена с использованием утилиты fly-admin-printer (см. электронную справку).
На клиентских машинах должны быть созданы файлы /etc/cups/client.conf. В файле конфигурации клиента client.conf должен быть задан один параметр ServerName, определяющий имя сервера печати, например:
ServerName computer.domain
Настройка печати с авторизацией через Kerberos (ALD)
Для выполнения действий по управлению принтерами и очередями печати необходимо создать в ALD учетную запись группы администраторов печати:
sudo
ald-admin group-add print_admins
Для выполнения действий по маркировке заданий необходимо создать в ALD группу
- lpmac_ald (только для версии Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) и при использовании в домене ALD);
- lpmac (для всех остальных версий ОС Astra Linux Special Edition)
sudo ald-admin group-add lpmac_ald
или
sudo ald-admin group-add lpmac
В файле /etc/cups/cups-files.conf в значении параметра SystemGroup установить значение print_admins.
Создать в ALD учетную запись администратора печати и добавить ее в группу администраторов печати ALD, например выполнив команды:
sudo ald-admin user-add ald_print_admin
sudo ald-admin group-mod print_admins --add-users --user=ald_print_admin
Добавить администратора печати в группу
- lpmac_ald (только для версии ОС Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) и при использовании в домене ALD);
- lpmac (для всех остальных версий ОС Astra Linux Special Edition)
sudo ald-admin group-mod lpmac_ald —add-users —user=ald_print_admin
или
sudo ald-admin group-mod lpmac —add-users —user=ald_print_admin
Для обеспечения совместной работы сервера печати с ALD необходимо:
1) создать в БД ALD с помощью утилиты администрирования ALD принципала, соответствующего серверу печати. Принципал создается с автоматически сгенерированным случайным ключом:
sudo ald-admin service-add ipp/server.my_domain
2) ввести созданного принципала в группу сервисов mac, используя следующую команду:
sudo ald-admin sgroup-svc-add ipp/server.my_domain --sgroup=mac
3) создать файл ключа Kerberos для сервера печати с помощью утилиты администрирования ALD ald-client, используя следующую команду:
sudo ald-client update-svc-keytab ipp/server.my_domain
4) от имени учетной записи администратора с использованием механизма sudo выполнить следующие команды:
sudo cupsctl —remote-admin —share-printers —remote-any
sudo cupsctl ServerAlias=*
sudo cupsctl DefaultPolicy=default
sudo cupsctl MarkerUser=ipp
sudo cupsctl ServerName=server.my_domain
sudo cupsctl MacEnable=On
sudo cupsctl DefaultAuthType=Negotiate
5) осуществить перезапуск сервиса печати CUPS, выполнив команду:
Далее выполнить вход на сервере печати от имени учетной записи, входящей в группу ALD print_admins, и настроить принтеры (установить политику parsec и назначить максимальные допустимые уровни заданий). Настройка принтеров может быть выполнена с использованием утилиты fly-admin-printer (см. электронную справку).
На клиентских машинах должны быть созданы файлы /etc/cups/client.conf. В файле конфигурации клиента client.conf должен быть задан один параметр ServerName, определяющий имя сервера печати, например:
ServerName computer.domain
I installed CUPS 2.2.1 on a fresh installation of Debian 9 (stretch/stable). The root account is disabled on this machine. I use sudo
to elevate the privileges of my normal user account ma
. The /etc/cups/cupsd.conf
file looks like this
#
# Configuration file for the CUPS scheduler. See "man cupsd.conf" for a
# complete description of this file.
#
# EDIT: added this line
SystemGroup printadmin
# Log general information in error_log - change "warn" to "debug"
# for troubleshooting...
LogLevel warn
PageLogFormat
# Deactivate CUPS' internal logrotating, as we provide a better one, especially
# LogLevel debug2 gets usable now
MaxLogSize 0
# Only listen for connections from the local machine.
Listen localhost:631
Listen /var/run/cups/cups.sock
# Show shared printers on the local network.
Browsing On
BrowseLocalProtocols dnssd
# Default authentication type, when authentication is required...
# EDIT: changed DefaultAuthType Basic to DefaultAuthType None
DefaultAuthType None
# Web interface setting...
WebInterface Yes
# Restrict access to the server...
<Location />
Order allow,deny
</Location>
# Restrict access to the admin pages...
# EDIT: added Allow localhost
<Location /admin>
Order allow,deny
Allow localhost
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>
# Restrict access to log files...
<Location /admin/log>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>
# Set the default printer/job policies...
<Policy default>
# Job/subscription privacy...
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
# Job-related operations must be done by the owner or an administrator...
<Limit Create-Job Print-Job Print-URI Validate-Job>
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
# All administration operations require an administrator to authenticate...
# EDIT: changed AuthType Default to AuthType None
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
AuthType None
Require user @SYSTEM
Order deny,allow
</Limit>
# All printer operations require a printer operator to authenticate...
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
# Only the owner or an administrator can cancel or authenticate a job...
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
# Set the authenticated printer/job policies...
<Policy authenticated>
# Job/subscription privacy...
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
# Job-related operations must be done by the owner or an administrator...
<Limit Create-Job Print-Job Print-URI Validate-Job>
AuthType Default
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
# All administration operations require an administrator to authenticate...
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
# All printer operations require a printer operator to authenticate...
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
# Only the owner or an administrator can cancel or authenticate a job...
<Limit Cancel-Job CUPS-Authenticate-Job>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
I created the printadmin
group and added myself to it
sudo groupadd printadmin
sudo usermod -a -G printadmin ma
and did the same for the lp
group, per this post.
Then a reboot, but when I click «Add Printer» in the admin interface (localhost:631
), I get the same «Unable to add printer: Forbidden» error as before. The log file /var/log/cups/error_log
contains this
E [16/Sep/2017:11:34:23 -0500] [Client 24] Returning HTTP Forbidden for CUPS-Get-Devices (no URI) from localhost
E [16/Sep/2017:11:34:23 -0500] [CGI] CUPS-Get-Devices request failed with status 401: Forbidden
which doesn’t tell me anything new. What am I doing wrong?
I installed CUPS 2.2.1 on a fresh installation of Debian 9 (stretch/stable). The root account is disabled on this machine. I use sudo
to elevate the privileges of my normal user account ma
. The /etc/cups/cupsd.conf
file looks like this
#
# Configuration file for the CUPS scheduler. See "man cupsd.conf" for a
# complete description of this file.
#
# EDIT: added this line
SystemGroup printadmin
# Log general information in error_log - change "warn" to "debug"
# for troubleshooting...
LogLevel warn
PageLogFormat
# Deactivate CUPS' internal logrotating, as we provide a better one, especially
# LogLevel debug2 gets usable now
MaxLogSize 0
# Only listen for connections from the local machine.
Listen localhost:631
Listen /var/run/cups/cups.sock
# Show shared printers on the local network.
Browsing On
BrowseLocalProtocols dnssd
# Default authentication type, when authentication is required...
# EDIT: changed DefaultAuthType Basic to DefaultAuthType None
DefaultAuthType None
# Web interface setting...
WebInterface Yes
# Restrict access to the server...
<Location />
Order allow,deny
</Location>
# Restrict access to the admin pages...
# EDIT: added Allow localhost
<Location /admin>
Order allow,deny
Allow localhost
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>
# Restrict access to log files...
<Location /admin/log>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>
# Set the default printer/job policies...
<Policy default>
# Job/subscription privacy...
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
# Job-related operations must be done by the owner or an administrator...
<Limit Create-Job Print-Job Print-URI Validate-Job>
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
# All administration operations require an administrator to authenticate...
# EDIT: changed AuthType Default to AuthType None
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
AuthType None
Require user @SYSTEM
Order deny,allow
</Limit>
# All printer operations require a printer operator to authenticate...
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
# Only the owner or an administrator can cancel or authenticate a job...
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
# Set the authenticated printer/job policies...
<Policy authenticated>
# Job/subscription privacy...
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
# Job-related operations must be done by the owner or an administrator...
<Limit Create-Job Print-Job Print-URI Validate-Job>
AuthType Default
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
# All administration operations require an administrator to authenticate...
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
# All printer operations require a printer operator to authenticate...
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
# Only the owner or an administrator can cancel or authenticate a job...
<Limit Cancel-Job CUPS-Authenticate-Job>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
I created the printadmin
group and added myself to it
sudo groupadd printadmin
sudo usermod -a -G printadmin ma
and did the same for the lp
group, per this post.
Then a reboot, but when I click «Add Printer» in the admin interface (localhost:631
), I get the same «Unable to add printer: Forbidden» error as before. The log file /var/log/cups/error_log
contains this
E [16/Sep/2017:11:34:23 -0500] [Client 24] Returning HTTP Forbidden for CUPS-Get-Devices (no URI) from localhost
E [16/Sep/2017:11:34:23 -0500] [CGI] CUPS-Get-Devices request failed with status 401: Forbidden
which doesn’t tell me anything new. What am I doing wrong?
- «Common UNIX Printing System (CUPS, общая UNIX система печати) — это кроссплатформенное решение для печати для всех UNIX систем. Оно основано на «Internet Printing Protocol» (IPP, интернет-протокол печати) и предоставляет полный спектр возможностей для печати для большинства Postscript и растровых принтеров. CUPS распространяется под GNU GPL….»
Хотя существуют другие пакеты печати, такие как LPRNG, CUPS более популярен и довольно прост в использовании. Это система печати по умолчанию как в Arch Linux, так и во многих других Linux-дистрибутивах.
Содержание
- 1 Установка
- 1.1 Драйверы принтеров
- 1.1.1 Загрузка PPD для принтера
- 1.1 Драйверы принтеров
- 2 Настройка CUPS
- 2.1 Модули ядра
- 2.1.1 USB-принтеры
- 2.1.2 Принтеры с параллельным портом
- 2.1.3 Автозагрузка
- 2.2 Демон CUPS
- 2.3 Web-интерфейс и средства управления
- 2.3.1 Администрирование CUPS
- 2.3.2 Удаленный доступ к веб-интерфейсу
- 2.1 Модули ядра
- 3 Устранение проблем
- 3.1 Проблемы в результате обновления
- 3.1.1 CUPS останавливается
- 3.1.2 Для всех заданий — «остановлено» («stopped»)
- 3.1.3 Для всех заданий — «Принтер не отвечает» («The printer is not responding»)
- 3.1.4 Версия PPD не совместима с gutenprint
- 3.2 USB-принтеры под CUPS 1.4.x
- 3.2.1 Занесение в черный список usblp
- 3.2.2 Определение устройства
- 3.2.2.1 Устранение неполадок при определении устройств
- 3.2.2.2 Загрузка прошивки (firmware)
- 3.3 Остальное
- 3.3.1 Устранение ошибок CUPS
- 3.3.2 Принтер HPLIP выдает ошибку «/usr/lib/cups/backend/hp failed»
- 3.3.3 Настройка HPLIP выполнена, но принтер не работает
- 3.3.4 hp-toolbox выдает ошибку «Unable to communicate with device» («Невозможно соединиться с устройством»)
- 3.3.5 CUPS с принтером HP возвращает ‘»foomatic-rip» not available/stopped with status 3’ (‘»foomatic-rip» не используется/остановлен со статусом 3’)
- 3.3.6 Завершение печати из-за ошибок авторизации
- 3.3.7 Неактивна кнопка Печать в диалогах приложений GNOME
- 3.3.8 Не найдена поддержка формата: application/postscript
- 3.3.9 Определение URIs для Windows Print Servers
- 3.3.10 Ошибка задания для печати client-error-document-format-not-supported
- 3.3.11 Не работает /usr/lib/cups/backend/hp
- 3.3.12 Принтер Samsung не печатает некоторые документы
- 3.3.13 Не отображается локальный USB-принтер
- 3.3.14 «Не удается получить список драйверов для принтеров»
- 3.1 Проблемы в результате обновления
- 4 Приложение
- 4.1 Альтернативные интерфейсы CUPS
- 4.2 Виртуальный PDF-принтер
- 4.2.1 Печать в postscript: тонкости использования виртуального CUPS-PDF-принтера
- 4.2.1.1 Настройка виртуального CUPS-PDF-принтера
- 4.2.1 Печать в postscript: тонкости использования виртуального CUPS-PDF-принтера
- 4.3 Другие источники драйверов для принтеров
- 5 Дополнение
- 5.1 Особые случаи
- 5.1.1 Принтеры с параллельным портом HP (hplip)
- 5.1.2 Печать не работает/прерывается на принтерах HP Deskjet 700
- 5.1.3 Заставить работать HP LaserJet 1010
- 5.1.4 Заставить работать HP LaserJet 1020 (1018 и похожие)
- 5.1.4.1 HPLIP
- 5.1.5 Выполнение сервисных операций на принтерах Epson
- 5.1.5.1 Escputil
- 5.1.5.2 Mtink
- 5.1 Особые случаи
- 6 См. также
- 7 Источник
Установка
Вам, скорее всего, потребуются пакеты Шаблон:Pkg, Шаблон:Pkg и Шаблон:Pkg. Установить их можно из официального репозитория.
Если стандартный cups не работает, то можно попробовать установить пакет Шаблон:AURШаблон:Broken package link (Русский).
- cups — собственно пакет CUPS
- ghostscript — интерпретатор для языка Postscript
- gsfonts — стандартные Type1 шрифты GhostScript
- hpoj — при использовании HP Officejet, во избежание проблем, установите этот пакет согласно инструкциям. Для получения дополнительной информации почитайте обсуждение на launchpad/hplip
Если ваша система подключена к сетевому принтеру с использованием протокола samba, или система является сервером печати для Windows-клиентов, установите пакет Шаблон:Pkg.
Драйверы принтеров
Выбор пакета с драйверами для принтера зависит от используемого вами принтера. Если вы не уверены, установите Шаблон:Pkg.
- Шаблон:Pkg — набор высококачественных драйверов для принтеров Canon, Epson, Lexmark, Sony, Olympus и PCL, использующихся с GhostSscript, CUPS, Foomatic и GIMP
- Шаблон:Pkg, Шаблон:Pkg, Шаблон:Pkg и Шаблон:PkgШаблон:Broken package link (Русский) — система под управлением базы данных для интеграции открытых драйверов для принтера с обычными спулерами под Unix. Установка Шаблон:PkgШаблон:Broken package link (Русский) должна разрешить ваши проблемы, если в Шаблон:Ic от CUPS будут такие записи: «stopped with status 22!»
- Шаблон:AURШаблон:Broken package link (Русский) — драйвер для принтеров, использующих протокол ZjStream, например таких, как HP Laserjet 1018. Смотрите дополнительную информацию здесь. Для использования Foo2zsj установите пакет Шаблон:AURШаблон:Broken package link (Русский)
- Шаблон:Pkg — HP GNU/Linux драйвер. Обеспечивает поддержку DeskJet, OfficeJet, Photosmart, Business Inkjet и других принтеров моделей LaserJet, a также ряд принтеров Brother
- Шаблон:Pkg — драйверы Samsung для принтеров SPL (Samsung Printer Language). Для USB принтеров, возможно, понадобится пакет Шаблон:AURШаблон:Broken package link (Русский)
- Шаблон:AUR — универсальный драйвер для принтеров и сканеров Samsung. Неодходим, если вы используете новый принтер (например, ML-2160), для которого пока нет драйвера в Шаблон:Pkg
- Шаблон:AURШаблон:Broken package link (Русский) или Шаблон:AUR — UFR2-драйвер для Canon, обеспечивающий поддержку принтеров серий LBP, iR и MF
- Шаблон:Pkg — пакет, позволяющий настроить виртуальный PDF-принтер, который будет создавать PDF из всего, что на него отправят
Если вы не уверены в работоспособности драйвера вашего принтера или он не работает, возможно, стоит установить все доступные драйверы, поскольку для вашей модели принтера может подойти драйвер от другого производителя. Например, для Brother HL-2140 необходимо установить драйвер Шаблон:Pkg.
Загрузка PPD для принтера
Так как CUPS в стандартной установке уже содержит множество файлов PPD (Postscript Printer Description), в зависимости от вашего принтера этот пункт является необязательным и может быть пропущен. Более того, в пакетах Шаблон:PkgШаблон:Broken package link (Русский), Шаблон:PkgШаблон:Broken package link (Русский) и Шаблон:Pkg уже имеется большое количество файлов PPD, которые будут автоматически определены CUPS.
Вот объяснение того, что такое PPD файл, с сайта Linux Printing:
- «Для каждого PostScript принтера производитель предоставляет PPD-файл, содержащий всю уникальную информацию об этой модели принтера: основные возможности принтера (цветной он или нет, шрифты, уровень PostScript и т.д.) и особенно настройки, которые может изменять пользователь, такие как размер бумаги, разрешение печати и т.д.»
Если в CUPS для вашего принтера отсутствует нужный PPD-файл, то:
- Поищите пакеты для вашего принтера/производителя в AUR.
- Посетите базу данных OpenPrinting и выберите своего производителя и модель принтера.
- Поищите драйверы под GNU/Linux на сайте производителя.
Шаблон:Note (Русский)
Настройка CUPS
Итак, после установки CUPS, у вас есть множество способов его настройки. Вы всегда можете использовать старую добрую командную строку. Некоторые DE, такие как GNOME и KDE, предоставляют удобные программы, которые могут вам помочь в управлении принтерами. Однако, для того чтобы сделать этот процесс максимально доступным обыкновенному пользователю, мы будем использовать web-интерфейс, предоставляемый CUPS.
Если планируется подключение не к локальному, а к сетевому принтеру, то, возможно, вначале стоит почитать о настройке общего доступа к принтерам в CUPS. Настройка общего доступа к принтерам внутри GNU/Linux довольно проста и имеет малое количество опций, а вот организация общего доступа к принтерам между Windows и GNU/Linux является немного более сложной.
Модули ядра
Перед использованием веб-интерфейса CUPS, вам понадобится загрузить соответствующие модули ядра. Далее описаны шаги, взятые из руководства по установке принтера в Gentoo.
Данный раздел может понадобиться в зависимости от используемого ядра. После подключения принтера нужный модуль ядра может быть загружен автоматически. Воспользуйтесь командой Шаблон:Ic (описана далее) для того, чтобы определить обнаружен ли принтер. Для просмотра загруженных модулей ядра также можно воспользоваться утилитой Шаблон:Ic.
USB-принтеры
Для использования USB-принтера может потребоваться внести в черный список модуль Шаблон:Ic. Учтите, что насчет добавления Шаблон:Ic в черный список имеется некоторая неопределенность, так как некоторые USB-принтеры, в частности некоторые серии принтеров Canon и Epson, не определяются без этого модуля. Несколько пользователей принтеров Samsung, после добавления в черный список модуля Шаблон:Ic, сообщили о проблемах с Шаблон:Ic, в качестве решения предлагается повторное включение модуля Шаблон:Ic и установка из AUR пакета Шаблон:Ic вместо стандартного пакета Шаблон:Ic (https://bbs.archlinux.org/viewtopic.php?pid=778104). С февраля 2012, ранее работавший с cups-usblp USB-принтер Samsung ML2010, работает с cups и внесением в черный список usblp.
Добавление модуля в черный список:
Шаблон:Hc
либо создав в Шаблон:Ic свой файл, например Шаблон:Ic, со следующим содержимым:
Шаблон:Hc
При использовании ядра собранного самостоятельно, возможно придется вручную загрузить модуль Шаблон:Ic:
# modprobe usbcore
После загрузки всех необходимых модулей — включите принтер и проверьте обнаружен ли он ядром, для этого выполните следующее:
# tail /var/log/messages.log
или
# dmesg
При использовании Шаблон:Ic, сообщение об обнаружении принтера будет выглядеть примерно так:
Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E Feb 19 20:17:11 kernel: usb.c: usblp driver claimed interface cfef3920 Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver
Если Шаблон:Ic находится в черном списке, то будет выведено примерно следующее:
usb 3-2: new full speed USB device using uhci_hcd and address 3 usb 3-2: configuration #1 chosen from 1 choice
Принтеры с параллельным портом
Если вы желаете использовать принтер с параллельным портом, настройка в общем-то такая же, за исключением модулей:
# modprobe lp # modprobe parport # modprobe parport_pc
Еще раз проверьте настройки выполнив команду:
# tail /var/log/messages.log
Должно быть показано что-то вроде этого:
lp0: using parport0 (polling)
При использовании адаптера с USB на параллельный порт, CUPS не сможет обнаружить принтер. В качестве обходного пути — добавьте принтер используя другие типы соединений, а затем измените DeviceID в файле Шаблон:Ic:
DeviceID = parallel:/dev/usb/lp0
Автозагрузка
Возможно, вам будет удобнее если соответствующий модуль будет загружен при старте системы. Для этого откройте в текстовом редакторе файл Шаблон:Ic, и добавьте нужный модуль в строку Шаблон:Ic. Например, так:
MODULES=(!usbserial scsi_mod sd_mod snd-ymfpci snd-pcm-oss lp parport parport_pc ide-scsi)
Демон CUPS
После установки соответствующих модулей ядра, можно приступать к запуску демона CUPSШаблон:Broken section link. Для автоматического запуска демона при старте системы следует добавить cupsd в строку DAEMONS.
Web-интерфейс и средства управления
После запуска демона
# systemctl start org.cups.cupsd
откройте браузер и зайдите на: http://localhost:631 (Строку localhost, возможно, придется заменить на имя хоста из Шаблон:Ic).
Теперь для добавления принтера можно использовать различные мастера. Для запуска обыкновенной процедуры установки кликните Добавление принтеров и групп, затем Добавить принтер. При запросе имени пользователя и пароля нужно будет войти в качестве root. Далее будет представлен список устройств для выбора. Фактическое имя принтера отображается рядом с меткой ( например, USB-принтеры напротив USB Printer #1). Принтеру можно присваивать любое имя, аналогично для пунктов ‘Расположение’ и ‘Описание’. После выбора соответствующего драйвера настройки будут окончены.
Убедитесь в правильности настроек, нажав на кнопку Print Test Page (Печать тестовой страницы) в выпадающем меню Maintenance (Обслуживание). Если принтер не печатает, но вы уверены в правильности всех настроек, попытайтесь сменить драйвер принтера на другой.
Шаблон:Tip
Шаблон:Note (Русский)
Администрирование CUPS
При администрировании принтера через веб-интерфейс (например для: добавления или удаления принтеров, остановки заданий печати, и т.д) понадобятся имя пользователя и пароль. Пользователем по-умолчанию может быть пользователь из группы sys или root (для изменения измените значение в строке SystemGroup файла Шаблон:Ic).
При заблокированной учетной записи root (т.е. используя sudo) будет невозможно войти в веб-интерфейс управления CUPS с именем пользователя по умолчанию и его паролем. В этом случае придерживайтесь инструкций из CUPS FAQ. Дополнительно прочтите это сообщение.
Удаленный доступ к веб-интерфейсу
По умолчанию, доступ к веб-интерфейсу CUPS разрешен только localhost; т.е. компьютеру на котором он установлен. Для разрешения удаленного доступа нужно внести следующие изменения в файл Шаблон:Ic. Замените строку:
Listen localhost:631
на строку
Port 631
для того, чтобы CUPS мог слушать входящие запросы.
Можно предоставить три уровня доступа:
<Location /> #доступ к серверу <Location /admin> #доступ к странице администрирования <Location /admin/conf> #доступ к конфигурационным файлам
Для разрешения удаленного доступа к одному из уровней, добавьте параметр Шаблон:Ic в секцию соответствующую выбранному уровню. Параметр Шаблон:Ic может принимать одно или несколько из перечисленных ниже значений:
Allow all Allow host.domain.com Allow *.domain.com Allow ip-address Allow ip-address/netmask
Параметр также может быть использован для запрета. Например, если нужно дать полный доступ всем хостам подсети 192.168.1.0/255.255.255.0, файл Шаблон:Ic должен содержать следующее:
# Ограничение доступа к серверу... # По умолчанию возможны только локальные подключения <Location /> Order allow,deny Allow From localhost Allow From 192.168.1.0/255.255.255.0 </Location> # Ограничение доступа к странице администрирования... <Location /admin> # Encryption disabled by default #Encryption Required Order allow,deny Allow From localhost Allow From 192.168.1.0/255.255.255.0 </Location> # Ограничение доступа к конфигурационным файлам... <Location /admin/conf> AuthType Basic Require user @SYSTEM Order allow,deny Allow From localhost Allow From 192.168.1.0/255.255.255.0 </Location>
Также вам потребуется добавить:
DefaultEncryption Never
Для того, чтоб избежать получения ошибки: 426 — Upgrade Required when using the CUPS web interface from a remote machine.
Устранение проблем
Наилучший способ борьбы с неисправностями — это выставить ‘LogLevel’ в файле Шаблон:Ic в:
LogLevel debug
А потом посмотреть вывод из файла Шаблон:Ic например так:
# tail -n 100 -f /var/log/cups/error_log
Символы слева от вывода означают следующее:
- D=Debug (отладка)
- E=Error (ошибка)
- I=Information (информация)
- И так далее
Следующие файлы также могут быть полезны:
- Шаблон:Ic — каждый раз при успешной печати, пишет новую запись
- Шаблон:Ic — записывает всю активность на cupsd http1.1 сервере
Также, если вы хотите решить свои проблемы, важно понимать, как вообще работает CUPS. Вот краткая информация об этом:
- Когда вы жмёте ‘печать’ приложение отправляет .ps-файл (PostScript, язык-скрипт, который описывает, как выглядит страница) в систему CUPS (так происходит в большинстве программ).
- CUPS смотрит на PPD-файл (файл описания принтера) и находит, фильтры которые ему нужно использовать для преобразования .ps-файла в файл, который понимает ваш принтер (например, PJL,PCL). Обычно для этого ему требуется ghostscript.
- GhostScript принимает ввод и решает, какие фильтры ему использовать, потом применяет их и преобразовывает .ps-файл в формат, который понимает принтер.
- Затем файл передается бэкенду. Например, если у вас принтер подключен к usb порту, то используется usb бэкенд
Проблемы в результате обновления
Проблемы возникшие после обновления CUPS и сопутствующего ему набора программ
CUPS останавливается
Существует вероятность, что для правильной работы в обновленной версии понадобится новый файл конфигурации. Например, получение сообщения «404 — page not found» при попытке входа в панель управления CUPS через localhost:631.
Для того, чтобы воспользоваться новым конфигом, скопируйте Шаблон:Ic в Шаблон:Ic (при необходимости сделайте резервную копию старого конфига):
# cp /etc/cups/cupsd.conf.default /etc/cups/cupsd.conf
и, чтобы новые настройки вступили в силу, перезапустите CUPS.
Для всех заданий — «остановлено» («stopped»)
Если для всех отправленных на печать заданий установился статус «остановлено» («stopped»), — удалите принтер и установите его заново.
Для этого войдите в веб-интерфейс CUPS, перейдите Принтеры > Удалить Принтер.
Для проверки настроек принтера перейдите во вкладку Принтеры, затем Администрирование. В выпадающем списке кликните ‘Изменить принтер’, перейдите к следующей странице (ам), и так далее.
Для всех заданий — «Принтер не отвечает» («The printer is not responding»)
Для сетевых принтеров, поскольку CUPS подключается через URI, необходимо убедиться, что в DNS настроен доступ к принтерам по IP. Например, если принтер подключен следующим образом:
lpd://BRN_020554/BINARY_P1
то имени хоста ‘BRN_020554’ должны соответствовать IP принтеров, управляемых сервером CUPS.
Версия PPD не совместима с gutenprint
Запустите:
# /usr/sbin/cups-genppdupdate
И перезагрузите CUPS (будет выведено соответствующее сообщение после установки gutenprint).
USB-принтеры под CUPS 1.4.x
Новый CUPS 1.4.x принес множество изменений:
Занесение в черный список usblp
Теперь CUPS, вместо генерирования устройств /dev/usb/lpX с помощью usblp, использует устройства libusb и USB-принтеры (из /dev/bus/usb/). Для того, чтобы заработали USB-принтеры — необходимо выключить модуль usblp.
Выключить можно либо добавив в Шаблон:Ic:
Шаблон:Hc
либо создав в Шаблон:Ic свой файл, например Шаблон:Ic, со следующим содержимым:
Шаблон:Hc
Некоторым пользователям, возможно, прийдется переустановить принтер.
Определение устройства
В дополнение к отключению загрузки usblp, CUPS могут понадобится права на файл устройства USB-принтера — root:lp, и должны быть 660. Например.
$ ls -l /dev/bus/usb/003/002 crw-rw---- 1 root lp 189, 257 20. Okt 10:32 /dev/bus/usb/003/002
Этого можно добиться добавлением двумя правилами udev в Шаблон:Ic:
# hplip and cups 1.4+ use raw USB devices, so permissions should be similar to # the ones from the old usblp kernel module SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p" SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}==":0701*:", GROUP="lp", MODE="660"
Тем не менее, для некоторых устройств, например, многофункциональных устройств принтер/сканер, эти правила либо не используются, либо перекрываются правилами пакета ‘sane’. В этом случае нужно будет добавлять пользовательские правила udev. Смотри далее.
Устранение неполадок при определении устройств
Узнаем файл устройства принтера и права доступа к нему:
$ lsusb ... Bus 003 Device 002: ID 04b8:0841 Seiko Epson Corp. $ ls -l /dev/bus/usb/003/002 crw-rw---- 1 root lp 189, 257 20. Okt 10:32 /dev/bus/usb/003/002
Если права доступа не root:lp 660, придется создать пользовательское правило udev для этого устройства, пример
Шаблон:Hc
Для многофункциональных устройств (принтер+сканер), для того, чтоб SANE определил его корректно:
Шаблон:Hc
Обратите внимание:
- Шаблон:Ic и Шаблон:Ic взяты из вывода команды Шаблон:Ic показанного выше.
- некоторым принтерам понадобятся права доступа Шаблон:Ic.
Загрузка прошивки (firmware)
Для некоторых принтеров и драйверов понадобится загрузка прошивки принтера (таким как, использующие foo2zjs, принтеры HP LaserJet 10xx) и сделать это будет нужно путем записи прямо на устройство lp, такие функциональные возможности предоставляет usblp. Для обхода этого ограничения нужно будет загрузить модуль usblp при загрузке прошивки, а затем, для нормальной работы CUPS, удалить модуль. Для ручной загрузки модуля выполните
$ modprobe usblp
загрузка прошивки, затем:
$ rmmod usblp
Также можно обойтись без добавления usblp в черный список, добавьте «rmmod usblp» в Шаблон:Ic, при этом прошивка будет загружена при старте системы, а затем, при чтении Шаблон:Ic, модуль usblp будет выгружен.
В случае если принтер окажется подключенным или на нем будет включено питание уже на работающей системе — файл Шаблон:Ic не будет использован и модуль usblp останется подгруженным. Обойти это можно изменив Шаблон:Ic, созданный для foo2zjs, таким образом чтоб при добавлении устройства выполнялось нужное событие, например: 15 секунд для загрузки прошивки и автоматического удаления usblp. Следующий пример для HP LaserJet 1018. Для других моделей значения ATTRS{idProduct} должны быть изменены, соответственно модели принтера.
Найдите в Шаблон:Ic строку соответствующую вашему принтеру:
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4117", RUN+="/sbin/foo2zjs-loadfw 1018 $tempnode"
Добавьте после нее следующие строки, при этом убедитесь, что соответствуют IDs продукта и производителя:
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4117", RUN+="/usr/bin/sleep 15" ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4117", RUN+="/usr/bin/rmmod usblp"
Остальное
Устранение ошибок CUPS
- Пользователям, регулярно получающим ошибки вида ‘NT_STATUS_ACCESS_DENIED’ (Windows-клиенты), следует слегка изменить синтаксис:
smb://workgroup/username:password@hostname/printer_name
- Иногда, блочные устройства могут иметь не правильные права:
# ls /dev/usb/ lp0 # chgrp lp /dev/usb/lp0
Принтер HPLIP выдает ошибку «/usr/lib/cups/backend/hp failed»
Убедитесь, что dbus установлен и запущен, для этого или проверьте секцию DAEMONS в Шаблон:Ic, или выполните Шаблон:Ic.
Если демон dbus запущен, но ошибка все равно повторяется — нужен avahi-daemon.
Шаблон:Note (Русский)
Настройка HPLIP выполнена, но принтер не работает
Данная проблема возникает при использовании драйвера hpijs (устарел) (напр. для серии Deskjet D1600). Вместо него, при добавлении принтера, выбирайте драйвер hpcups.
hp-toolbox выдает ошибку «Unable to communicate with device» («Невозможно соединиться с устройством»)
Если в результате запуска hp-toolbox от обычного пользователя получаете сообщение:
# hp-toolbox # error: Unable to communicate with device (code=12): hp:/usb/<printer id>
или, «Шаблон:Ic», значит следует добавить пользователя в группу lp, для этого выполните следующую команду:
# gpasswd -a <username> lp
CUPS с принтером HP возвращает ‘»foomatic-rip» not available/stopped with status 3’ (‘»foomatic-rip» не используется/остановлен со статусом 3’)
Если, во время использования принтера HP, задания появляются в очереди, но все завершаются со статусом ‘stopped’, а в Шаблон:Ic возникает одно из следующих сообщений об ошибках:
Filter "foomatic-rip" for printer "<printer_name>" not available: No such file or director
или:
PID 5771 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
Убедитесь, что установлен hplip, также может понадобится пакет net-snmp. Прочитайте эти сообщения на форуме.
# pacman -S hplip
Завершение печати из-за ошибок авторизации
Если пользователь уже добавлен в группу lp, и ему разрешена печать (настраивается в Шаблон:Ic), то проблему следует искать в файле Шаблон:Ic. Проблема может заключаться в следующей строке:
AuthInfoRequired negotiate
Закомментируйте ее и перезапустите CUPS.
Неактивна кнопка Печать в диалогах приложений GNOME
- Источник: I can’t print from gnome applications. — Arch Forums
Убедитесь, что установлен пакет: libgnomeprint
Отредактируйте Шаблон:Ic добавив в него
# HostNameLookups Double
Перезапустите CUPS:
# /etc/rc.d/cupsd restart
Не найдена поддержка формата: application/postscript
Закомментируйте строки:
application/octet-stream application/vnd.cups-raw 0 -
в Шаблон:Ic, и:
application/octet-stream
в Шаблон:Ic.
Определение URIs для Windows Print Servers
Иногда Windows предоставляет не полную информацию об URI (расположение устройств). Если в CUPS возникли проблемы с указанием местоположения устройств — необходимо выполнить команду получения списка всех ресурсов, которые доступны данному windows-пользователю:
$ smbtree -U windowsusername
Если Samba работает и настроена правильно, то будут отображены все, доступные выбранному Windows-пользователю, ресурсы локальной сети. Команда должна отобразить что-то, типа этого:
Шаблон:Bc
Нам понадобится первая часть последней строки -ресурс соответствующий описанию принтера. Таким образом, для получения возможности печатать на принтере EPSON Stylus, в качестве URI в CUPS следует ввести:
smb://username:password@REGULATOR-PC/EPSON Stylus CX8400 Series
Обратите внимание на то, что в URI допускаются пробелы, а знаки «\» следует заменять на «//».
Ошибка задания для печати client-error-document-format-not-supported
Нужно установить пакет foomatic и использовать драйвер foomatic.
Не работает /usr/lib/cups/backend/hp
В Шаблон:Ic замените:
SystemGroup sys root
на
SystemGroup lp root
Принтер Samsung не печатает некоторые документы
Бывает, что принтер Samsung прекрасно работает с Шаблон:Ic, но не печатает некоторые документы (файлы Inkscape с текстом) и даже сбоит. В качестве решения можно посоветовать использовать пакет Шаблон:AURШаблон:Broken package link (Русский) с добавлением модуля Шаблон:Ic в черный список (как было описано ранее).
Не отображается локальный USB-принтер
Если ваш usb-принтер не отображается — попробуйте заменить Шаблон:Pkg на Шаблон:AURШаблон:Broken package link (Русский) (пакет можно найти в AUR). Затем проверьте работоспособность сначала с загруженным модулем Шаблон:Ic, а затем, если не поможет, — с добавленным в черный список.
«Не удается получить список драйверов для принтеров»
Попробуйте удалить драйверы Foomatic.
Приложение
Альтернативные интерфейсы CUPS
В среде GNOME, вы можете конфингурировать ваш принтер с помощью system-config-printer-gnome. С помощью pacman можно установить этот пакет:
# pacman -S system-config-printer-gnome
Для нормальной работы system-config-printer понадобиться или запуск с правами администратора, или, если от обычного пользователя, то такому пользователю должно быть разрешено администрировать CUPS (если это так — выполните шаги 1-3)
- 1. Создайте группу и внесите в нее нужного пользователя:
# groupadd lpadmin # usermod -aG lpadmin <username>
- 2. Добавьте «lpadmin» (без кавычек) в следующую строку файла Шаблон:Ic
SystemGroup sys root <insert here>
- 3. Перезапустите cups, выйдите и снова войдите в систему (или перезагрузите компьютер)
Шаблон:Bc
Пользователи KDE могут изменять настройки из «Control Center» (kcontrol). Для получения дополнительной информации, обратитесь к документации вашего рабочего окружения (DE).
Также в AUR можно найти пакет gtklp
Виртуальный PDF-принтер
Существует прекрасный пакет — CUPS-PDF. Этот пакет позволяет настроить виртуальный принтер, генерирующий PDF-файлы из того, что отправлено на печать на этот принтер. Возможно этот пакет вам и не понадобится, но иногда он может быть очень полезен.
Созданные PDF-документы можно найти в Шаблон:Ic. Обычно, более удобно такие документы добавлять в домашнюю директорию пользователя. Настроить такое поведение несложно. В файле /etc/cups/cups-pdf.conf найдите и строку:
#Out /var/spool/cups-pdf/${USER}
и приведите ее к такому виду:
Out /home/${USER}
Установить этот пакет можно командой:
# pacman -S cups-pdf
После установки пакета, настройте PDF-принтер аналогично обычному принтеру, например с помощью веб-интерфейса. В Device (Оборудование) выберите — CUPS-PDF (Virtual PDF Printer); Make/Manufacturer (Марка/Производитель) выберите — Generic; Model/Driver (Модель/Драйвер) выберите — Generic postscript color printer или Generic Cups-PDF Printer. В качестве альтернативы, по этой ссылке можно найти другой PPD-файл.
Печать в postscript: тонкости использования виртуального CUPS-PDF-принтера
Для большинства приложений, таких как OpenOffice, печать в PDF не является проблемой; достаточно просто нажать кнопку. Для печати в postscript, потребуется выполнить небольшой дополнительный объем работ. CUPS-PDF (Виртуальный PDF-принтер) на самом деле создает postscript-файл, а затем уже с помощью утилиты ps2pdf, преобразовывает его в PDF. Для печати в postscript, необходимо сначала передать созданные CUPS-PDF postscript-файлы. Для этого в диалоге печати нужно выбрать вариант «print to file» («печатать в файл»). (выберите расширение для файла или .ps, или .eps). После того, как будет отмечен флажок «print to file» («печатать в файл»), введите имя файла и нажмите «print» («печать»).
Настройка виртуального CUPS-PDF-принтера
- Прочтите инструкция по настройке демона cups.
- Установите Шаблон:Pkg из [extra].
- Запустите менеджер печати cups: http://localhost:631 и выберите:
Administration -> Add Printer Select CUPS-PDF (Virtual PDF), выберите марку и модель: Make: Generic Driver: Generic CUPS-PDF Printer
Теперь, для печати в postscript, в диалоговом окне печати установите «CUPS-PDF» в качестве принтера, установите флажок на «print to file» («печатать в файл»), нажмите печать, введите имя_файла.ps и кликните сохранить. Метод удобен при обработке факсов и т.д…
Другие источники драйверов для принтеров
Turboprint — проприетарный драйвер для многих моделей принтеров, которые до сих пор не поддерживаются в GNU/Linux (например Canon i*). Единственная проблема в том, что высококачественная печать будет либо с водяным знаком, либо за отдельную плату…
Дополнение
Список вебсайтов, которые могут быть вам полезны:
- Official CUPS documentation on your computer http://localhost:631/documentation.html
- Official CUPS Website — http://www.cups.org/
- Linux Printing — http://www.linuxprinting.org/
- Tips and Suggestions on common CUPS problems — http://home.nyc.rr.com/computertaijutsu/cups.html
- Gentoo’s Printing Guide — http://www.gentoo.org/doc/en/printing-howto.xml
- Arch Linux User Forums — https://bbs.archlinux.org/
Особые случаи
Дальнейшее описание посвящено специфическим проблемам и их решениям. Если вы сталкивались с какой-либо необычной работой принтера, пожалуйста, поместите решение проблемы здесь.
Принтеры с параллельным портом HP (hplip)
Шаблон:Note (Русский)
Если HP принтер подключен через параллельный порт, то потребуется пересобрать пакет hplip с опцией —enable-pp-build.
Для этого устанавливаем и обновляем ABS:
# pacman -S abs # abs
Копируем необходимые файлы для сборки
# cp -r /var/abs/extra/hplip /tmp
Правим файл Шаблон:Ic и добавляем опцию —enable-pp-build для ./configure:
[...] ./configure --prefix=/usr --enable-qt4 --enable-pp-build --enable-foomatic-rip-hplip-install --enable-foomatic-ppd-install --enable-hpcups-install --enable-cups-drv-install --enable-hpijs-install --enable-foomatic-drv-install --enable-udev-acl-rules [...]
Собираем и ставим пакет:
cd /tmp/hplip makepkg -s pacman -U hplip-3.10.6-1-i686.pkg.tar.xz
Далее принтер настраивается обычным путем через web-интерфейс CUPS http://localhost:631.
Если принтер правильно настроен для работы с hplip, то строка подключения в CUPS будет начинаться с hp:
hp:/par/HP_LaserJet_6L?device=/dev/parport0
Шаблон:Note (Русский)
Устанавливаем hplip (пересобирать пакет не надо, он уже собран с —enable-pp-build)
# pacman -S hplip
Далее запускаем
# hp-setup -i -a -x /dev/parport0
для автоматического добавления принтера в CUPS, либо добавляем «ручками» через веб-интерфейс http://localhost:631.
Печать не работает/прерывается на принтерах HP Deskjet 700
Проблема решается установкой фильтра pnm2ppa для принтеров HP Deskjet 700 series. Без этого задания на печать будут отменяться системой. PKGBUILD для pnm2ppa можно найти здесь: AUR.
Заставить работать HP LaserJet 1010
Мне для этого пришлось самому собрать ghostscript, потому что gs ESP в репозитории был версии 7.07 и имел некоторые ошибки, исправленные в ESP 8.15.1. Я никогда не пользовался пакетом ‘foomatic’ из репозитория. Я думаю что этот пакет устарел.
$ pacman -Qs cups a2ps psutils foo ghost local/cups 1.1.23-3 The CUPS Printing System local/a2ps 4.13b-3 a2ps is an Any to PostScript filter local/psutils p17-3 A set of postscript utilities. local/foomatic-db 3.0.2-1 Foomatic is a system for using free software printer drivers with common spoolers on Unix local/foomatic-db-engine 3.0.2-1 Foomatic is a system for using free software printer drivers with common spoolers on Unix local/foomatic-db-ppd 3.0.2-1 Foomatic is a system for using free software printer drivers with common spoolers on Unix local/foomatic-filters 3.0.2-1 Foomatic is a system for using free software printer drivers with common spoolers on Unix local/espgs 8.15.1-1 ESP Ghostscript
Также я был вынужден выставить LogLevel в /etc/cups/cupsd.conf в debug2 для того чтобы обнаружить отсутствие некоторых шрифтов «Nimbus». Затем я переименовал их и положил туда, куда мне подсказывал лог. Тут нужно привести хитрый способ поиска в google, например т.к. шрифты являются проприетарными (уверен что в windows это по умолчанию). В любом случае, после скачивания шрифтов (около 7) и помещения их в правильную директорию печать заработала.
До этого я получал ошибки описанные здесь: ‘Unsupport PCL’ и т.п…
Уверен что это работало бы и с gs ESP 7.07 (в репозитории) если бы у меня раньше хватило ума включить DebugLevel2 :-/
Обновление: да, это работает… может быть эта информация окажется полезной для кого-либо ещё… извините за неудобства.
Заставить работать HP LaserJet 1020 (1018 и похожие)
После множества попыток связанных с hplib и gutenprint я наконец нашёл решение как заставить мой HP Laserjet 1020 печатать.
Первым делом вам надо уставить cups и ghostscript. Затем пройдите по ссылке
http://www.linuxprinting.org/show_printer.cgi?recnum=HP-LaserJet_1020 на страницу драйверов печати http://foo2zjs.rkkda.com/ и следуйте интрукциям по установке. Залогиньтесь как root. После скачивания и распаковки архива переместитесь в распакованную директорию foo2zjs. Теперь вы можете делать всё по оригинальной инструкции по установке, лишь с небольшой модификацией для изменения userid пользователя для печати:
$ make $ ./getweb 1020
Откройте Makefile
$ nano Makefile
найдите там строку
# LPuid=-olp
и модифицируйте её таки образом:
# LPuid=-oroot
дальше выполняйте сборку
$ make install $ make install-hotplug $ make cups
Сейчас в этих действиях нет необходимости. Теперь строка LPuid=-oroot стоит по умолчанию.
Вы также можете взять пакет foo2zjs из AUR и модифицировать PKGBUILD: измените строку
./getweb all
на
./getweb 1020
(или, если устанавливаете другой принтер, измените эту строку на что, что вам нужно).
Последним шагом является добавление и конфигурирование принтера в CUPS manager. Принтер должен определиться автоматически. Это отлично работает для root’а и всех ползователей. Когда ОС загружается, принтер инициализируется и сигнализирует о том, что он работает.
Так же строку
./getweb 1020
можно изменять на необходимые 1018 (для работы принтера Hewlett-Packard 1018) и т.д.
./getweb 1018
Список поддерживаемы моделей тут: http://foo2zjs.rkkda.com/
HPLIP
Больше нет необходимости устанавливать драйвер foo2zjs для работы принтера HP LJ 1018/1020, поскольку в последних версиях hplip он работает «из коробки». Вам следует установить hplip, gnomesu или gksu, qt и pyqt4, после чего запустить
sudo hp-setup
CUPS-сервер должен быть запущен. Мастер установки hplip автоматически установит ваш принтер. После следует установить плагин к принтеру. Для этого запустить от пользователя программу hp-toolbox и выберите «install required plugin». Плагин автоматически загрузится с сайта производителя.
Никаких дополнительных действий (вроде внесения usblp и MODULES_BLACKLIST) выполнять не надо.
Выполнение сервисных операций на принтерах Epson
Escputil
Здесь объясняется как выполнить некоторые вспомогательные операции, такие как очистка и проверка сопел на принтерах Epson. Для этого мы будем использовать утилиту escputil, которая входит в состав пакета gutenprint.
Man-страница этой утилиты («man escputil») содержит очень полезную информацию, но не включает в себя необходимых сведений о том как идентифицировать ваш принтер. Для этого могут быть использованы два параметра. Первый из них —printer; он принимает имя принтера, которое вы использовали при его конфигурировании. Другой &mdash —raw-device. Эта опция примаетпуть к устройству. Если ваш принтер подключен к последовательному порту, то устройство будет выглядеть примерно как «/dev/lp0». Если же ваш принтер подключен к USB, по устройство будет «/dev/usb/lp0». Если у вас более одного принтера они будут иметь имена файлов устройств «lp1», «lp2» и т.д.
- очистка печатающей головки:
escputil -u --clean-head
- проверка сопел:
escputil -u --nozzle-check
Если вам необходимо произвести операцию, которая требует двухстороннего общения с принтером вы должны использовать спецификацию «—raw-device», а ваш пользователь должен состоять в группе «lp» или быть root’ом.
- получение внутреннего имени принтера:
sudo escputil --raw-device=/dev/usb/lp0 --identify
- получение уровня чернил:
sudo escputil --raw-device=/dev/usb/lp0 --ink-level
Mtink
Это монитор состояния принтера, который позволяет получить количество оставшихся чернил, печатать тестовые страницы, сбрасывать принтер и очищать сопла. Он использует интуитивный графический интерфейс пользователя. Пакет можно скачать отсюда.
См. также
- Официальная документация CUPS documentation, локальная установка
- Официальный Веб-сайт CUPS
- Linux Printing, Linux Foundation
- Руководство по печати в Gentoo, Источники Документации Gentoo
- Форум пользователей Arch Linux
- Простая установка принтеров HP
Источник
Источник https://wiki.archlinux.org/index.php/CUPS_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)
Содержание
- Операционные системы Astra Linux
- Настройка с нуля принтсервера CUPS с доменной авторизацией и без нее в сети с разными ОС
- Настройка с нуля принтсервера CUPS с доменной авторизацией и без нее в сети с разными ОС
- Вступление
- Настройка принтсервера
- Исправление ошибки обращения к CUPS через loopback по имени хоста
- Настройка адресов прослушивания подключений к CUPS у клиентских машин Linux
- Настройка адресов прослушивания подключений к CUPS
- Настройка раздачи и получения широковещательной рассылки сетевых принтеров
- Настройка административного доступа
- Настройка использования доменных групп пользователей для администрирования CUPS
- Установка принтера в Linux
- Группы принтеров (Classes)
- Заключение
- Операционные системы Astra Linux
- Сервер печати на Linux
- Как система печати Linux обрабатывает файлы
- Управление печатью в Linux
- Подключение и настройка принтеров в Linux
- Настройка безопасности CUPS
- Особенности использования Веб интерфейса
- Устранение неполадок в системе печати
- Файлы и каталоги CUPS
Операционные системы Astra Linux
Оперативные обновления и методические указания
Операционные системы Astra Linux предназначены для применения в составе информационных (автоматизированных) систем в целях обработки и защиты 1) информации любой категории доступа 2) : общедоступной информации, а также информации, доступ к которой ограничен федеральными законами (информации ограниченного доступа).
1) от несанкционированного доступа;
2) в соответствии с Федеральным законом от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации» (статья 5, пункт 2).
Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении. С 17 декабря 2019 года правообладателем, разработчиком и производителем операционной системы специального назначения «Astra Linux Special Edition» является ООО «РусБИТех-Астра».
На web-сайтах https://astralinux.ru/ и https://wiki.astralinux.ru представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения.
Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!
Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков.
Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить в статье Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов.
В целях обеспечения соответствия сертифицированных операционных систем Astra Linux Special Edition требованиям, предъявляемым к безопасности информации, ООО «РусБИтех-Астра» осуществляет выпуск очередных и оперативных обновлений.
Очередные обновления (версии) предназначены для:
Оперативные обновления предназначены для оперативного устранения уязвимостей в экземплярах, находящихся в эксплуатации, и представляют собой бюллетень безопасности, который доступен в виде:
Ввиду совершенствования нормативно-правовых документов в области защиты информации и в целях обеспечения соответствия информационных актуальным требованиям безопасности информации, а также обеспечения их долговременной эксплуатации, в том числе работоспособности на современных средствах вычислительной техники, рекомендуется на регулярной основе планировать проведение мероприятий по применению очередных и оперативных обновлений операционной системы.
Источник
Настройка с нуля принтсервера CUPS с доменной авторизацией и без нее в сети с разными ОС
Настройка с нуля принтсервера CUPS с доменной авторизацией и без нее в сети с разными ОС
Вступление
Итак. Предположительно, сервис печати CUPS — это мощное решение, позволяющее организовать централизованное управление принтерами в компании. Так оно и есть, но в процессе настройки потребуется провести некоторое время в поисках решения в Google множества мелких неочевидных проблем, особенно, если ваша необходимость выходит за рамки стандартных мануалов по настройке.
В статье будет описана установка принтсервера CUPS на Ubuntu Server в сети с работающим доменом Active Directory, хотя его наличие совершенно не обязательно и инструкции по настройке взаимодействию с ним можно будет смело пропустить, его настройка, а также настройка клиентских машин Linux и Windows для взаимодействия с данным принт-сервером.
В инструкции домен будет именоваться example.com, сам принтсервер — cupsserver (cupsserver.example.com) с IP адресом 10.10.100.50, а клиентские машины linux1, linux2, linux3 и т.д для клиентских машин Linux и windows1, windows2, windows3 и т.д. для клиентских машин Windows соответственно.
Настройка принтсервера
В первую очередь мы настроим принтсервер, а точнее, настроим административный доступ на него, затем настроим печать на него, а затем опишем настройку клиентских машин.
Заходим на принтсервер любым удобным способом и обновим на нем пакеты:
Далее проверим, установлен ли CUPS на сервере:
Если вывод выглядит как то так:
то CUPS установлен, если вывода нет — устанавливаем CUPS:
Теперь настроим административный доступ к веб-интерфейсу CUPS. Все файлы конфигурации находятся по пути /etc/cups/. Для начала, на всякий случай сделаем резервные копии основных файлов конфигурации CUPS:
Впрочем, если вы этого не сделали — не беда, образцы данных файлов по умолчанию лежат по пути /usr/share/cups. Также нужно упомянуть, что вы можете проверить любые добавленные опции в файлы конфигурации CUPS с помощью команды:
Если вы что-то напутали, опечатались или использовали опцию, которая уже не поддерживается CUPS’ом, то вывод команды отразит данные ошибки.
Но приступим наконец к настройке. После любых изменений файлов в папке /etc/cups/ для получения эффекта необходимо перезапускать сервис CUPS:
А если вы отредактировали файл /etc/cups/cups-browsed.conf, то за него отвечает отдельный сервис cups-browsed, который тоже нужно перезапустить:
Первой незакомментированной опцией является
Она определяет минимальную информативность логов CUPS. Лог-файлы CUPS находятся по пути /var/log/cups/. На время установки, настройки и отладки принтсервера будет разумным перевести логгирование в debug-режим. Для этого изменим warn на debug2:
По умолчанию CUPS слушает входящие подключения только от localhost, то бишь на loopback интерфейсе. Чтобы убедится в этом, можете выполнить команду
Одна из строк будет выглядеть приблизительно так:
Дальнейшие действия зависят от степени вашей паранойи. Вы можете добавить в блоке, который условно начинается с комментария #Only listen for connections from the local machine несколько строк с указанием IP адресов или подсетей, откуда CUPS’у будет позволено слушать подключения.
Либо же вы можете разрешить CUPS’у слушать подключения со всех адресов
Следующий момент настройки — это обнаружение сетевых и расшаренных принтеров.
На мой взгляд эта опция так и должна остаться выключенной, так как она определяет, будет ли рассылаться широковещательная информация по сети о подключенных к принтсерверу принтерах. А они ведь будут подключены к ней все. И соответственно у всех клиентских машин будут отображаться сразу все принтера. Наш принтсервер должен искать и обнаруживать все принтера в сети, но не рассылать их бездумно по всей сети.
Далее идут настройки аутентификации:
Определяет права доступа к веб-интерфейсу CUPS, а также к его административной части. Чтобы пользователь user имел право на администрирование CUPS, его нужно добавить в системную группу lpadmin:
Вообще, группы, которым позволен административный доступ к CUPS, определяются в файле конфигурации cups-files.conf в блоке
Если вы хотите добавить некой группе пользователей Linux права на администрирование принтсервера, например printadmins, то просто добавьте их через пробел к lpadmin. Если группа доменная, то это немного сложнее и будет описано позже.
Теперь перейдем к блоку :
Order allow,deny означает, что запрещены подключения отовсюду, если специально не указано разрешение. То есть нужно добавлять IP-адреса, подсети, хосты или хосты по маске (.example.com) в виде «Allow from [разрешенный адрес]*»:
Для полной уверености и отладки, можно оставить, пока не настроите все остальное, такую констукцию, которая позволит печать отовсюду:
Приступим к настройке административного доступа к CUPS на принтсервере. Определитесь, с какого/каких IP и/или подсетей вы собираетесь подключаться к CUPS, и добавить их по аналогии с блоком :
Еще, по желанию, можно добавить язык интерфейса по умолчанию. Список доступных языков можно посмотреть с помощью команды:
Если нужная вам локализация, например ru, есть, то добавьте строчку в /etc/cups/cupsd.conf:
Чтобы к вашему принтсерверу cupsserver.example.com можно было обращатся по его хосту (hostname), необходимо создать в папке /etc/cups/ файл client.conf с таким содержимым:
Самым простым способом это можно сделать так:
Поскольку мы предполагаем, что в сети есть DNS сервер, то будет предпочтительным, чтобы можно было обращатся к принтсерверу по его доменному имени (cupsserver.example.com). Также серверу может быть присвоен CNAME псевдоним на DNS сервере, например print или cups. Чтобы принтсервер принимал подключения по таким обращениям, необходимо добавить такую строчку в файл /etc/cups/cupsd.conf:
Если вы хотите, чтобы принтсервер примимал любые обращения, или не хотите заморачиваться, то можно добавить это:
Еще нужно взглянуть внутрь файла /etc/cups/cups-browsed.conf. Этот файл управляет тем, как принтсервер будет искать принтеры в сети и проводить широковещательную рассылку своих принтеров. Я предлагаю совершенно отключить опцию рассылки. Принтсервер будет искать принтера в сети, но с него принтеры на клиентские машины будут подключатся вручную. Ниже будет описано, почему. Пока же мы находим строку BrowseRemoteProtocols dnssd cups:
Благодаря этой опции принтсервер ищет расшаренные принтера в сети. Ее мы оставляем включенной, так как в наших интересах, чтобы принтсервер искал принтера в сети. Но нам совершенно не нужно, чтобы принтсервер рассылал вообще все подключенные к нему принтеры, иначе возникнет большая путаница. Для предотвращения такого сценария находим следующую опцию #BrowseLocalProtocols none и раскомментируем ее:
На этом настройку принтсервера приостанавливаем и переходим к настройке клиентких машин Windows и Linux. Требования к ним такие — позволять посылать на себя задания печати принтсерверу, и посылать задания на печать именно (и только) на принтсервер в случае необходимости печати на сетевой принтер.
Теперь выполним аналогичную операцию на клиентской машине Linux c именем хоста linux1. Вообще, данная часть будет куда объемнее, так как у клиентской машины есть свой сервис CUPS и его тоже нужно настроить во многом так же, как и принтсервер, за исключением его подчиненной роли в организации печати.
Исправление ошибки обращения к CUPS через loopback по имени хоста
Есть неприятный момент. Если вы введете linux1 в домен, настроите на нем CUPS по этим инструкциям, то можете заметить абсурдную ситуацию, когда на WEB-интерфейс linux1 можно зайти снаружи, но на самом хосте этого сделать нельзя! И графические приложения для локальной настройки принтеров, вроде приложения system-config-printer в Linux Mint, отказываются работать. При попытке подключения на свой же CUPS по по адресу http://linux1:631/ будет сообщение «Запрещено» или «Bad Request». Это известная и толком не решенная на множестве форумов интернета проблема.
В большинстве инструкций по введению Linux в домен одним из пунктов является приведение файла /etc/hosts приблизительно к такому виду:
Почему то CUPS не в силах ассоциировать обращение через 127.0.1.1, то есть через Loopback интерфейс, с именем хоста.
Исправляется эта ошибка двумя способами. Если в вашей сети IP адреса статичные, то в файле /etc/hosts исправьте 127.0.1.1 на IP адрес внешнего сетевого интерфейса клиентской машины, например:
Либо же, раз уж вы вводите Linux в домен, то это предполагает, что в вашей сети работает DHCP и DNS сервер Active Directory. В таком случае просто закомментируйте данную строчку:
Разницы в работоспособности или проблем от данного действия пока обнаружено не было.
Настройка адресов прослушивания подключений к CUPS у клиентских машин Linux
Заходим на linux1 любым удобным способом. Редактируем файл /etc/cups/cupsd.conf:
Находим, добавляем или изменяем в нем строки:
Настройка адресов прослушивания подключений к CUPS
Настройка раздачи и получения широковещательной рассылки сетевых принтеров
Еще у клиетской машины Linux, в данном случае linux1, необходимо отредактировать файл /etc/cups/cups-browsed.conf:
Настройка административного доступа
Еще пару слов по поводу административного доступа, как на WEB-интерфейс CUPS на принтсервере, так и на любой клиентской машине Linux. Даже при условии наличия 30-50 компьютеров нужно унифицировать авторизацию на CUPS, а не держать в голове или еще где пароли каждой машины. И это важно на всех Linux машинах, ведь чтобы добавить принтер на сервер, его сперва нужно установить локально. Я вижу несколько путей.
Первый — на каждой системе Linux создать пользователя printeradmin (например) и добавить в группу lpadmin:
и авторизовываться на http://имя_хоста:631/admin c помощью его учетных данных.
Второй вариант практически идентичен и предлагает создать группу в системе, например, printersadmins, добавить туда требуемого администратора CUPS (printeradmin, user):
Затем нужно найти в файле /etc/cups/cups-files.conf строку
и добавить через пробел одну или несколько групп пользователей с правом администрировать CUPS.
И наконец, третий вариант. Сделать администраторами принтсервера и CUPS’ов клиентских машин доменную группу пользователей. Для этого принтсервер и клиентские машины Linux должны быть присоединены к домену AD. Есть несколько методов подключения Linux к домену Windows, но, насколько я знаю, основные это подключение с помощью winbind и с помощью SSSD(realmd). Описание данных методов не входит в статью, поэтому остановлюсь только на моментах которые касаются конкретно CUPS’а.
Настройка использования доменных групп пользователей для администрирования CUPS
Каждый метод присоединения к системе централизованной авторизации в Linux создает специальный файл-«трубу» (pipe), сквозь который приложения могут посмотреть список пользователей домена. Чтобы так мог сделать CUPS, нужно разрешить ему использовать pipe в AppArmor’е для аутентификации пользователей. AppArmor — модуль безопасности Linux по управлению доступом. Ограничивает определенные программы набором перечисленных в его политиках файлов. Чтобы добавить CUPS’у право использовать пользователей и группы домена через winbindd, нужно добавить в файл /etc/apparmod.d/local/usr.sbin.cupsd такую строку:
Если Linux введен в домен через SSSD, то необходимо указать расположение его pipe в /etc/apparmod.d/local/usr.sbin.cupsd, добавив туда строку:
К тому же, в случае с SSSD это позволяет пройти аутентификацию (узнать кто заходит), но чтобы пройти авторизацию (узнать есть ли право у пользователя управлять CUPS) необходимо также добавить в файл конфигурации SSSD /etc/sssd/sssd.conf строку:
Это, условно выражаюсь, дает CUPS’у право «заглядывать» в SSSD.
К тому же, в силу того, что CUPS теперь зависит от сервиса SSSD, нужно указать CUPS’у что он должен запускаться после SSSD, иначе он будет отваливаться при включении и его будет необходимо каждый раз включать вручную.
Добавим CUPS’у указание грузиться после SSSD. Отредактируем файл сервиса cups.service по пути /lib/systemd/system/, добавив инструкцию After в секцию [Unit]:
Таким образом CUPS настроен на Basic авторизацию через домен, то есть авторизацию с помощью ввода логина и пароля доменного пользователя с правом администрирования CUPS.
Авторизация может быть настроена и иначе, но принцип (pipe-файл) в целом универсален и есть шанс настроить и для LDAP, FreeIPA и прочих служб каталогов по аналогии.
Установка принтера в Linux
Теперь, когда сервер и клиенские машины Linux настроены, к некоторым из них присоединены принтеры, а также есть машины на Windows, которым и с которых нужно печатать, и вся эта система должна быть стабильной и в случае, если на одном из ПК необходимо заменить принтер, то это не должно повлечь за собой перенастройку доброй половины всех ПК, если не всех. К тому же нужно как можно меньше проблем с драйверами. И это вполне возможно.
Группы принтеров (Classes)
Главная прелесть данного метода в том, что если на любом из ПК заменяется принтер, заменяется сам компьютер, или то и другое сразу, то это никак не влияет на тех, кто был к ним подключен через группу на принтсервере. Единственная настройка производится на принтсервере — к принтсерверу подключается новый принтер, затем из группы, в которой состоял старый принтер, он удаляется, и добавляется новый принтер на замену старому. И никаких дополнительных настроек на любом количестве ПК, только на принтсервере и собственно ПК на котором меняли принтер. Драйвера «IPP Everywhere» и «MS Publisher Imagesetter» содержат большое количество настроек бумаги, печати и т.д., так что нет проблем настроить нужный вид печати через них.
Заключение
Тема слишком обширна, чтобы изложить сколько-нибудь подробно, и даже так статья вышла крайне объемной. Любые уточнения, указания на ошибки, нераскрытые вопросы и советы, данные в комментариях к данной статье, будут приняты во внимание и в случае необходимости включены в статью.
Источник
Операционные системы Astra Linux
Оперативные обновления и методические указания
Операционные системы Astra Linux предназначены для применения в составе информационных (автоматизированных) систем в целях обработки и защиты 1) информации любой категории доступа 2) : общедоступной информации, а также информации, доступ к которой ограничен федеральными законами (информации ограниченного доступа).
1) от несанкционированного доступа;
2) в соответствии с Федеральным законом от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации» (статья 5, пункт 2).
Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении. С 17 декабря 2019 года правообладателем, разработчиком и производителем операционной системы специального назначения «Astra Linux Special Edition» является ООО «РусБИТех-Астра».
На web-сайтах https://astralinux.ru/ и https://wiki.astralinux.ru представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения.
Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!
Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков.
Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить в статье Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов.
В целях обеспечения соответствия сертифицированных операционных систем Astra Linux Special Edition требованиям, предъявляемым к безопасности информации, ООО «РусБИтех-Астра» осуществляет выпуск очередных и оперативных обновлений.
Очередные обновления (версии) предназначены для:
Оперативные обновления предназначены для оперативного устранения уязвимостей в экземплярах, находящихся в эксплуатации, и представляют собой бюллетень безопасности, который доступен в виде:
Ввиду совершенствования нормативно-правовых документов в области защиты информации и в целях обеспечения соответствия информационных актуальным требованиям безопасности информации, а также обеспечения их долговременной эксплуатации, в том числе работоспособности на современных средствах вычислительной техники, рекомендуется на регулярной основе планировать проведение мероприятий по применению очередных и оперативных обновлений операционной системы.
Источник
Сервер печати на Linux
Прекрасная статья с не менее прекрасного сайта о операционной системе Linux: http://www.k-max.name/linux/server-pechati-na-linux-common-unix-printing-system/
Очень рекомендую к прочтению статью и сайт автора 🙂
Доброго времени, читатели моего блога и гости. Сегодня хочу сделать небольшую заметку о системе печати Linux, чтобы ввести в курс дела и подготовить вас к следующей статье о сервере печати SAMBA.
Итак, исторически в Linux было 2 системы печати LPRng и BSD LPD. Данные системы постепенно устаревают и на смену им приходит система печати CUPS, которая разработана как замена вышеуказанных систем и возможности которой гораздо шире. При использовании GUI интерфейса GNOME, KDE или другого, управление принтерами с помощью CUPSосуществляется не сложнее, чем в Windows. В статье я же сделаю упор на работу в консольном режиме и GUI инструменты рассматривать практически не буду (клавиши Ctrl+P (печать в GUI) есть на всех клавиатурах и работают одинаково как в Windows, так и в Linux ). Отмечу только, что при использовании графической оболочки, запускаются те же команды, что мы рассмотрим далее.
Как система печати Linux обрабатывает файлы
Все мы знаем, что когда печать работает без перебоев, то отправив на печать какой-либо файл о нем можно забыть, пока листы не выйдут на принтере. Но если печать «поломалась», то необходимо понимать принцип работы, чтобы исправить проблему.
Система печати Linux находится под контролем демона cupsd, который обладает всеми необходимыми привилегиями, чтобы обращаться к принтерам от имени пользователя. Данный демон автоматически загружается при запуске Linux и настраивает систему для корректной работы печати. Все необходимые параметры демон берет из каталога /etc/cups.
Управление печатью в Linux
Давайте немного разберемся, что же такое PostScript, а что такое GhostScript? Как показывает практика, приложения Linux и UNIX в большинстве случаев генерируют на выходе файлы двух форматов:
Простой текст
Программы могут отправлять на принтер файлы в простом текстовом формате исходя из предположения, что в качестве принтера используется типичное устройство постраничной печати.
PostScript
Следует заметить, что GhostScript рассматривает все принтеры, как графические устройства. Таким образом, при выводе на печать обычного текстового документа GhostScriptпреобразует текст в растровый рисунок и отправляет этот рисунок принтеру. Это означает, что GhostScript не может использовать шрифты, встроенные в принтер. Это так же означает, что печать документов через GhostScript иногда выполняется более медленно, чем печать тех же документов на драйверах Windows. Хотя в большинстве случаев эта разница практически не заметна, бывают и большие задержки.
Стандартная установка CUPS поддерживает довольно узкий спектр принтеров (хотя, это довольно спорный момент ). Обычно, это модели с поддержкой PostScript и принтеры компаний HP и Epson. Если принтер автоматически не определился, то необходимо посетить сайт производителя принтера для получения пакета драйверов и инструкций об установке принтера в системе Linux.
Подключение и настройка принтеров в Linux
Настройка безопасности CUPS
Давайте разберем каждый параметр.Как уже упоминалось выше, ServerName указывает имя сервера печати. LogLevel указывает подробность журналирования (по умолчанию при установке параметр равен info, если возникли какие-то проблемы с CUPS, а в протоколе нет ничего информативного, можно поднять уровень до максимального — debug2), Portуказывает на каком порту будет доступен веб-интерфейс, Listen позволяет указать на каком IP адресе будет доступен веб-интерфейс, а так же прослушиваемый сокет.
Параметры, начинающиеся на Browsing требуют отдельного разговора, они задают настройки «просмотра». В данном случае, под термином просмотр необходимо понимать возможность CUPS обнаруживать принтеры в сети. Данная возможность поддерживается на уровне протокола IPP. Обнаружение происходит посредством широковещательных рассылок, что при большом количестве серверов CUPS или при частом отключении/подключении принтеров может порождать дополнительную нагрузку на сеть. Так же, включение просмотра влечет за собой определенное бремя безопасности. Например, систему настроенную на автоматический поиск легко обмануть, предоставив поддельную информацию о принтерах, а при наличии недочетов в коде CUPS это может привести к негативным последствиям. Давайте разберем указанные параметры:
BrowseAllow и BrowseDeny
Browsing
Указывает CUPS предоставлять свои серверы в общий доступ, либо нет. Значения может принимать On или Off соответственно.
BrowseAddress
Аналогична BrowseAllow. за исключением того, что она задает КОМУ посылать пакеты, а не от кого принимать.
Особенности использования Веб интерфейса
Кроме веб-интерфейса, существуют так же консольные команды управления CUPS.
Параметры принтеров CUPS хранит в файле /etc/cups/printers.conf. В данный файл руками лезть не стоит. Он заполняется при настройке в веб интерфейсе. Пример файла:
Управление демоном CUPS ничем не отличается от управления любой другой службой. То есть запуск, остановка, перезапуск можно выполнить командами:
Хочу еще отметить такой нюанс. CUPS разрабатывался как замена системе печати LPD. В LPD источником информации о имеющихся принтерах очередях печати был файл/etc/printcap. CUPS обратно совместим с данной системой печати и если мы посмотрим на файл printcap, то увидим, что:
файл printcap является символьной ссылкой на /var/run/cups/printcap. Т.о. CUPS сама следит за корректностью данного файла и тем самым обеспечивает обратную совместимость с LPD.
Устранение неполадок в системе печати
Не всегда удается настроить принтер с первого раза и иногда настройка становится чрезвычайно сложной, убивающей веры в свои силы. Постараюсь описать некоторые шаги по устранению проблем с печатью:
Файлы и каталоги CUPS
Большой объем данных лежит в /usr/share/cups/, в котором хранятся служебные файлы. Особый интерес представляет каталог /usr/share/cups/model/ (который в последней версии CUPS был перемещен в /usr/share/ppd/), который хранит описания для принтеров. При каждом старте сервер сканирует каталог /usr/share/cups/model на предмет появления новых описаний принтеров (PPD-файлов).
В процессе работы CUPS использует каталог /var/spool/cups/ для хранения описаний заданий печати и самих файлов заданий. Владельцем данного каталога должен быть пользователь root и группа lp. Права доступа определены, как 0710 (rwx—x—).
Так же используется каталог /var/run/cups/ для хранения информации о работе демона, такой как сокет, файл printcap и др.
Источник
Содержание
- 1 Решение ошибки «Windows не удается подключиться к принтеру»
- 1.1 Причины ошибки и способы решения
- 1.2 Что делать, если ничего не помогает
- 2 Как полностью удалить драйвер принтера в windows 7 /8/10/XP
- 2.1 Используем панель удаления программ
- 2.2 Очищаем «Program Files» и реестр
- 2.3 Что делать, если драйвер не удаляется
- 3 Как правильно удалить драйвера от принтера
- 3.1 Удаление драйверов через «Удаление программ»
- 3.2 Удаление из «Устройства и принтеры»
- 3.3 Ручной способ удаления
- 3.4 Удаляем файлы вручную
- 3.5 Автоматический способ (Driver Sweeper)
- 4 Устранение проблем с драйвером для принтера Canon MF 4700
- 4.1 Часть 1. Установка драйверов.
- 4.2 Самый правильный способ удалить драйвер принтера:
- 4.3 Удаление папки драйверов:
- 4.4 Если очистка папки не помогает то делаем следующее:
- 5 Некоторые способы удалить драйвер принтера в Windows 7
- 5.1 1. Ручное удаление драйвера принтера
- 5.2 2. Удаление драйвера принтера с помощью утилит
- 5.3 3. Очистка лишних файлов
- 5.4 4. Решение проблем
- 5.5 5. Итог
- 6 Windows не удается подключиться к принтеру, решаем за минуту
- 6.1 Возможные причины ошибки доступа к принтеру
- 6.2 Разновидность ошибки
- 6.3 Решение проблемы с подключением к принтеру
- 6.4 Дополнительные методы решения ошибок 0x00000002, 0x0000000a, 0x00000006, 0x00000057
Решение ошибки «Windows не удается подключиться к принтеру»
Есть несколько способов решить ошибку «Windows не удается подключиться к принтеру», отличающихся в зависимости от причины возникновения проблемы. Ошибка появляется как при локальном подключении принтера к персональному компьютеру, так и при использовании терминальной фермы.
Терминальная ферма — популярное решение для средних и крупных компаний, когда приложения и устройства работают на сервере, а пользователи подключаются к ним для работы.
Вне зависимости от способа использования принтера, при попытке отправить файл на печать, может высвечиваться одна из вариаций ошибки подключения к устройству.
Особо беспокоиться не стоит, поскольку решение проблемы обычно занимает не более нескольких минут.
Причины ошибки и способы решения
Основными причинами появления ошибки являются: нарушение работы службы диспетчера печати, изменение доступов администраторами системы (актуально для корпоративных компьютеров), физические проблемы с принтером. Ошибку также могут вызывать слетевшие драйвера, вирусная активность или изменение папки spool или библиотек, необходимых для работы с принтерами.
Вернуть принтер к работе достаточно просто. Но для начала следует убедиться, что проблема не вызвана банальными вещами:
- Если на корпоративном компьютере перестало работать подключение к принтеру по причине «Отказано в доступе», стоит убедиться в наличии прав на доступ к устройству. Разграничение прав на корпоративных устройствах обычно идет по крупным группам пользователей, и какие-либо изменения могли затронуть проблемный компьютер. Для решения ситуации следует обратиться к корпоративному системному администратору.
- Не помешает проверить компьютер на вирусы, а также запустить командную строку, ввести sfc /scannow и нажать Enter для диагностики всей системы. Это действие позволит Windows восстановить нужные библиотеки и системные файлы, если они были повреждены из-за вирусной активности или по иной причине.
- Следует убедиться в отсутствии физических проблем с принтером, компьютером и сетью, из-за которых подключение к устройству может отсутствовать.
Ошибка «Windows не удается подключиться к принтеру» имеет дополнительные коды и уведомления, что иногда позволяет разобраться в причине:
- Локальная подсистема печати не выполняется.
- Отказано в доступе.
- Коды ошибки: 0x00000006, 0x00000002, 0x0000000a, 0x00000057, 0x0000007e, 0x00004005, 0x000003eb, 0x000005b3, 0x0000003eb.
На большое количество системных кодов ошибок можно не обращать внимания. Большинство проблем, вызывающих данную ошибку подключения к принтеру, решаются одними и теми же действиями.
Что делать, если ничего не помогает
В небольшом проценте случаев бывает, что все указанные способы решения не помогают избавиться от появления ошибки. Для этих случаев есть еще несколько советов и ссылок, которые могут помочь разобраться в ситуации самостоятельно и избежать обращения за помощью к специалистам или в сервис.
Что еще можно сделать:
- Проверить наличие на компьютере файла spoolsv.exe. Его можно найти в строке поиска в меню «Пуск», либо в соответствующей папке в windows/system32. Просканировать файл на наличие вредоносного кода на сайте www.virustotal.com.
- Заменить файл spoolsv.exe или всю папку spool с другого компьютера с такой же версией Windows. Это часто помогает, когда ошибка появляется при попытке добавления нового принтера, в процессе установки драйверов.
- Если появляется ошибка диспетчера очереди печати или локального обработчика печати, нужно убедиться в наличии файла Windows System32 spool prtprocs w32x86 winprint.dll. Эта динамическая библиотека необходима для корректной работы диспетчера печати.
- Если появляется ошибка «Локальная подсистема печати не выполняется. Перезапустите подсистему или перезагрузите компьютер», но при этом служба «Диспетчер очереди печати» работает нормально, можно попробовать перезагрузить (отключить/включить) службу. После переустановки драйверов и перезагрузки службы нужно перезагрузить компьютер.
- Попробовать воспользоваться советами от Microsoft, связанными с диагностикой и исправлением проблем с принтерами. Страница справки находится на сайте http://support.microsoft.com/mats/.
Если все действия не помогают, следует вернуться к идее отката системы к точке восстановления.
Перед этим нужно сохранить все важные данные, которые изменялись с момента последнего момента архивации.
После восстановления системы все равно следует диагностировать причину появления ошибки, чтобы вскоре с ней не пришлось столкнуться снова.
Источник: http://setupwindows.ru/errors/windows-ne-udaetsya-podklyuchitsya-k-printeru
Как полностью удалить драйвер принтера в windows 7 /8/10/XP
Иногда приходиться сталкиваться с необходимостью решения задачи, связанной с тем, как удалить принтер в windows 7 полностью. Источником необходимости подобного действия могут служить самые разные проблемы.
К примеру, полное удаление драйверов принтера может потребоваться в том случае, если девайс отказывается печатать (невозможно завершение операции), появляется какая-то ошибка или его драйвер уже сильно устарел и требуется его замена на актуальную версию. В любом случае, чтобы произвести грамотное удаление принтера с компьютера, работающего под управлением ОС Windows 7, вам следует внимательным образом ознакомиться с приведенной ниже рекомендацией.
- Чтобы удалить мфу из системы и очистить любое упоминание о нем, в первую очередь откройте раздел в «Панели управления», где представлен список подключенных устройств и принтеров. Попасть туда можно также с помощью программы «Выполнить» (Windows + R), где вам следует вбить команду «control printers».
- Найдите среди списка представленных устройств нужный печатающий девайс. Вызовите его контекстное меню – для этого кликните по его иконке правой кнопкой мыши.
- Среди представленного списка найдите и нажмите на пункт, который запускает функцию удаления данного устройства. Благодаря этому вы сможете стереть драйвер принтера.
- Снова откройте окно «Выполнить» и вбейте туда для запуска надстройки «Службы» команду «Services.msc». Найти данную надстройку можно и через «Панель управления», перейдя в раздел администрирования. Там вам нужно кликнуть на службу под названием «Диспетчер печати» и нажать на нее правой кнопкой мышки. В раскрывшемся списке кликните на пункт, отвечающий за перезапуск данной службы.
- Проделанные действия осуществят перезагрузку вышеназванной службы. Подобная процедура является необходимостью, чтобы драйвер принтера был удален нормально.
- Теперь вам нужно будет обратить внимание на сервер печати. Снова вызовите сочетанием клавиш Windows+R программу «Выполнить» и вбейте туда команду «printui /s /t2». В результате такого действия перед вами откроется окно со свойствами сервера печати.
- Найдите и перейдите на вкладку, где указаны все драйвера, после чего найдите тот вариант, который относится к вашему печатающему устройству и, отметив его, кликните на кнопку «Удалить».
На этом основная часть действий, направленных на решение задачи о том, как полностью удалить принтер в Windows 7 завершается. Однако это еще не все, т.к. с помощью вышеописанных этапов далеко не все следы присутствия принтера на вашем компьютере удаляться. Поэтому вам следует перейти к следующим действиям:
- Откройте надстройку под названием «Управление печатью», предварительно открыв окно программы «Выполнить» и вписав туда команду «printmanagement.msc».
- В новом окне вам следует перейти в раздел «Настраиваемые фильтры», а уже оттуда кликнуть на «Все драйвера».
- В результате описанных манипуляций в левой части окна надстройки, отвечающей за управление печатью появится список драйверов.
- Найдите среди них свое оборудование и, открыв его контекстное меню, кликните на пункт удаления.
Используем панель удаления программ
Теперь вам нужно удалить все программные приложения, которые относятся к вашему принтеру или многофункциональному устройству. Для этого вам потребуется воспользоваться штатными средствами ОС Windows 7 посредством панели удаления программ.
Найдите среди списка установленного ПО все то, что связано с вашим девайсом и удалите его. Следует добавить, что данный способ подходит не только для Windows 7, т.к. его можно использовать и в windows 10, и 8, и XP.
В последнем варианте единственным отличием является название раздела для оргтехники.
Очищаем «Program Files» и реестр
Но перед тем как переустановить устройство или подключить к ПК новый принтер, вам следует очистить весь «мусор». Для этого откройте папку «Program Files» и удалите оттуда все те папки, которые могли тем или иным образом быть связаны с вашей оргтехникой.
Также вам потребуется очистка реестра. Для этого откройте «Выполнить» и вбейте в единственное поле данной программы команду «regedit». В появившемся окне вам следует нажать на «Правка» и в открывшемся списке кликнуть на пункт «Найти».
Введите в поисковое поле наименование своего печатающего устройства и кликните на «Найти далее». Все то, что связано с принтером будет подсвечено программой.
В таком случае вам остается лишь заняться удалением всех этих пунктов до тех пор, пока не появится сообщение о том, что ничего подходящего больше не найдено.
Теперь вам остается лишь выполнить перезагрузку компьютера и при необходимости установить рабочий драйвер последней версии или произвести какие-то другие действия, которым старое ПО мешало.
Что делать, если драйвер не удаляется
Но бывает так, что принтер Windows 7 не удаляется. Что делать в этой ситуации? Для этого вы можете открыть реестр, запустив его с помощью команды «regedit», которую нужно вбить в окно «Выполнить».
После этого откройте ветку«HKEY_LOCAL_MACHINESYSTEMCurrentControlSet
ControlPrintEnvironmentsWindows» и перейдите в «Print Processors».
Все что там найдете, обязательно переименуйте, к примеру, вместо winprint впишите winprint_old. После этого откройте диспетчер печати и, удалив из него свой девайс, остановите службу.
Затем выполните переименования обратно и снова запустите данный диспетчер. Благодаря такому действию, возможно, вам удастся решить задачу удаления драйвера принтера.
Если описанные способ не поможет вам, то выполните следующие действия:
- Откройте под учетной записью администратора раздел с устройствами и принтерами. Найдите там нужный девайс и произведите его удаление.
- Зайдите в «Администрирование» через «Панель управления» и кликните на «Службы». Там найдите службу «Диспетчер печати» и остановите ее.
- Откройте реестр, как уже было описано выше, и перейдите на ветку«HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlPrintEnvironmentsWindowsDrivers».
- Найдите драйвер, который вам не удается удалить, и переименуйте его.
- Снова запустите службу печати и удалите оттуда принтер, как это уже было описано в первой половине данной статьи.
Источник: https://printeros.ru/info/kak-udalit-printer-polnostju.html
Как правильно удалить драйвера от принтера
—————Реклама—————
При возникновении каких-либо проблем с печатью, первое, что приходит в голову многим более-менее опытным пользователям ПК – как удалить драйвер принтера. Действительно, удаление и последующая установка драйвера вполне может решить многие проблемы, которые касаются вашего устройства. Итак, наша задача – удалить старый драйвер.
В этой инструкции будет рассказано, как это сделать в разных системах Windows: 7, 8, 8.1 и 10. Это означает, что данная статья поможет всем пользователям сделать данную процедуру на своем компьютере. Теперь приступим к выполнению.
Удаление драйверов через «Удаление программ»
Откройте панель управления («Пуск» – «Панель управления») – Windows 7.
Если на вашем компьютере установлена новая система (Windows 8 или Windows 10), то вам надо нажать правой кнопкой мыши в левой нижней части экрана и выбрать «Панель управления». Так же можете использовать специальные клавиши «Windows» + «X», чтобы открыть это меню.
Выберите пункт «Удаление программы» (находится в нижней части окна).
Внимание! Отключите принтер от компьютера. В дальнейшем мы скажем, когда надо будет его подключить.
В этом окне найдите все программные продукты, связанные с вашим принтером и нажмите «Удалить» и потом следуйте инструкциям.
На скриншоте ниже мы видим, что когда-то были установлены драйвера и программы для принтера Canon.
Чтобы произвести удаление драйверов и утилит вам надо выбрать поочередно каждый пункт, который относится к принтеру Canon (у вас может быть HP, Samsung, Panasonic и т.д., но этого ничего не меняет) и нажмите «Удалить».
—————Реклама—————
Удаление из «Устройства и принтеры»
Первый шаг сделан, но это еще неполное решение проблемы, дальше следует удалить устройство из системы, сделать это можно так:
В панели управления нужно выбрать «Просмотр устройств и принтеров» (находится в категории «Оборудование и звук»)
В появившемся окне, нажмите по вашему принтеру правой кнопкой мыши и выберите «Удалить устройство».
Подтвердите удаление во всплывающем окне, нажав на «Да».
Теперь можно закрыть открытое окно, так как оно больше вам не понадобится.
Ручной способ удаления
Далее нужно зайти в настройки Windows и удалить драйвер оттуда. Не стоит переживать, что вы можете навредить вашей системе, делается это ничуть не сложнее, чем предыдущие способы.
Выполните команду «Пуск» – «Выполнить» (для Windows 7) или нажмите следующую комбинацию клавиш «Win» + «R» (подходит для всех систем, также для Windows 7) – Windows 8 или Windows 10.
Еще один вариант найти «Выполнить» в Windows 8 и Windows 10 – использовать клавиши «Win» + «X». Как зайти в данное меню мы рассказывали выше (прочитайте, если у вас не получилось).
В строке ввода напишите следующий код: «printui /s» (без кавычек) и нажмите «ОК».
Перед вами появится окно – свойства сервера печати. Чтобы найти нужные драйвера для удаления, перейдите на вкладку «Драйверы» и выберите ваш принтер. После чего нажмите «Удалить…».
Появится новое окно, установите флажок напротив «Удалить драйвер и пакет драйвера» и нажмите «ОК».
Подтвердите, нажмите «Да».
После этого система покажет, какие файлы относятся к данному принтеру. Осталось нажать «Удалить». Когда драйвера будут удалены, нажмите «ОК».
Возможно, на вашем компьютере установлены несколько драйверов для вашего принтера (например, вы пробовали установить разные драйвера), в этом случае произведите данные манипуляции с каждым драйвером.
Удаляем файлы вручную
Рекомендуем посмотреть в папке C:Program Files или C:Program Files (x86) папки, которые могут относиться к вашему устройству. По умолчанию, программное обеспечение, как правило, устанавливается именно туда. Если найдете такую папку, то надо ее удалить.
В нашем случае у нас осталась папка Canon, которую необходимо удалить. После чего читайте статью дальше.
Автоматический способ (Driver Sweeper)
Эта программа позволяет удалять драйвера в автоматическом режиме. Но также можно удалить другие (важные) драйвера, поэтому будьте аккуратны. Чтобы скачать программу воспользуетесь Яндексом или Google. Введите Driver Sweeper и скачайте программу себе на компьютер.
Теперь установите ее на компьютер.
Установка простая – выберите русский язык, нажмите «Далее», примите лицензионное соглашение программы, снова жмите «Далее», «Далее», «Далее» и в конце жмете «Установить». После установке запустите программу. Если вам надо сделать программу на русском языке, то это можно сделать в меню «Опции».
Теперь укажите драйвера (поставьте галочку), которые надо удалить. В нашем случае это драйвера производителя «HP». После чего нажмите «Анализ».
Через некоторое время появятся данные, которые относятся к принтеру HP. Теперь нажмите «Очистить». В появившемся окне, нажмите «ОК». Когда все действия будут сделаны, вам осталось перезагрузить компьютер.
На этом собственно и все. Как удалить драйвер принтера, думаю, вы разобрались, в этом нет ничего сложного.
И пусть количество пунктов не пугает вас, ведь это займет у вас максимум 5 минут времени.
После того как драйвер принтера и все сопутствующее программу будут удалены, можете попробовать установить их заново, если это требуется.
Источник: http://printerp.ru/info/delete-driver-printer.html
Устранение проблем с драйвером для принтера Canon MF 4700
На днях столкнулся с проблемой при подключении принтера Canon MF 4700 к удаленному ПК.
То есть принтер подключен к ПК с операционной системой Windows 7 x64 и он расшарен для возможности печати с других компьютеров в сети, все как и положено настроено и на ПК с 64 битными системами все нормально, документы печатаются и при подключении к ПК драйвера на принтер подхватываются по сети без проблем. А вот при попытке установить этот принтер на ПК с Windows 7 x86 после загрузки драйверов через сеть вылетала ошибка «Windows не удается подключиться к принтеру. Отказано в доступе» либо отключалась служба «Диспетчер печати» и даже если принтер и появлялся в списке устройств то все равно при любом обращении к нему, диспетчер печати выключался со сбоем.
Часть 1. Установка драйверов.
Итак, что нам нужно для решения этой, либо похожей проблемы? Конечно — самые последние драйвера под нужную операционную систему к нашему принтеру с сайта производителя. Официальный сайт, например, продукции Canon — http://www.canon.ru/support/.
Далее необходимо установить скачанные драйвера на ПК с которого не удается распечатать что-либо, для этого, в распакованном архиве с драйверами запускаем Setup.
exe и следуя процедуре установки ожидаем завершения мастера (если у вас также как и у меня принтер не сетевой, а подключен к компьютеру через USB и расшарен для использования по сети, то в мастере выбираем установку драйверов не для сетевого принтера, а для USB принтера подключенного к данному компьютеру, не смотря на то, что использовать мы его будем фактически по сети).
Если при запуске мастера возникает ошибка, сообщающая о том, что в системе установлена более ранняя версия драйверов MF и для начала установки их необходимо удалить, смотрим следующую часть статьи.
Если мастер завершил установку драйвера (в конце установки потребуется перезагрузка компьютера), то просто опять проводим установку нашего принтера, через «Устройства и принтеры» или обратившись напрямую к IP адресу ПК на котором он физически подключен и в стандартном режиме устанавливаем принтер, при этом подхватится должны наши драйвера скачанные с сайта производителя, а не те которые хранятся на ПК с подключенным принтером.
Самый правильный способ удалить драйвер принтера:
- Заходим в «Панель Управления».
- Выбираем там «Устройства и принтеры».
- Выделяем любой принтер в разделе «Принтеры и факсы».
- В верхнем меню при выделении любого принтера появляются дополнительные кнопки, выбираем там «Свойства сервера печати».
- В появившемся окне открываем вкладку «Драйверы»
- Выделяем драйвер который нужно удалить и нажимаем кнопку «Удалить»
- Выбираем «Удалить драйвер и пакет драйвера» и нажимаем «ОК», потом еще раз подтверждаем удаление.
Иногда с удалением драйверов принтера могут возникать определенные проблемы, что то типа «Не удалось удалить пакет драйвера, так как он используется системой».
Удаление папки драйверов:
Самое простое решение, которое в принципе не всегда помогает, это очистка папки со всем драйверами на принтеры в системе. Для очистки этой папки, через меню «Выполнить» (Win+R) выполняем команду:
%SystemRoot%System32spooldrivers
Откроется папка драйверов установленных принтеров, тут можно выделить все (Ctrl+A) и удалить. После удаления – перезагрузить компьютер.
Если очистка папки не помогает то делаем следующее:
- Через панель управления заходим в раздел «Устройства и принтеры» и как было описано выше, открываем «Свойства сервера печати» на вкладке «Драйверы». Не закрываем это окно до окончания процедуры.
- Открываем управление службами. Через «Выполнить» (Win+R) вводим команду: services.mscНаходим там службу «Диспетчер печати» и останавливаем ее. Окно управления службами не закрываем.
- Открываем редактор реестра. Через «Выполнить» (Win+R) вводим команду: regeditПереходим к следующему разделу реестра:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlPrintEnvironmentsWindows NT x86Print ProcessorsИли, если у вас такая же проблема но в 64 разрядной системе, то к разделу:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlPrintEnvironmentsWindows x64Print ProcessorsПри отключенном диспетчере печати переименовываем находящиеся там разделы, как правило это winprint и ModiPrint, во что-нибудь типа winprint.bck и ModiPrint.bck. После переименования не закрываем окно редактора реестра.
- В окне служб запускаем «Диспетчер печати».
- После запуска диспетчера печати разворачиваем окно «Свойства сервера печати» и удаляем драйвер который ранее не удалялся. Закрываем «Свойства сервера печати».
- Переходим к службам и останавливаем «Диспетчер печати».
- В редакторе реестра восстанавливаем назад названия переименованных ранее разделов (winprint.bck > winprint и ModiPrint.bck > ModiPrint). Закрываем редактор реестра.
- В окне служб снова запускаем «Диспетчер печати». Закрываем окно служб.
После перечисленных выше процедур можно приступить к установке нового драйвера MF, как описано в первой части этой статьи.
Такие проблемы возникают не только с принтерами Canon линейки MF, но также и с различными принтерами Hewlett-Packard, Xerox и т.д. и предположительно, перечисленные выше махинации, должны срабатывать и для этих принтеров.
Источник: http://ameteus.narod.ru/publ/raznoe/soft/ustranenie_problem_s_drajverom_dlja_printera_canon_mf_4700/24-1-0-150
Некоторые способы удалить драйвер принтера в Windows 7
Удаление драйвера принтера нужно не всегда, но иногда это действие требуется, если вдруг на ПК было установлено не то ПО или же найдено лучшее ПО для нынешнего устройства.
Удаление еще может потребовать в том случае, когда принтер просто больше не печатает, и вы собираетесь провести тест.
Драйвер удалить не так просто, как программ – к его удалению нужно подойти немного иначе.
1. Ручное удаление драйвера принтера
Для этого нужно сделать следующее:- Войти в ПУ ОС;- Найти «Устройства и принтеры» и после этого покажется список устройств установленных на ПК;- Удаление принтера можно произвести нажатием ПКМ по его изображению.
Совет: часто устройств может быть сразу несколько, в таком случае нужно удалить каждое из них.
Для удаления «остатков» ПО принтера перейдите в «меню служб» и введите команду через меню «Выполнить» — Services.msc.
В вызванном меню найдите пункт «Диспетчер печати» и кликните ПКМ на этот пункт «перезапуск» службы.
В том же меню «Выполнить», нужно ввести другую команду: printui /s /t2, которая нужна для перехода к специальному окну печати.
Удалите из окна все существующие драйвера.
Совет: во время удаления появится вопрос, как на картинке ниже. Выберите пункт как на картинке ниже.
Продолжаем:1. Открываем меню «Выполнение» и вводим еще одну команду «printmanagement.msc»;2.
В этом пункте находим «сервера печати» и находим другой подпункт «Принтеры» и «сносим» оттуда драйвера.После произведенных действий и дальнейшей перезагрузки ОС следов наличия старых драйверов быть не должно.
2. Удаление драйвера принтера с помощью утилит
Чтобы упростить задачу по удалению не нужных драйверов определенного устройства, включая принтер, можно воспользоваться специальными для этого программами.Эта возможность даст возможность сэкономить немного времени.
Такой утилитой-помощником является Driver Sweeper, с чьей помощью можно удалить не нужные драйвера с вашего устройства.
Чтобы с ней работать, нужно:- Запустить ее и выбрать понятный язык интерфейса;- Провести «анализ» системы»;- После проведенного анализа – убедитесь что выставлены пункты на драйвера и файлы, которые нужно удалить;- Вам необходимо удалить программы управления – для принтера.
Обычно производители принтеров могут записывать специальные приложения для удаления драйверов и ПО принтера на диске, который предоставляется в комплекте с самим принтером.Пользоваться такой ПО еще просто, при автоматическом запуске на Вашем экране будет специально меню с установкой или удалением драйверов.
3. Очистка лишних файлов
После того, как драйвера принтера были удалены, от них еще могут остаться «следы», которые незаметны для обычного пользователя, но могут менять.
Специально для этого Нам потребуется программа для очистки мусора с компьютера, но не в этом случае. В нашем случае следует убедиться не осталось ли каких-то записей от устройства.
Для этого нужно:
Открыть Win+R, где ввести команду regedit.
— Перейдите в пункт «Правка», а далее в «Найти»;- В поле введите модель вашего принтера;- «Найти далее», после этого покажутся существующие библиотеки, временные файлы или драйвера этого устройства. Если их нет – значит всё хорошо.
4. Решение проблем
Часто возникают различного рода проблемы и неполадки в процессе удаления драйверов, среди которых: «Драйвер занят» или «Драйвер уже используется».
Для этого следует:- Повторить пункт, в котором нужно удалять принтеры вручную;- Откройте редакор реестра, а в нем найдите пункт, который выглядит примерно так:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlPrintEnvironmentsWindows x64DriversКАРТИНКА- Выберите название Вашего принтера драйвера которого не хотят удаляться и переименуйте его на любое другое. Теперь Windows не распознает этот драйвер и его удаление может быть произведено.- Еще можно перейти в папку «Print Processors» в реестре и переименовать его прямо в ней.
Дополнительный вариант устранения различного рода неполадок принтера специально для HP и Canon. Для этого нужно:1. Открыть командую строку, как вы уже знаете, от имени администратора;2. Ввести в него net stop spooler, при это остановив печать;3. Войти на диск С, или другой системный диск и перейти по пути: WindowsSystem32spool;4. Найдите папку «Printers» и полностью очистите то, что находится внутри, папку удалять не нужно;5. Для HP нужно очистить еще и содержимое другой папки: driversw32×86.
После всего этого перезагрузите ПК
5. Итог
После удаления ненужного драйвера в ближайшее время установить новый дрйвер для принтера, чтобы устройство было распознано системой и могло быть использовано.
Но чаще всего после загрузки Виндовс 7 на экране будет сообщение об авто-установке специальных программ, которые нужно установить, либо скачать.
Источник: http://vgtk.ru/tips/773-kak-prosche-vsego-udalit-drayver-printera-v-windows-7.html
Windows не удается подключиться к принтеру, решаем за минуту
Добрый день! Уважаемые читатели и гости блога Pyatilistnik.org. В прошлый раз, я вам подробно объяснил как решается проблема, с печатью при ошибке «Не существует обработчик печати», она всего лишь, одна из тысячи, которая вам может повстречаться.
Сегодня я покажу, что делать, если при попытке установить принтер, будь, то локальный или на терминальной ферме, вы получаете ошибку доступа, что вашей операционной системе Windows не удается подключиться к принтеру, хотя все права есть.
Как и обычно, все оказывается очень просто.
Возможные причины ошибки доступа к принтеру
Давайте для начала опишу свою ситуацию.
Есть терминальная ферма на Windows Server, если кто-то не знает, что это такое, то это мощный сервер или группа серверов, на которые заходят пользователи из вне, для работы с приложениями установленными на них, очень распространенный вариант сейчас в крупных и средних компаниях. Пользователь работая на терминальном сервере, пытается распечатать документ, но его принтер либо не видится вообще, либо при попытке к нему обратиться выдает сообщение с ошибкой:
Подключение к принтеру: Windows не удается подключиться к принтеру. Отказано в доступе
И такое сообщение может быть и с локальным устройством, вплоть до последней версии Windows 10 Fall Creators Update.
Возможные причины, на что следует обратить внимание:
- Проверить права на доступ к принтеру, актуально для корпоративных принтеров, где системные администраторы, дают возможность пользоваться устройством, по принципу групп, подробнее читайте в статье, про безопасность принтеров и разграничение прав.
- Проблема с драйверами устройства, об этом ниже
- Физическая проблема с принтером
- Принтер находится в автономном режиме (Обязательно проверьте, что не установлена галка)
- Проблемы с SNMP трафиком (Попробуйте его отключить)
Разновидность ошибки
Давайте я приведу самые распространенные коды ошибок в данной ситуации, когда Windows не удается подключиться к принтеру. Отказано в доступе:
- 0x00000002
- 0x0000000a
- 0x00000006
- 0x00000057
- 0x00004005
- 0x0000007e
- 0x000003eb
- 0x00000214
- 0x00000bcb
Решение проблемы с подключением к принтеру
Причина одна и кроется она в цифровой подписи драйверов принтеров, а точнее в отсутствии данной подписи.
Если драйвера на устройства подписаны не валидным с точки зрения Microsoft сертификатом или вообще без него, то он таки драйвера не принимает, считая это потенциальной угрозой, в следствии чего ваше устройство перестает работать.
Это не новая проблема, но после очередного обновления KB3170455, проверка цифровой подписи драйверов, ужесточилась.
Напоминаю, что описанные методы решения проблемы, вначале применялись к принтерам на терминальной ферме, но решение актуально и к локальным устройствам, подключенным по USB
- Можете полностью отключить проверку цифровой подписи драйверов, как это делать я описывал, посмотрите. В Windows 10 она обязательная и ужесточенная.
- Можете удалить обновление KB3170455, но думаю это не лучший вариант, когда есть в разы проще.
- Правка реестра Windows.
Так как у меня в основном на работе операционная система windows 10 и с нее не удается подключиться к принтеру на терминальном сервере, где есть драйвера без цифровой подписи, чтобы не делать большого количества телодвижений и кучей перезагрузок, я для принтеров, которые испытывают проблемы, поставлю один параметр, который все поправит.
Что вы делаете, вы открываете реестр и переходите вот по такому пути, лично я для быстрого поиска по реестру использую утилиту register jump, делается это либо локально, если принтер подключен по USB, либо же на сервере терминалов, если используются они.
HKLMSystemCurrentControlSetControlPrintEnviromentsWindowsx64DriversVersion-3Модель вашего принтера
В моем случае это HP M1212, но таких полным полно, Canon, Xerox и так далее.
Находим там параметр PrinterDriverAttributes, по умолчанию там будет стоять значение 0, нужно поменять его на 1. После чего вы смело перезагружаете службу печати либо же сам сервер.
Данный метод, действует в 90 процентах случаев, если вам не помогло, то ниже я привожу дополнительные методы решения данной проблемы.
Дополнительные методы решения ошибок 0x00000002, 0x0000000a, 0x00000006, 0x00000057
Если ваши клиенты так и не могут подключиться к терминальным принтерам, то попробуйте очистить ветку реестра:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPrintProvidersClient Side Rendering Print ProviderServers
В моем случае, я удалил серверы с сервера-печати, убедитесь, что у вас тут будет пусто. После чего можете перезапустить сервер или службу печати.
Еще на Windows 7 бывает ошибка 0x0000007e «Windows не удается подключиться к принтеру. Не существует обработчик печати» при попытке подключить те же сетевые принтеры, решается все пересозданием порта печати. Порт это некое указание, где искать ваше устройство.
Через правый клик, перейдите в свойства печати, вкладка «Порты». Находите текущий порт, и удаляете его.Затем нажимаете добавить.
Указываем стандартный TCP/IP порт для сетевого принтера.
У вас откроется мастер добавления порта.
Указываем ip адрес или DNS имя принтера и имя порта.
Так же можете проверить, что на вкладке «Доступ» стоит галка, разрешающая его. Теперь ваше устройство доступно по сети. Попробуйте снова к нему обратиться по UNC пути \им вашего сервера печати (если есть)имя принтера. Например, \printserversumsungcolor
Источник: http://pyatilistnik.org/windows-can-not-connect-to-the-printer/
Состояние перевода: На этой странице представлен перевод статьи CUPS/Troubleshooting. Дата последней синхронизации: 8 января 2019. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
В этой статье рассматриваются все неспецифические (то есть не связанные с каким-либо одним принтером) проблемы CUPS и драйверов принтеров (но не проблемы, связанные с совместным использованием принтеров), включая методы определения точной природы проблемы и решения выявленной проблемы.
Введение
Наилучший способ борьбы с неисправностями — это выставить ‘LogLevel’ в файле /etc/cups/cupsd.conf
на:
LogLevel debug
А потом посмотреть вывод из файла /var/log/cups/error_log
например так:
# tail -n 100 -f /var/log/cups/error_log
Символы слева от вывода означают следующее:
- D=Debug(отладка)
- E=Error(ошибка)
- I=Information(информация)
- И так далее
Следующие файлы также могут быть полезны:
/var/log/cups/page_log
— каждый раз при успешной печати, пишет новую запись/var/log/cups/access_log
— записывает всю активность на cupsd http1.1 сервере
Также, если вы хотите решить свои проблемы, важно понимать, как вообще работает CUPS. Вот краткая информация об этом:
- Когда вы жмёте ‘печать’ приложение отправляет .ps-файл (PostScript, язык-скрипт, который описывает, как выглядит страница) в систему CUPS (так происходит в большинстве программ).
- CUPS смотрит на PPD-файл (файл описания принтера) и находит, фильтры которые ему нужно использовать для преобразования .ps-файла в файл, который понимает ваш принтер (например, PJL,PCL). Обычно для этого ему требуется ghostscript.
- GhostScript принимает ввод и решает, какие фильтры ему использовать, потом применяет их и преобразовывает .ps-файл в формат, который понимает принтер.
- Затем файл передается бэкенду. Например, если у вас принтер подключен к usb порту, то используется usb бэкенд
Распечатайте документ и посмотрите error_log
, чтобы получить более подробное и правильное представление об процессе печати.
Проблемы, возникающие в результате обновлений
Проблемы возникшие после обновления CUPS и сопутствующего ему набора программ
CUPS останавливается
Существует вероятность, что для правильной работы в обновленной версии понадобится новый файл конфигурации. Например, получение сообщения «404 — page not found» при попытке входа в панель управления CUPS через localhost:631.
Для того, чтобы воспользоваться новым конфигом, скопируйте /etc/cups/cupsd.conf.default
в /etc/cups/cupsd.conf
(при необходимости сделайте резервную копию старого конфига) и, чтобы новые настройки вступили в силу, перезапустите CUPS.
Для всех заданий — «остановлено»
The factual accuracy of this article or section is disputed.
Если для всех отправленных на печать заданий установился статус «остановлено» («stopped»), — удалите принтер и установите его заново. Для этого войдите в веб-интерфейс CUPS, перейдите Принтеры > Удалить Принтер.
Для проверки настроек принтера перейдите во вкладку Принтеры, затем скопируйте отображаемую информацию. Далее нажмите на Администрирование. В выпадающем списке кликните Изменить принтер, перейдите к следующей странице(ам), и так далее.
Для всех заданий — «Принтер не отвечает»
Для сетевых принтеров, поскольку CUPS подключается через URI, необходимо убедиться, что в DNS настроен доступ к принтерам по IP. Например, если принтер подключен следующим образом:
lpd://BRN_020554/BINARY_P1
то имя хоста ‘BRN_020554’ должно соответствовать IP принтера, управляемого сервером CUPS. Если используется Avahi, убедитесь, что разрешение имени хоста Avahi работает.
Альтернативно, замените имя хоста, используемое в URI, IP-адресом принтера.
Версия PPD не совместима с gutenprint
Запустите:
# /usr/bin/cups-genppdupdate
И перезагрузите CUPS (будет выведено соответствующее сообщение после установки gutenprint).
Проблемы с сетью
Не удается найти принтер
Даже если CUPS обнаруживает сетевые принтеры, вы все равно можете получить ошибку «Не удается найти принтер» («Unable to locate printer») при попытке распечатать что-либо. Чтобы решить эту проблему, включите .разрешение локального имени хоста Avahi. Для получения дополнительной информации смотрите CUPS (Русский)#Сеть.
Эта проблема может возникать и при использовании файрвола (межсетевой экран, брандмауэр). Возможно, вам придется отключить его или установить корректные правила. Если вы используете system-config-printer для обнаружения сетевых принтеров, тогда он сделает все это автоматически.
Старый сервер CUPS
Начиная с версии CUPS 1.6, клиент по умолчанию использует IPP 2.0. Если сервер использует CUPS <= 1.5 / IPP <= 1.1, клиент не будет автоматически понижать версию протокола и, следовательно, не может связаться с сервером. Обходным путем является добавление опции version=1.1
, описанной в Таблице 2. Опции URI IPP.
Общий принтер работает локально, но удаленный компьютер не печатает
Это вызвано тем, что задание на печать отправляется через фильтр дважды, один раз на локальном компьютере и один раз на удаленном. Смотрите также предупреждение на главной странице CUPS.
Не удается найти файл PPD
/var/log/cups/error_log
Cannot connect to remote printer ipp://HP079676.local copy_model: empty PPD file
Убедитесь, что Avahi настроен правильно. В частности, проверьте, что nss-mdns установлен и настроен в /etc/nsswitch.conf
.
USB-принтеры
Конфликт с SANE
Если у вас также запущен SANE, возможно, что он конфликтует с CUPS. Чтобы исправить это, создайте правило Udev, обозначающее устройство как совпадающее с libsane:
/etc/udev/rules.d/99-printer.rules
ATTRS{idVendor}=="vendor id(код производителя)", ATTRS{idProduct}=="product id(код продукта)", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"
Конфликт с usblp
Доступ к USB-принтерам можно получить двумя способами: модулем ядра usblp и libusb. Первый — это классический способ. Это просто: данные отправляются на принтер, записывая их в файл устройства в виде простого последовательного потока данных. Чтение одного и того же файла устройства позволяет использовать двунаправленный доступ, по крайней мере, для таких вещей, как считывание уровней чернил, статуса или информации о возможностях принтера (PJL). Он работает очень хорошо для простых принтеров, но для многофункциональных устройств (принтер/сканер) он не подходит, и производители, такие как HP, поставляют свои собственные бэкенды. Источник: здесь.
Важно: Начиная с cups версии 1.6.0, больше не нужно заносить в запрет загрузки модуль ядра usblp
.
Если вы узнаете, что это единственный способ исправить оставшуюся проблему, сообщите об этом в баг-трекер CUPS, а также можно связаться с Till Kamppeter (сопровождающий CUPS в Debian). Для получения дополнительной информации смотрите в upstream bug.
Если у вас возникли проблемы с работой USB-принтера, вы можете попробовать запрет загрузки для модуля ядра usblp
:
/etc/modprobe.d/blacklistusblp.conf
blacklist usblp
Пользователям кастомного ядра может потребоваться вручную загрузить модуль ядра usbcore
, прежде чем продолжить.
После установки модулей подключите принтер и проверьте, обнаружило ли его ядро, выполнив следующие действия:
# journalctl -e
или
# dmesg
Если вы используете usblp
, вывод должен указывать на то, что принтер был обнаружен следующим образом:
Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E Feb 19 20:17:11 kernel: usb.c: usblp driver claimed interface cfef3920 Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver
Если вы запретили загрузку usblp
, вы увидите что-то вроде:
usb 3-2: new full speed USB device using uhci_hcd and address 3 usb 3-2: configuration #1 chosen from 1 choice
USB autosuspend
Ядро Linux автоматически приостанавливает USB-устройства, когда есть поддержка драйверов и устройства не используются. Это может сэкономить электроэнергию, но некоторые USB-принтеры считают, что они не подключены, когда ядро приостанавливает USB-порт, предотвращая печать. Это можно устранить, отключив autosuspend для конкретного устройства, для получения дополнительной информации смотрите Power management#USB autosuspend.
Плохие разрешения
Проверьте разрешения USB-порта принтера. Получите номер шины (BUSID) и устройства (DEVID) от lsusb
:
lsusb
Bus <BUSID> Device <DEVID>: ID <PRINTERID>:<VENDOR> Hewlett-Packard DeskJet D1360
Проверьте владельца, просмотрев devfs:
# ls -l /dev/bus/usb/<BUSID>/<DEVID>
Демон cups запускается от пользователя «cups» и относится к группе «lp», поэтому либо этому пользователю, либо группе требуется доступ на чтение и запись в USB-устройство. Если вы считаете, что разрешения выглядят неправильно, вы можете временно изменить группу и разрешение:
# chgrp lp /dev/bus/usb/<BUSID>/<DEVID> # chmod 664 /dev/bus/usb/<BUSID>/<DEVID>
Затем проверьте, может ли cups теперь видеть устройство USB правильно.
Чтобы сделать постоянное изменение разрешения, которое будет запускаться автоматически при каждом запуске компьютера, добавьте следующую строку.
/etc/udev/rules.d/10-local.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="<VENDOR>", ATTRS{idProduct}=="<PRINTERID>", GROUP:="lp", MODE:="0664"
После редактирования перезагрузите правила udev этой командой:
# udevadm control --reload-rules
Каждая система может отличаться, поэтому обратитесь к вики-странице udev (Русский)#Список атрибутов устройства.
Проблемы с HP
Смотрите также CUPS/Принтероспецифичные проблемы#HP.
CUPS: «/usr/lib/cups/backend/hp failed»
The factual accuracy of this article or section is disputed.
Убедитесь, что dbus установлен и запущен. Если ошибка повторяется, попробуйте запустить avahi-daemon.
Попробуйте добавить принтер в качестве сетевого принтера, используя протокол http:// .
Примечание: Там, возможно, потребуется установить права доступа.
CUPS: «Печать завершена», но принтер не печатает.
Это происходит на принтерах HP, когда вы выбираете (старый) драйвер hpijs (например, для Deskjet D1600 series). Вместо этого используйте драйвер hpcups.
Некоторые принтеры HP требуют, чтобы их прошивка загружалась с компьютера при каждом включении принтера. Вы можете столкнуться с этой проблемой, если есть проблема с udev (или аналогом), и правило загрузки прошивки никогда не запускается.
В качестве обходного пути вы можете вручную загрузить прошивку на принтер. Убедитесь, что принтер подключен и включен, затем выполните
hp-firmware -n
CUPS: ‘»foomatic-rip» not available/stopped with status 3’
Если, во время использования принтера HP, задания появляются в очереди, но все завершаются со статусом ‘остановлен’ (‘stopped’), а в /var/log/cups/error_log
возникает одно из следующих сообщений об ошибках:
Filter "foomatic-rip" for printer printer_name not available: No such file or director
или:
PID pid (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
убедитесь, что hplip установлен.
CUPS: «Filter failed»
Ошибка «filter failed» может быть вызвана некоторым количеством причин. Журнал ошибок CUPS (по умолчанию /var/log/cups/error_log
) должен записывать, какой фильтр не удалось загрузить и почему.
Отсутствует ghostscript
Установите ghostscript (/usr/lib/cups/filter/gstoraster
нуждается в его запуске).
Отсутствует foomatic-db
Установите foomatic-db и foomatic-db-ppds. Это помогает в некоторых случаях.
Avahi не включен
Запустите и включите службу avahi-daemon
.
Устаревший плагин
Эта ошибка может указывать на то, что плагин устарел (версия несовместима) и может произойти после обновления системы, возможно, появится сообщение Plugin error
в журнале (логе).
Если вы установили hplip-pluginAUR, вам нужно обновить пакет, иначе перезапустите hp-setup -i
, чтобы установить последнюю версию плагина.
Устаревшая конфигурация принтера
Начиная с hplip-pluginAUR версии 3.17.11 hpijs больше не доступен. Если у вас есть принтеры, использующие hpijs, они не будут печатать. Необходимо перенастроить их и выбрать вместо этого новый драйвер hpcups.
Вы можете проверить, если это ваш случай, посмотрев в error_log cups`а:
$ grep hpijs /var/log/cups/error_log
... D [09/Jan/2018:14:32:58 +0000] [Job 97] sh: hpijs: command not found ...
CUPS: печатает только пустую страницу и страницу с сообщением об ошибке на HP LaserJet
This article or section is out of date.
Существует ошибка, которая приводит к сбою CUPS при печати изображений на HP LaserJet (в моем случае 3380). Ошибки были зафиксированы и исправлены в Ubuntu.
Первая страница пуста, вторая страница содержит следующее сообщение об ошибке:
ERROR: invalidaccess OFFENDING COMMAND: filter STACK: /SubFileDecode endstream ...
Чтобы устранить проблему, выполните следующую команду как суперпользователь (root):
# lpadmin -p printer -o pdftops-renderer-default=pdftops
HPLIP 3.13: Плагин установлен, но HP Device Manager жалуется на его отсутствие
Возможно, проблема связана с изменением прав доступа файла, которое было внесено в /var/lib/hp/hplip.state
. Чтобы исправить проблему, достаточно простых команд chmod 644 /var/lib/hp/hplip.state
и chmod 755 /var/lib/hp
. Для получения дополнительной информации, пожалуйста, прочитайте эту ссылку.
hp-toolbox: «Unable to communicate with device»
# hp-toolbox # error: Unable to communicate with device (code=12): hp:/usb/printer id
Разрешение проблемы
The factual accuracy of this article or section is disputed.
Reason: Предположительно, hp-toolbox пытается получить доступ к /dev/usb/* или /dev/lp, поэтому он должен находиться в группе lp
. Но почему sys
? И я не могу воспроизвести это… (Discuss in Talk:CUPS (Русский)/Troubleshooting (Русский))
Может потребоваться добавить пользователя в группы lp
и sys
.
Виртуальный CDROM у принтеров
Это также может быть вызвано принтерами, такими как P1102, которые предоставляют виртуальный привод CD-ROM для драйверов MS Windows. Появляется lp dev, а затем исчезает. В этом случае попробуйте пакеты usb-modeswitch и usb-modeswitch-data, что позволяет отключить «Smart Drive» (правила udev, включенные в указанные пакеты).
Сетевые принтеры
Это также может происходить с сетевыми принтерами, использующими динамические имена хостов, если avahi-daemon не запущен. Другая причина заключается в том, что hp-setup не удалось найти принтер, потому что IP-адрес принтера изменился из-за DHCP. Если это так, подумайте о добавлении резервирования DHCP для принтера в конфигурации сервера DHCP.
hp-setup просит указать PPD-файл для обнаруженного принтера
Кроме того, при выборе файла PPD в графическом режиме hp-setup поле не обновляется и сообщение об ошибке не отображается.
Или, если вы используете интерактивный (консольный) режим, можно столкнуться с чем-то похожим на это даже при введении правильного пути к файлу ppd:
Please enter the full filesystem path to the PPD file to use (q=quit) :/usr/share/ppd/HP/hp-deskjet_2050_j510_series.ppd.gz Traceback (most recent call last): File "/usr/bin/hp-setup", line 536, in <module> desc = nickname_pat.search(nickname).group(1) TypeError: cannot use a string pattern on a bytes-like object
Решение заключается в установке и запуске cups перед запуском hp-setup
.
hp-setup: «Qt/PyQt 4 initialization failed»
Установите пакет python-pyqt4AUR, который дополнительно требуется (optdepend) для hplip. Альтернативно вы можете запустить hp-setup с интерфейсом командной строки с помощью флага -i
.
hp-setup: находит принтер автоматически, но сразу после этого сообщает «Unable to communicate with device» при печати тестовой страницы
Это, по крайней мере, происходит с hplip 3.13.5-2 у принтера HP Officejet 6500A через локальное сетевое соединение. Чтобы решить проблему, укажите IP-адрес принтера HP для hp-setup, чтобы обнаружить принтер.
hp-setup: «KeyError: ‘family-class'»
Если при добавлении принтера в пользовательском интерфейсе он не работает, или вы получили KeyError: 'family-class'
от hp-setup
, возможно потребуется обновить вручную /usr/share/hplip/data/models/models.dat
.
Проверьте определен ли раздел family-class=Undefined
для вашего принтера. Если нет, добавьте это:
/usr/share/hplip/data/models/models.dat
[hp_laserjet_pro_mfp_m225dw] ... family-class=Undefined
Другие
Принтер «приостановлен — «Paused»» или «Остановлен» cо статусом «Рендеринг завершен»
Низкий уровень чернил
При низком уровне чернил некоторые принтеры зависают со статусом «Рендеринг завершен» («Rendering completed»), и, если это сетевой принтер, принтер может даже стать недоступным для CUPS, несмотря на то, что он правильно подключен к сети. Замена картриджа (картриджей) с низким уровнем чернил в этом случае вернет принтер в статус «Готов» («Ready») и, если он — сетевой принтер, то он станет снова доступным для CUPS.
Примечание: Если вы используете сторонние чернильные картриджи, то принтер может сообщать неточную информацию о уровне чернил. Если вы используете сторонние картриджи, и ваш принтер работал нормально, но теперь завис со статусом «Рендеринг завершен» («Rendering completed»), замените чернильные картриджи, независимо от уровня отображаемых чернил, перед тем, как пробовать другие решения проблемы.
Завершение печати из-за ошибок авторизации
Если удаленный принтер запрашивает аутентификацию, CUPS автоматически добавит директиву AuthInfoRequired
для принтера в /etc/cups/printers.conf
. Однако некоторые графические приложения (например, некоторые версии LibreOffice [1]) не имеют возможности запрашивать учетные данные, поэтому печать завершилась с ошибкой.
Чтобы исправить это, укажите требуемое имя пользователя и пароль в URI.
Для получения дополнительной информации смотрите [2], [3].
Unknown supported format: application/postscript
(Не найдена поддержка формата: application/postscript)
Закомментируйте строки:
application/octet-stream application/vnd.cups-raw 0 -
в /etc/cups/mime.convs
и:
application/octet-stream
в /etc/cups/mime.types
.
Ошибка задания для печати (Print-Job) client-error-document-format-not-supported
Попробуйте установить пакет foomatic и используйте драйвер foomatic.
Не удается получить список драйверов принтера
(Также применимо к ошибке «-1 не поддерживается!»)
Попробуйте удалить драйверы Foomatic или обратитесь к CUPS/Принтероспецифичные проблемы#HPLIP для обходного пути.
lp: Error — Scheduler Not Responding
Если вы получите эту ошибку, убедитесь, что CUPS запущен, переменная окружения CUPS_SERVER
не установлена и /etc/cups/client.conf
корректный.
Сообщение об ошибке: «Using invalid Host»
Попробуйте добавить ServerAlias *
в /etc/cups/cupsd.conf
.
Не удается отправить на печать из LibreOffice
Если вы можете распечатать тестовую страницу с веб-интерфейса CUPS, но не из LibreOffice, попробуйте установить пакет a2ps.
Вывод принтера сдвинут
По-видимому, это связано с неправильным размером страницы, установленным в CUPS.
Принтер не работает (приостановлен — «Paused») после ошибки
Когда во время печати возникает ошибка, принтер в CUPS может перестать отвечать на запросы. lpq
сообщает, что принтер is not ready
(не готов), его можно активировать с помощью cupsenable
. В веб-интерфейсе CUPS принтер отображается как приостановлен — «Paused», его можно возобновить с помощью Восстановить печать.
Чтобы CUPS автоматически активировал принтер, измените политику ошибок с стандартной настройки Останавливать принтер
(stop-printer) на Повторить задание
(retry-this-job).
Samsung: URF ERROR — Incomplete Session by time out
Эта ошибка обычно возникает при печати файлов по сети через IPP на принтерах Samsung и решается с помощью пакета samsung-unified-driverAUR.
Примечание: Соответствующий код ошибки 11-1112 соответствует внутренней проблеме с принтером, поэтому обращение к технической поддержке Samsung бесполезно.
Brother: Принтер печатает несколько копий
Иногда принтер печатает несколько копий документа (например, MFC-9330CDW напечатал 10 копий). Решение заключается в обновлении прошивки принтера.
Обычный пользователь не может изменять настройки принтера или удалять определенные задания
Если обычный пользователь должен иметь возможность изменять настройки принтеров или управлять очередью принтера, пользователь может быть добавлен в группу sys
.