- CUPS/Печать из-под Windows
- Linux/BSD Проще не бывает!
- Печать из CUPS на розшаренный в Windows принтер.
- Печать c Windows-клиента на Linux-сервер CUPS
- Оставить комментарий
- как прикрутить к CUPS расшаренный в винде принтер ?
- Re: как прикрутить к CUPS расшаренный в винде принтер ?
- Re: как прикрутить к CUPS расшаренный в винде принтер ?
- Re: как прикрутить к CUPS расшаренный в винде принтер ?
- Re: как прикрутить к CUPS расшаренный в винде принтер ?
- Re: как прикрутить к CUPS расшаренный в винде принтер ?
- CUPS (Русский)/Printer sharing (Русский)
- Contents
- Создание класса для нескольких принтеров
- Внутри систем GNU/Linux
- Использование веб-интерфейса
- Ручная настройка
- Включение обнаружения
- Между GNU/Linux и Windows
- Сервер Linux — клиент Windows
- Общий доступ с помощью Bonjour
- Общий доступ с помощью IPP
- Общий доступ с помощью Samba
- Сервер Windows — клиент Linux
- Общий доступ с помощью LPD
- Общий доступ с помощью IPP
- Общий доступ с помощью Samba
- Удаленное управление
- Kerberos
- Решение проблем
- Не удается отправить на печать из приложений GTK
- Ошибки разрешений в Windows
CUPS/Печать из-под Windows
Там даже много написано. Чтобы настроить печать в Windows на принтер, подключённый к CUPS, надо:
- Включить доступ к принтерам CUPS снаружи
- Добавить в Windows сетевой принтер, адрес которого совпадает с URL, с помощью которого вы настраиваете принтер в CUPS
- Выбрать драйвер принтера «MS Publisher Imagesetter»
Теперь подробнее. Принтер Cups-PDF на машине grail (имя домена опускаю).
- Заходим на машине с принтером на http://localhost:631/admin (или удалённо на http://grail:631/admin, если разрешено), включаем галочку «Разрешить совместный доступ к принтерам, подключенным к этой системе». Сохраняем.
- Заходим в раздел «Принтеры», тыкаем в нужный принтер. Получаем примерно такой URL: http://grail:631/printers/Cups-PDF . Запоминаем его
- В Windows вызвать «Мастер установки принтеров» («Принтеры и факсы» → «Установка принтера»). «Далее» → «Сетевой принтер…» → «подключиться к принтеру в Интернете…». Сюда вбиваем URL (в примере http://grail:631/printers/Cups-PDF); стоит обратить внимание на то, что адрес принтера — не localhost :). «Далее» → изготовитель «Generic» → принтер «MS Publisher Imagesetter» → «Ok» → «Готово».
Проверить можно, ткнув правой кнопкой в образовавшийся принтер → «Свойства» → «Пробная печать». Кстати, в нашем случае результат (файл .pdf) попадает довольно глубоко: в каталог /var/spool/cups-pdf/ANONYMOUS .
Автор заметки подсказывает на всякий случай проверить ещё 631 порт в брандмауэре на обеих машинах и настройки прокси Windows.
Linux/BSD Проще не бывает!
Печать из CUPS на розшаренный в Windows принтер.
Простенькая задачка — необходимо настроить печать по сети из Linux на принтер физически подключенный к машинке с Windows XP и розшаренный по samba. Простенькая потому, что рещается за пару минут 🙂 Итак, оглашу все вводный данные перед началом «плясок с бубном».
WinXP:
- ip — 192.168.0.5
- принтер розшарен под именем HP1320
- Пользователь — print (от имени этого пользователя мы будем печатать на винде)
- Пароль — 123 (это пароль вишеупомянутого пользователя print)
Linux:
- hostname — ws4.intranet
- cups — версия 1.4.2
В моем случае обе машинки были удаленные. Но это не составляет труда, поскольку попасть в админку CUPS можно просто набрав в браузере URL https://ws4.intranet:631/admin
Тут возможны как минимум 3 варианта. Или вас не пустит с ошибкой 403 Forbidden, либо пустит но спросит при первом же действии логин/пароль пользователя имеющего право управлять системой печати и последний вариант — не пустит совсем! Итак лечится каждый вариант посвоему:
- 403 Forbidden — Нужно разрешить удаленное администрирование CUPS. Сделать это можно поправив по ssh на сервере с CUPS конфиг /etc/cups/cupsd.conf (добавить Allow From в нужные вам секции) или зайдя браузером непосредственно с машинки где установлен CUPS на URL https://localhost:631/admin и поставить галочку «Разрешить удаленное администрирование»
- Пускает но при попытке чтолибо поменять/удалить/добавить сразу спрашивает Login/Password — так и должно быть! Просто вводим login/password рута или другого уполномоченного на управление системой печати пользователя.
- Совсем никакой реакции! Висит а потом браузер говорит что немогу подключиться к серверу — Просто надо проверить запущен ли CUPS и разрешено ли ему слушать чтолибо кроме localhost. Не закрыто ли фаерволом? Ну и логи CUPS никто не отменял 🙂
У меня с подключением никаких приколов небыло, просто ввел URL в браузере https://ws4.intranet:631/admin и все прекрасно загрузилось (вернее, уже во время добавления принтера спросило login/password — рутовых данных хватило с головой). Короче, увидел такую вот web админку:
Дальше жмем кнопочку слева «Добавить Принтер» и попадаем к выбору типа принтера.
Тут я выбрал Windows Printer via SAMBA (видно на картинке). Жмем «Продолжить». После этого попадаем на этап указания сервера и строки подключения вцелом. Тут самое интересное — строка подключения 🙂 В ней используется имя пользователя/пароль виндового пользователя для авторизации по SAMBA на виндовой машине. Вобщем, все видно на скриншоте:
Жмем «Продолжить». Попадаем в дополнительные настройки подключаемого принтера. Тут можно прописать название принтера (под этим именем он будет подключен в систему) а также расположение и описание. Пишим то что считаем нужным. Я заполнил так:
Прописали? Жмем «Продолжить». Отрывается следующая страничка мастера подключения принтеров в которой уже предлагается выбрать производителя нашей железки (принтера) ну или сразу ppd файл 🙂
У меня небыло ppd-шки — выбрал просто HP и нажал «Продолжить». Заключительным шагом был выбор драйвера для принтера. Делается все также просто:
Выделяем нужный нам драйвер и жмем «Добавить принтер». Если все сделано как надо, то в списке принтеров должен появиться принтер 🙂 В этом можно убедиться просто зайдя на вкладку «Принтеры». Притом можно ходить как по http так и по https. К примеру я зашел используя такой URL: http://ws4.intranet/printers Вот что там увидел:
Как видите, принтер подключился и ожидает задания 🙂 Ну как пользоваться принтером вы уже и сами разберетесь. Такчто на этом мой рассказ пришел к логическому завершению 🙂
Всем удачи и безглючной печати в придачу 😉
Печать c Windows-клиента на Linux-сервер CUPS
Бывает необходимо печатать с компьютера под управлением Windows на принтере, подключенном к компьютеру с Linux. В этой статье я напишу, как настроить подобное подключение принтера.
Полагаем, что на машине с Linux все отлично. Уже установлен и настроен CUPS – сервер печати для UNIX -подобных операционных систем, а принтер подключен и печатает все что от него требуют.
Прежде всего, необходимо настроить разделение принтера с другой системой. Это необходимо сделать, если вы планируете использовать принтер как сетевой. Откройте файл /etc/cups/cupsd.conf и разрешите доступ к серверу, изменив строчки с тэгом Location . Например:
Добавьте IP адреса компьютера клиента в строчке Allow From client_ip_address . После того как вы внесли исправления, перезапустите CUPS .
С этого момента к принтеру могут подключаться и печатать другие клиенты согласно списка разрешений.
Теперь о настройке клиентов. О настройке Linux-клиента писать не буду (раз вы осилили настройку локального принтера значит настроите и сетевой). Напишу о подключении с Windows-машины.
Существует два способа подключения.
Первый способ использует Samba. Для этого потребуется установить и настроить Samba, поэтому использовать его мы не будем (хотя этот способ единственный для тех, кто использует Windows версии меньше чем Windows 2000).
Второй способ – использовать непосредственно протокол CUPS (годится для Windows 2000, Windows XP, Windows 7).
На компьютере с Windows, зайдите в Панель Управления -> Принтеры и выберите «Добавить новый принтер». Потом выберите опцию «Подключиться к принтеру в Интернете, в домашней сети или интрасети». В поле для URL введите адрес вашего принтера:
где host_ip_address – это IP адрес вашего Linux сервера, а printer_name – это имя принтера, к которому вы подключаетесь. После этого установите драйвера для принтера на компьютер с Windows. Все установка завершена. Проверьте ваши настройки, попробовав напечатать тестовую страницу. Если тестовая страница распечаталась, на этом все.
А что делать, если тестовая страница не распечаталась? Первым делом смотрим логи CUPS . Проверяем очередь заданий. Поступало что-нибудь на печать, было ли выполнено.
Если на печать ничего не поступало, проверяем разрешения на доступ к серверу CUPS , настройки файрвола.
Если задание на печать поступало, но не выполнено, значит, проверяем сам принтер, проблема в нем, либо в настройках порта принтера.
Если задание на печать поступало и выполнено, но принтер ничего не напечатал, значит, проблема в настройках CUPS . Ваш сервер CUPS не печатает данные в формате RAW (бывает, что по умолчанию эта возможность отключена). Чтобы это исправить, необходимо отредактировать следующие файлы: /etc/cups/mime.convs и /etc/cups/mime.types. Добавьте или раскомментируйте следующие строки:
Перезапустите CUPS . Должно работать.
сен 10, 06:13 Дмитрий в рубрике мучаем UNIX .
Добавить в Twitter
Добавить в Telegram
Ох уж этот рав-формат! Намучался пока свой Samsung SCX-4300 подключал. Целый день потерял, пока разобрался. 🙁
Подключается, на печать документы уходят, принтер жужжит, а не печатает ничего. А все из-за отключенного raw.
Автору РЕСПЕКТ . , аналогично потратил весь день на танцы с бубнам при попытке связать cups и samba вместе ! принтер Samsung SCX -4300 , в сети появляется . коряво подключается затем после перезагрузки отваливается совсем , вычитал массу конфигов с различных форумов . Способ автора самое простое и доступное решение . Спасибо !
Оставить комментарий
Привет, читатель! Здесь пишут о веб-разработке и немного на другие темы, так или иначе связанные с компьютером. Используй страницу поиска и архива для поиска нужной тебе информации.
как прикрутить к CUPS расшаренный в винде принтер ?
есть моя машина , с слакой и CUPS
добавляю в нем Windows printer via SAMBA
Device URI: smb://NATASHA/LexmarkE
выбираю driver Generic PCL 5c foomatic бла бла .
пробую печатать тестовую страницу — Unable to connect to CIFS host after (tried 3 times)»
Re: как прикрутить к CUPS расшаренный в винде принтер ?
в какую сторону копать ?
Re: как прикрутить к CUPS расшаренный в винде принтер ?
судя по зловещему молчанию , копать предлагают вниз .
Re: как прикрутить к CUPS расшаренный в винде принтер ?
>судя по зловещему молчанию
Ты что в круглосуточную службу поддержки обратился? Ночью люди спят, сюрприз!
З.Ы. бери smbclient, подключайся к принтеру и смотри чего ей (самбе) не хватает. Когда успешно подключишься, тогда и начинай CUPS настраивать.
Re: как прикрутить к CUPS расшаренный в винде принтер ?
а имя NATASHA кто резолвит ? попробуй вписать так:
Device URI: smb://guest@ip_address_of_NATASHA/LexmarkE
Re: как прикрутить к CUPS расшаренный в винде принтер ?
>Ночью люди спят, сюрприз!
а я подумал что меня просто никто не любит . 🙂
я xfsamba ковырял.
в шелле выдает
$ smbclient -N -L //NATAHSA
Anonymous login successful
Domain=[DOMA] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
Sharename Type Comment
——— —- ——-
cli_rpc_pipe_open: cli_nt_create failed on pipe \srvsvc to machine NATAHSA. Error was NT_STATUS_ACCESS_DENIED
Error returning browse list: NT_STATUS_ACCESS_DENIED
Anonymous login successful
Domain=[DOMA] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
Server Comment
——— ——-
BLOODMERI Samba Server
NATAHSA
Workgroup Master
——— ——-
DOMA NATAHSA
CUPS (Русский)/Printer sharing (Русский)
Эта статья содержит инструкции по совместному использованию принтеров между системами, будь то между двумя системами GNU/Linux или между системой GNU/Linux и Microsoft Windows.
Contents
Создание класса для нескольких принтеров
‘Класс’ в CUPS имеет значение группы. Когда у вас есть несколько принтеров, подключенных к одному серверу CUPS, вы можете захотеть их сбалансировать (задания на печать автоматически помещаются в очередь для разных принтеров). Это также дает преимущество в том, что пользователи на удаленной машине работают с одним ‘принтером’. Что особенно полезно, когда один принтер вышел из строя, вы просто исключаете его из класса, но для конечных пользователей ничего не изменится — печать заданий, поставленных на другой принтер сервером CUPS, продолжает обрабатываться. Создание и управление классами можно выполнять из веб-интерфейса CUPS.
Внутри систем GNU/Linux
Сервер можно настраивать с помощью веб-интерфейса или путем ручного редактирования файла /etc/cups/cupsd.conf . Смотрите статью CUPS (Русский) для настройки клиента.
Использование веб-интерфейса
Для доступа к странице администрирования CUPS, откройте в браузере адрес: http://localhost:631.
В верхней части находится вкладка Администрирование — кликните по ней, нажмите на кнопку добавления принтера, при этом будут автоматически определены подключенные принтеры. Если этого не произойдет, отключите принтер и подключите его снова.
После создания принтера зайдите в раздел Сервер и установите флажок напротив «Разрешить совместный доступ к принтерам, подключенным к этой системе». После клика по Сохранить, сервер будет перезапущен автоматически.
Для более детальной настройки вы можете отредактировать файл /etc/cups/cupsd.conf , нажав кнопку «Редактировать конфигурационный файл». Для получения дополнительной информации смотрите #Ручная настройка.
Ручная настройка
На сервере (тот, который управляет и подсоединён к принтеру) разрешите доступ к серверу, изменив строчки с тэгом Location. Например:
Также убедитесь, что серверу для адресации доступен IP-адрес клиента:
Есть другие возможности для настройки, включая автоматические способы, которые детально описаны в Использование сетевых принтеров [устаревшая ссылка 2020-08-02] и cupsd.conf(5) .
После внесения каких-либо изменений перезапустите службу org.cups.cupsd .
Если CUPS запускается с помощью активации сокета, создайте drop-in сниппет для org.cups.cupsd.socket , чтобы активация сокета работала и с удаленными подключениями:
Включение обнаружения
Чтобы включить отображение (обнаружение) общего принтера, необходимо установить Avahi и запустить его на сервере. Если вам не нужно обнаружения принтера, тогда Avahi не требуется ни на сервере, ни на клиенте.
Чтобы включить отображение, выберите Показывать общие принтеры, подключенные к этой системе в веб-интерфейсе, или вручную включите Browsing и введите BrowseAddress:
затем перезапустите службу org.cups.cupsd .
Обратите внимание, что «обнаружение» на сервере — другая вещь по сравнению с «обнаружением» на удаленном сетевом хосте. На сервере печати cupsd предоставляет поддержку протокола DNS-SD, который транслируется avahi-daemon . Служба cups-browsed не нужна на сервере печати за исключением, если будет транслироваться старый протокол CUPS’а, или если сервер печати также будет «обнаруживать» другие сетевые принтеры. На удаленном сетевом хосте служба cups-browsed требуется для «обнаружения» сетевой трансляции служб печати, а также запущенная служба cups-browsed будет автоматически запускать cupsd .
Служба org.cups.cupsd.service запускается автоматически при подключении USB-принтера, но это может быть не так для других типов подключений. Если cupsd не запущен, тогда avahi-daemon не транслирует службу печати, поэтому в этом случае service-файл юнита systemd должен быть изменен при запуске во время загрузки, а затем служба снова должна быть «включена/установлена» с новой зависимостью. Чтобы сделать это, отредактируйте раздел файла службы [Install] , добавив зависимость WantedBy=default.target , а затем включите и запустите службу org.cups.cupsd.service .
Между GNU/Linux и Windows
Сервер Linux — клиент Windows
После настройки сервера установите драйвера для принтера на компьютере под управлением Windows. Если принтер сервера CUPS настроен на использование собственных драйверов вместо raw (raw — когда cups просто передает на принтер полученное задание для печати без какой-либо обработки), вы можете просто выбрать общий драйвер postscript для клиента Windows (например, ‘HP Color LaserJet 8500 PS’ либо ‘Xerox DocuTech 135 PS2’, либо ‘Microsoft PS Class driver’).
Общий доступ с помощью Bonjour
Службы печати Bonjour позволяет клиентам Windows легко подключаться к серверам печати Unix с включенным обнаружением.
Общий доступ с помощью IPP
Internet Printing Protocol является широко поддерживаемым стандартом среди операционных систем, который также прост в настройке. Он имеет функцию переадресации портов, туннелирования и т.д.
Сначала, настройте сервер как описано в разделе #Внутри систем GNU/Linux.
На компьютере с Windows, перейдите в Панель управления > Просмотр устройств и принтеров и выберите в контекстном меню ‘Добавить принтер’. Если у вас Windows 10, нажмите кнопку «Принтер, который я хочу, не указан». Далее, выберите ‘Выбрать общий принтер по имени’ и тип расположения принтера:
(Где hostname — это имя хоста или IP-адрес сервера GNU/Linux, а printer_name — это имя подключенного принтера. Вы также можете использовать полное доменное имя сервера, если оно есть, но вам может потребоваться установить ServerAlias my_fully_qualified_domain_name в /etc/cups/cupsd.conf , чтобы это заработало).
Общий доступ с помощью Samba
Samba — реализация протокола обмена файлами Windows и принтерами, даже самых старых.
Обратите внимание, что общий доступ с помощью Samba обычно более сложный для настройки и сопровождения.
Для настройки Samba на сервере Linux, отредактируйте файл /etc/samba/smb.conf , это даст возможность предоставить общий доступ к принтерам. Файл smb.conf может содержать примерно следующее:
Этого должно быть достаточно для организации совместного доступа, но все-таки рекомендуется добавить для принтера отдельную запись:
Учтите, что при таких настройках, должна существовать учетная запись с правами доступа к принтеру. Для публичного принтера установите guest ok в yes, и удалите строку valid users. Для добавления учетных записей, создайте действующую учетную запись GNU/Linux, а затем установите на Samba-сервере пароль. Например:
Затем перезапустите демон Samba:
Естественно, имеется множество дополнительных настроек сервера печати Samba, поэтому, для получения дополнительной информации, следует обратиться к справочной документации Samba и CUPS. Образцы и примеры можно посмотреть в файле smb.conf.example .
Сервер Windows — клиент Linux
smb://BEN-DESKTOP/HP Color LaserJet CP1510 series PCL6
Такая строка может быть получена в результате выполнения следующей команды:
Общий доступ с помощью LPD
В Windows 7, 8 и 10 имеется интегрированный LPD-сервер, то, возможно, будет намного проще использовать именно его, поскольку не придется для клиента устанавливать Samba, а на сервере — можно будет обойтись без сложных настроек. Это можно включить в разделе Службы печати и документов, находящего в Панель управления -> Программы -> Включение или отключение компонентов Windows. В свойствах принтера должен быть включен общий доступ. Используйте общее имя без особых символов, таких как пробел, запятые и др.
Затем, принтер можно будет добавить в CUPS просто выбрав протокол LPD. Адресс принтера будет выглядеть следующим образом:
Перед добавлением вам, скорее всего, понадобиться установить для своей модели принтера соответствующий драйвер. Драйвера Generic PostScript или RAW тоже должны работать.
Общий доступ с помощью IPP
Как и в предыдущем случае, для организации общего доступа к принтерам протокол IPP является предпочтительным, но он работает только с версиями Windows Server. Версия Windows Server (например Server 2016) включаюет поддержку IPP (функции «Службы печати и документов», служба «Интернет-печати»). Клиентские версии (например, Windows 10) включают поддержку только клиента IPP и не поддерживают совместный доступ через IPP.
Общий доступ с помощью Samba
Гораздо проще использовать стандартные возможности Windows по предоставлению общего доступа к принтерам с помощью Samba. Ручная настройка практически не требуется и все можно выполнить через бэкенд CUPS. Однако, как было замечено выше, в Windows могут возникнуть проблемы с аутентификацией и ограничением доступа.
На стороне сервера необходимо разрешить общий доступ к принтеру и убедится, что клиентские машины имеют к этому принтеру доступ.
В следующем разделе будут описаны настройки клиента с обоими (cupsd и smbd) запущенными демонами.
Настройка через веб-интерфейс
Samba CUPS бэк-енд должен быть включен по умолчанию, но если этого не происходит — введите следующую команду и перезапустите CUPS.
Затем, просто зайдите в веб-интерфейс CUPS и добавьте новый принтер. В качестве устройства выберите «Windows Printer via SAMBA».
Для местоположения устройства, выберите:
Или, если пароля нет:
Убедитесь, что пользователь действительно имеет доступ к принтеру на компьютере Windows, и выберите соответствующие драйверы. Если компьютер находится в домене, убедитесь, что в имени пользователя присутствует домен:
Ручная настройка
При ручной настройке: остановите демон CUPS и добавьте свой принтер в /etc/cups/printers.conf , который, к примеру, может выглядеть так:
Перезапустите демон CUPS и распечатайте тестовую страницу.
Поиск URI для серверов печати Windows
Иногда имя хоста Windows (усеченно) меньше предстоящего точного URI устройства (расположение устройства) (Sometimes Windows is a little less than forthcoming about exact device URIs (device locations)). Если возникли проблемы с указанием правильного расположения устройства в CUPS, выполните следующую команду, чтобы вывести список всех общих ресурсов, доступных для определенного имени пользователя windows:
В этом списке будет отображаться только общие URI для определенного имени пользователя Windows в локальной подсети локальной сети, если Samba настроен и работает правильно. Команда должна вернуть что-то вроде этого:
Здесь требуется первая часть последней строки — ресурс, соответствующий описанию принтера. Поэтому для печати на принтер EPSON Stylus введите:
Удаленное управление
Однажды сервер настроенный, как описано в #Внутри систем GNU/Linux, может также быть настроенным так, чтобы им можно было управлять удаленно. Добавьте разрешенные хосты в блок в /etc/cups/cupsd.conf , используя тот же синтаксис, что и в #Ручная настройка. Обратите внимание, что доступны три уровня доступа:
Чтобы дать удаленным хостам доступ к одному из этих уровней, добавьте оператор Allow в этот уровень. Оператор Allow может принимать одну или несколько форм, перечисленных ниже:
Отрицательный оператор также может быть использован. Например, чтобы предоставить полный доступ ко всем хостам на локальных сетевых интерфейсах, отредактируйте /etc/cups/cupsd.conf :
The factual accuracy of this article or section is disputed.
Вам также может потребоваться добавить:
Это должно помочь избежать ошибки: 426 — Upgrade Required when using the CUPS web interface from a remote machine.
Kerberos
Kerberos может использоваться для аутентификации пользователей, обращающихся к удаленному серверу CUPS. Это предполагает, что на вашем компьютере есть keytab, и ему понадобится билет для «HTTP». Вместо этого http://localhost:631 вы должны использовать https://host.example.co.uk:631 т.к. требуется шифрование для auth (следовательно, https), и требуется полное имя хоста, чтобы Kerberos/Negotiate могли работать. Кроме того, сервер должен быть настроен в /etc/cups/cupsd.conf , чтобы использовать DefaultAuthType Negotiate .
Если вы используете поддержку NSS в Samba winbind, вы можете добавить имя группы AD в /etc/cups/cups-files.conf — в следующем примере sysadmin может быть группой AD:
Решение проблем
Общие советы по устранению неполадок смотрите в CUPS/Решение проблем.
Не удается отправить на печать из приложений GTK
Если ты получил сообщение getting printer information failed (ошибка получения информации о принтере), когда пытался отправить на печать из приложения GTK, тогда добавь эту строку в свой /etc/hosts :
Ошибки разрешений в Windows
Некоторые пользователи исправили ошибки ‘NT_STATUS_ACCESS_DENIED’ (Windows клиенты), используя несколько иной синтаксис: