Печать сетевой принтер linux

Печать сетевой принтер linux

Одним из свойств pdq и lpd является то что они поддерживают печать по сети на принтер, физически подключенный к другой машине. С помощью правильной комбинации фильтров и разнообразных утилит, вы можете печатать используя lpr на принтера во всех видах сетей.

Для того чтобы разрешить удаленным машинам печатать на ваш принтер используя протокол LPD, вы должны перечислить эти машины в файле /etc/hosts.equiv или /etc/hosts.lpd . (Заметим, что hosts.equiv имеет список машин несколько с другим эффектом; будьте уверены что вы знаете что вы делаете если перечисляете машины в этом файле). Вы можете разрешить только определенным пользователям на других машинах печатать на ваш принтер используя атрибут rs ; читайте справочную страницу lpd для более детальной информации об этом.

Используя pdq

Используя PDQ, вы определяете принтер с типом интерфейса «bsd-lpd». Этот интерфейс берет в качестве аргумента имя удаленного сервера и имя очереди печати; помощник определения принтера запросит у вас эти параметры.

С помощью lpd

Для того чтобы печатать на другую машину вы должны сделать примерно такую запись в /etc/printcap :

Заметим что все равно есть директория очереди на локальной машине обслуживаемая lpd . Если удаленная машина занята или отключена, то задание с локальной машины будет находиться в очереди до тех пор пока оно не сможет быть послано.

С помощью rlpr

Вы также можете использовать rlpr для послания задания печати прямо в очередь удаленной машины без мороки с настройкой lpd для выполнения этой задачи. Это в большинстве случаев полезно в ситуациях когда вы печатаете на множество принтеров только время от времени. Из анонса rlpr :

Rlpr использует TCP/IP для посылки заданий печати на сервера с lpd, находящиеся где угодно в сети.

В отличии от lpr, он не требует чтобы удаленный принтер был явно известен машине с которой вы хотите печатать, (например в /etc/printcap ) и таким образом является значительно белее гибким и требующим меньше администрирования.

rlpr может использоваться везде где мог бы использоваться традиционный lpr, и он является совместимым с традиционным BSD lpr.

Основная мощь rlpr заключается в удаленной печати откуда угодно куда угодно без учета как система на которую вы хотите печатать была настроена. Rlpr может работать как фильтр, как и традиционный lpr, так что клиенты выполняемые на удаленной машине такие как netscape, xemacs, и т.п., могут печатать на вашу локальную машину с небольшими усилиями.

Rlpr доступен с Metalab .

Существует «Printing to Windows mini-HOWTO» в котором находится больше информации чем в данном документе.

Используя PDQ

Нет предопределенного интерфейса smb, что я сознаю, но он может достаточно легко создан используя модель, заданную интерфейсом appletalk на базе пакета Netatalk. Некоторые люди создали его и выслали его для включения в дистрибутив!

Прочитайте раздел о Windows/LPD в следующих разделах данного документа для дополнительных советов как сделать данный драйвер.

From LPD

Возможно перенаправить очередь lpd через программу smbclient (часть набора Samba) на основанный на TCP/IP сервис печати SMB. Samba включает скрипт называемый smbprint . Вкратце, вы помещаете конфигурационный файл для нужного принтера в его директорию спула, и устанавливаете для него скрипт smbprint как if -фильтр.

Запись в /etc/printcap выглядит примерно так:

Вы должны прочитать документацию внутри скрипта smbprint для более детальной информации о настройке

Вы также можете использовать программу smbclient для посылки файла прямо на сервис печати SMB без вовлечения в этот процесс lpd . Смотрите справочные страницы.

Набор программ ncpfs включает утилиту названную nprint , которая обеспечивает те же самые возможности как и smbprint , но для NetWare. Вы можете получить ncpfs с Metalab. Информация из записи в LSM для пакета версии 0.16:

С помощью ncpfs вы можете монтировать тома вашего сервера netware под Linux. Вы также можете печатать в очереди печати netware и перенаправлять очереди печати netware на систему печати Linux. Вам необходимо ядро версии 1.2.x или 1.3.54 и выше. ncpfs НЕ работает с любыми ядрами 1.3.x ниже 1.3.54.

From LPD

Для того чтобы заставить nprint работать через lpd, вам нужно написать маленький скрипт для печати потока стандартного ввода на принтер NetWare, и установить его как if -фильтр для очереди печати lpd. Вы получите что-то подобное этому:

nprint-script может выглядеть примерно так:

Пакет netatalk включает что-то подобное nprint и smbclient . Другие имеют документированные процедуры для печати на и с сетей Apple много лучше чем я представлял; Смотрите Linux Netatalk-HOWTO.

Читайте также:  Не отображается содержимое окна windows

Используя PDQ

PDQ включает в поставку объявление интерфейса, который называется «appletalk». Он использует пакет Netatalk для печати на подключенный к сети принтер Apple. Просто выберите этот интерфейс при использовании помощника добавления принтера в xpdq.

Принтеры HP и некоторые другие принтера идут с интерфейсом на который вы можете печатать прямо, используя протокол lpd. Вы должны следовать инструкциям, которые идут с вашим принтером или его сетевым адаптером, но в главном такие принтера являются «работающим» lpd., и обеспечивают одну или более очередь на которые вы можете печатать. Например HP может работать с printcap подобным:

или используя аргументы REMOTE_HOST=printer.name.com и QUEUE=raw для PDQ интерфейса bsd-lpd.

Принтера HP Laserjet с интерфейсами Jet Direct iв общем поддерживают две встроенных очереди lpd — «raw», которая принимает PCL (и возможно Postscript) и «text», которая принимает чистый ascii (и автоматически справляется с лестничным эффектом). Если у вас JetDirect Plus3 трех-портовый принтер, то очереди называются «raw1», «text2», и так далее.

Заметим, что компания ISS обнаружила набор атак denial of service (DoS), которые могут завесить интерфейсы HP Jetdirect. Большинство из них датируется началом осени 98.

В средах большого масштаба, особенно в больших средах где некоторые принтера не поддерживают PostScript, может быть полезно создать выделенный сервер печати на который все машины будут печатать и на котором все задания ghostscript будут запущены. Это позволит вам приостанавливать очереди печати или переорганизовывать их используя команды topq и lprm.

Это также позволяет вашей машине с Linux выступать как сервер печати для принтера, так что ваши пользователи сети смогут выполнять свои задания печати быстро и справляться с работой не ожидая пока принтер печатает какое-то другое задание посланное кем-то другим. Это также предполагается, если у вас есть старые HP Jetdirects, которые невозможно исправить; это уменьшает вероятность заклинивания принтеров.

Чтобы сделать это, установить очередь на вашей машине, которая указывает на оборудованный ethernet принтер HP LJ (как показано выше). Затем укажите для всех клиентов вашей LAN, чтобы они печатали на очередь печати Linux (например lj-5 как в вышеприведенном примере).

Некоторые сетевые принтера HP по всей видимости не нуждаются в установке страницы заголовка (banner page) посылаемой клиентом; вы можете отключить внутренне генерируемую страницу заголовка зайдя на принтер с помощью telnet, нажав два раза return, набрав «banner: 0» и затем «quit». Существуют другие настройки, которые вы можете изменить тем же способом; наберите «?» для просмотра списка установок.

Полный набор установок принтера может контролироваться с помощью программного обеспечения фирмы HP WebJet. Этот пакет запускается как демон и принимает http запросы на назначенном порту. Он обслуживает формы и Java апплеты, которые могут контролировать принтера HP, работающие в сети. Теоретически, он также может контролировать очереди печати Unix, но он делает это используя сервис rexec, который полностью незащищенным. Я не советую вам использовать это свойство данного пакета.

На старые принтера HP

Некоторые принтера (и печатающие сетевые «черные ящики») поддерживают только никуда не годные маленькие непротокольные соединения включая чистые TCP соединения. Примечательными в этой категории являются ранние модели карт JetDirect (включая некоторые карты JetDirectEx). В основном для печати на принтер вы должны открыть соединение TCP на принтер на указанный порт (обычно 9100 или 9100, 9101 и 9102 для трех-портовых принтеров) и запихнуть свое задание печати в принтер. LPRng имеет встроенную поддержку для выдачи заданий печати на произвольные порты TCP, но при использовании BSD lpd это не так легко. Это может быть выполнено на Perl:

Интерфейс PDQ использующий netcat должен выглядеть примерно так:

В случае отсутствия этой программы, она может быть реализована другими способами, например на языке Perl, используя нижеприведенную программу. Или для большей производительности используйте программу netcat («nc»), которая выполняет то же самое. Большинство дистрибутивов должны иметь эту программу в своем составе.

Одна странность старых версий lpd в том что if не запускается для удаленных принтеров. (Версии после 0.43 или примерно такой имеют изменения внесенные на FreeBSD, так что они всегда работают). Если вам нужно выполнить if , вы можете сделать это установив двойную очередь и перенаправляя задание. Как пример рассмотри такой printcap :

в свете этого скрипт filter-lj-5 будет выглядеть так:

Опция -U lpr работает только если lpr запущен как демон, и она правильно устанавливает имя имя автора задания при его перенаправлении. Вы должны вероятно использовать более надежный метод получения имени пользователя, так как в некоторых случаях оно не является пятым аргументом. Смотрите справочную станицу printcap .

Печать из под клиента Windows (или OS/2) на сервер Linux прямо поддерживается через SMB используя пакет SAMBA, который также поддерживает разделение вашей файловой системы Linux с клиентами Windows.

Samba включает в себя довольно полную документацию. Вы можете либо настроить magic-фильтр на машине с Linux и печатать на нее в формате PostScript или установить специфичные для принтера драйвера на всех машинах с Windows и обрабатывать очередь без фильтрации. Полагаясь на драйвера Windows вы можете в некоторых случаях получить более качественный вывод, но это дает больше административной нервотрепки если у вас много машин с Windows. Так что сначала попробуйте PostScript.

Читайте также:  Recommended windows update settings

Используя PDQ, вы должны настроить Samba для запуска команды pdq с соответствующими аргументами вместо команды lpr, которая выполняется по умолчанию. Я верю, что Samba будет запускать pdq с правами соответствующего пользователя, так что он должен работать нормально. Существует несколько настроек Samba, которые вы должны выставить для правильной работы:

этот параметр должен указывать на «фальшивый» файл, в котором вы должны перечислить доступные принтера. Все что нужно указать, это короткие и длинные сервера для каждого из принтера, один на каждую строку:

Короткое имя будет использоваться как имя принтера в команде печати:

Этот параметр должен быть установлен во что-нибудь подобное следующему pdq -P %p %s ; rm %s .

Для этого параметра пока нет хорошего значения. Буферизованные задания PDQ будут сниматься после истечения времени, так что если принтер не работает, то все нормально. Но если вы просто решили отменить свое намерение, то вы можете использовать программу xpdq для отмены заданий, но это неприменимо для Windows. Просто вствьте сюда ничего не делающую команду, такую как true. Если вы используете lpd или lprng в качестве основы, то соответствующая команда lprm должна нормально работать. Я не уверен, что Samba может идентифицировать номер задания в очереди lpr для запущенных pdq заданий.

Также PDQ не предоставаляет хорошего значения, которое можно поместить здесь. Распределенные системы не предлагают нормального решения для того, чтобы видеть очередь печати, но основанные на samba сервера должны иметь достойную схему. если вы используете lpd или lprng как основу, то соответствующая команда lpq c должна работать; вы просто не сможете увидеть задания, до того, как они будут отфильтрованы PDQ.

Netatalk поддерживает печать с клиентов Apple через EtherTalk. Смотрите Страницу Netatalk HOWTO для более детальной информации.

Пакет ncpfs включает демона называемого pserver, который может быть использован для обеспечения сервиса очередей печати NetWare. Как я понял эта система требует основанную на Bindery систему NetWare, т.е. 2.x, 3.x, или 4.x с разрешенным доступом к bindery.

Для более детальной информации о ncpfs и ее программе pserver смотрите FTP сервер ncpfs FTP.

Источник

Как расшарить принтер по сети в Ubuntu (через IPP)

Сайт недорого!
Контент-маркетинг
Реклама в Интернет
Двойная загрузка Ubuntu и Windows 8
Как сделать двойную загрузку Ubuntu 14.04 и Windows 8 .
Установка программ на Андроид
Установка новых программ на Андроид вполне проста. Есть два способа .
Как раздать Интернет по WiFi на Windows 7
. инструкция как раздать WiFi с Windows 7 .
Точка доступа WiFi на Андроид
. инструкция как раздать WiFi с Андроида .
Точка доступа WiFi на Windows 8.1
. инструкция как раздать WiFi с Windows 8.1 .
USB модем Билайн, Мегафон, МТС
не работает, не подключается — что делать?
Раздача интернета по сети
Как расшарить интернет по сети Linux и Windows.
Точка доступа на Ubuntu 12.04
. Создание WiFi точки доступа на Ubuntu 12.04.
Настроить WiFi на Windows 7
. в этой статье будет описан процесс настройки шаг за шагом с иллюстрациями.
DSL, FTTx — настройка интернета МТС, Ростелеком
Настройка pppoe соединения в Windows 7.
Инструкция по Андроид
. Обзор и описание графического интерфейса Андроид (Android).
Как расшарить файлы и папки Linux
. сетевой доступ без пароля на Linux.
Настройка Ubuntu 14.04
. скорость и удобство работы Ubuntu 14.04 .
Как выбрать SSD?
. характеристики SSD . функции SSD.
Как выбрать монитор?
. характеристики монитора . функции монитора.
Как выбрать планшет?
. характеристики планшета . функции планшета.
Как выбрать фотоаппарат
. будет описано устройство фотоаппарата . перечислены виды фотоаппаратов.
Установка Windows 7 c USB-флешки
Используя USB Flash можно установить Windows 7.
Установка Ubuntu 12.04 LTS .
простая инструкция как установить Linux Ubuntu 12.04 поверх Windows 7 .
Установка Windows XP/7 на нетбук
Сложность установки Windows XP на нетбуки заключается в том, что эти компьютеры не имеют CD-DVD приводов .
Загрузочная установочная USB-флешка Windows 7 или 8
. Как сделать установочную USB-Flash Windows 7 или 8.
Как записывать диски .
. Теория и практика записи CD и DVD дисков .
Как записать MP3 .
Запись диска с mp3 треками, который может быть прочитан в бытовых mp3 плеерах .
Флешка CD-ROM
как создать USB CD-ROM из флеш-диска Apacer .
Записываемые CD и DVD диски .
На сегодняшний день (начало 2005 года) существует три базовых типа (формата) записываемых дисков DVD .

Самый распространенный способ расшарить принтер по сети в Ubuntu Linux заключается в использовании Samba. Например в Ubuntu 12.04, при установке локального принтера он автоматически делается общим сетевым принтером через Samba (конечно если перед этим была установлена служба Samba).

Читайте также:  При обновить windows 10 home до pro версии

Примечание. Samba это linux-сервер который воссоздает сетевую среду Windows, позволяя разделять сетевые ресурсы с компьютерами под управлением Windows. При этом компьютеры Windows «видят» компьютеры Linux так будто это тоже компьютеры Windows. Samba позволяет разделять по сети файлы и принтеры.

В общем Samba работает вполне нормально. Выполняя функции разделения сетевых ресурсов не только между компьютерами Linux — Windows, но и Linux — Linux. Однако бывают ситуации, когда нужно использовать другие варианты. Например расшарить принтер через Интернет или если у вас так называемый «Windows-принтер» который не удается расшарить через Samba.

Примечание. Любой принтер работает под управлением своей микропрограммы — прошивки. В нормальных принтерах прошивка записана в самом принтере. Но есть такие принтеры, их довольно много, в который прошивка динамически загружается в принтер драйвером этого принтера. Обычно такие принтеры нормально работают только под Windows. А под другими операционными системами с ними возникают те или иные проблемы. Например HP LaserJet M1132 или HP LaserJet P1102 в Linux локально подключаются и работают, но по сети через Samba их заставить работать очень сложно.

В этой статье будет описано как настроить сетевой принтер в Ubuntu 12.04. Есть несколько протоколов сетевой печати, один из них IPP (Internet Printing Protocol). Этот протокол дает возможность печати через сетевые протоколы TCP/IP. Хотя он называется «Печатный протокол Интернет», доступ к принтеру через него возможен и через локальную сеть, поскольку в ней используется те же протоколы TCP/IP. С технической точки зрения нет разницы между Интернет и локальной сетью.

Общий доступ к принтеру в Ubuntu Linux (через IPP)

Шаг первый

Естественно, первое что нужно сделать это установить и настроить локальный принтер на том компьютере к которому он подключен. Обычно, в Ubuntu, это делается автоматически, через некоторое время после того, как вы воткнули принтер в USB разъем и включили его. После подключения локального принтера нужно проверить его работу. И уже после этого расшаривать принтер по сети.

Шаг второй

В Linux печатью управляет служба CUPS. В Ubuntu, доступ к настройкам службы CUPS возможен через любой браузер — нужно открыть адрес «localhost:631» и в панели, на вкладке «Администрирование» включить опции «Разрешить совместный доступ ..», «Разрешить печать из Интернета»:

Это нужно сделать на том компьютере к которому принтер подключен локально! Это будет компьютер-сервер.

Шаг третий

Нужно узнать IP адрес компьютера-сервера. Сделать это можно например через консоль, командой «ifconfig -a«.

Шаг четвертый

Подключение принтера по сети, на компьютере-клиенте. Выполняется через стандартный GUI интерфейс, для GNOME это апплет «Печать» (Printing). Нажимаете кнопку добавить принтер, затем в диалоговом окне выбираете «Найти сетевой принтер», вводите IP адрес компьютера-сервера и нажимаете кнопку «Найти»:

В результате будет найден принтер (или несколько принтеров) выделяете его и жмете кнопку «Вперед»:

После установки сетевого принтера нужно проверить его работу.

IPP через локальную сеть

Общий (сетевой) доступ к принтеру через IPP имеет плюсы в сравнении с доступом через Samba:

  • Печать через IPP выполняется быстрее чем через Samba.
  • Некоторые «Windows-принтеры» очень сложно или даже невозможно заставить работать через Samba.

При использовании IPP через локальную сеть нужно обеспечить чтобы компьютер-сервер имел постоянный IP адрес. Если сетевые настройки раздаются через DHCP сервер (очень распространенный вариант роутер с DHCP сервером), тогда в настройках DHCP сервера нужно указать постоянный IP адрес для компьютера-сервера (через MAC адрес).

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

Как расшарить принтер через Интернет

Для того, чтобы этот принтер был доступен через Интернет, необходимо чтобы компьютер-сервер имел «прямой» IP адрес. То есть должен быть подключен к Интернет не через шлюз. Проверить это просто:

  1. узнать IP адрес сервера (ifconfig -a).
  2. открыть в браузере (с сервера) адрес 2ip.ru, там будет указан IP адрес
  3. сравнить их.

Если адреса одинаковые, значит адрес «прямой». Если адреса разные значит вы подключены через шлюз (роутер). Если вы подключены к Интернет через собственный роутер, тогда IP адрес нужно смотреть не на компьютере, а на этом роутере. Если вы подключены к Интернет через роутер и ваш роутер имеет «прямой» IP адрес, тогда в настройках роутера нужно сделать «проброс порта» (port forwarding) для TCP порта 631.

Если IP адрес вашего компьютера или роутера не «прямой», тогда печатать через Интернет не получится.

Иван Сухов, 2013 г.

Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.

Даже небольшая сумма может помочь написанию новых статей 🙂

Или поделитесь ссылкой на эту статью со своими друзьями.

Источник

Оцените статью