Можно ли
конфигурировать принт-сервер "на ходу", без
его перезагрузки? Принт-сервер допускает конфигурирование в двух планах: изменение конфигурации, которые начинают действовать с момента следующей загрузки принт-сервера, и изменение параметров (cостояние, контроль сервера печати), действующие сразу, но только до его перезагрузки. Настойчивая рекомендация перезагрузки принт-сервера после смены параметров направлена на обеспечение спокойной жизни администратора - правильность или неправильность изменений обнаружится по горячим следам а не когда-нибудь после перезагрузки в неподходящий момент. Как запустить удаленный принтер? Для запуска удаленного принтера (предварительно описанного в одном из гнезд принт-сервера) необходимо загрузить резидентную программу его поддержки и указать имя принт-сервера и номер гнезда принтера. Для запуска поддержки на станции должна быть загружена оболочка (NETx) или запросчик (VLM), регистрироваться в сети необязательно, но нужно иметь доступ по чтению к файлам IBM$RUN.OVL, SYS$ERR.DAT, SYS$HELP.DAT, SYS$MSG.DAT, RPRINTER.EXE и RPRINTER.HLP. Для этой станции должно быть увеличено число соединений SPX (с помощью директив SPX CONNECTIONS = 60) в файле NET.CFG (SHELL.CFG). При подключении принтера к параллельному порту он должен быть определен как локальный (строку LOCAL PRINTERS = 0 в том же файле следует либо удалить, либо установить корректное значение). Для NetWare 3.x модуль поддержки загружается командой RPRINTER [ps_name num][-R][-S] Параметры ps_name и num задают имя принт-сервера и номер гнезда, если их опустить, появится меню, из которого их можно выбрать. Опция -S показывает текущее состояние принтера. Если в принт-сервере гнездо сконфигурировано на неизвестный тип принтера, утилита с помощью меню позволяет определить его настройки при запуске. Опция -R отключает принтер от сервера печати и освобождает память (с оболочками EMSNETX и XMSNETX использовать нельзя, для удаления из памяти необходима перезагрузка компьютера). Перевести принтер в режим личного использования (Private) и обратно в разделяемое (Shared) позволяют утилиты PSC или PCONSOLE. В NetWare 4.x модуль RPRINTER.EXE заменен на NPRINTER.EXE. Запускается он аналогично, но изменился синтаксис и набор опций: /S - состояние, /B=3 (1-20) - задание размера буфера, /T=1 (1-9) - период (в тиках, 1/18 с) обслуживания при работе по опросу, /U - выгрузка из памяти. В качестве имени принт-сервера указывается его внешнее имя (Advertise name). Для запуска удаленного принтера, подключенного к файл-серверу, на нем необходимо выполнить команду LOAD NPRINTER ps_name num, при подключении нескольких принтеров ее повторяют для каждого. Выгрузка выполняется командой UNLOAD NPRINTER (если загружено несколько, система предложит выбор кандидата на удаление). Как печатать на сетевом принтере? Если вам необходимо распечатать файл (или группу файлов по шаблону), воспользуйтесь утилитой NPRINT, похожей на DOS PRINT. Ее опции позволяют выбрать очередь (а в NetWare 4.x и прямо имя принтера), в которую будет помещаться задание, а также управлять параметрами задания на печать. Специфическая опция DELete задает автоматическое удаление файла после распечатки. Если вы работаете с приложением, поддерживающим сетевую печать в NetWare, воспользуйтесь этими возможностями. Если вы работаете с приложениями, не поддерживающими сетевой печати, воспользуйтесь утилитой CAPTURE.EXE обеспечивающей перенаправление данных выбранного LPT-порта станции в файл-задание очереди, и работайте с перенаправленным портом так же, как и при использовании собственного принтера. Для корректной работы возможно понадобится настройка параметров CAPTURE. Утилита ENDCAP.EXE отменяет перенаправление и закрывает файл задания. В среде Windows переназначение порта в сеть удобно выполнять с помощью утилиты NetWare User Tools, открыв ее окно явно или через установки принтеров в панели управления. Подробне, в том числе и для Windows 95 см.главу 7. |
Можно ли следить
за использованием сетевых принтеров? Использование сетевых принтеров автоматически регламентируется назначением клиентов очередей (и принтеров в NetWare 4.x): пользователи, не являющиеся их клиентами, не могут пользоваться услугами разделяемой печати. Во время работы оператор очереди имеет возможность оперативного наблюдения за посылаемыми заданиями и их задержки или удаления. При необходимости может быть установлен сетевой аудит, где к печати относится аудит событий (Audit by Event) системы управления очередями (QMS). При этом будут протоколироваться (скрытно от всех пользователей) постановки заданий в очереди и их обслуживание, создание и удаление очередей и т. п. операции для заданных объектов. В NetWare 4.x утилита PCONSOLE позволяет включать регистрацию прохождения заданий и просматривать создаваемый при этом файл отчета. Для чего создаются разные очереди на печать? Разные очереди создаются во-первых, для разделения заданий, требующих разных принтеров, и во-вторых, для приоритетного выполнения определенных заданий без вмешательства оператора очереди печати. Для более срочных заданий создается очередь с высоким приоритетом, ее клиентами назначаются избранные пользователи или группы, и им будет автоматически предоставляться "спецобслуживание" по освобождении принтера от печати текущего неприоритетного задания.
Наивысший приоритет имеет номер 1, низший - 10 (15 в NetWare 4.x). |
Как спланировать
назначения принтеров на обслуживание очередей?
Простейший вариант - каждой очереди назначить по принтеру (очередь без принтера и принтер без очереди смысла не имеют). Это можно использовать как первый шаг развития сетевой печати. Если принтер должен обслуживать клиентов нескольких серверов, то очереди целесообразно создавать на каждом сервере, поскольку в NetWare 3.x и младше клиентом очереди может быть только пользователь, имеющий бюджет на данном сервере. Принт-сервер 3.x может обслуживать до 8 очередей разных серверов. В NetWare 4.x эта причина порождения множества очередей снята. Если мощности одного принтера недостаточно, то целесообразно назначать несколько принтеров на обслуживание одной очереди. На количество принтеров здесь ограничений нет. В NetWare 4.x ориентироваться в структуре системы печати (принт-серверы, принтеры и очереди) позволяет режим Print Layout утилиты NWADMIN. Графический образ системы можно перехватить по клавише Print Screen в Clipboard, а затем графическим редактором (Paintbrush) отредактировать и напечатать для документирования сети. Как ускорить работу сетевого принтера? Скорость сетевого принтера (если ее еще не ограничивают физические характеристики устройства и интерфейса) зависит от места и способа его подключения, а также от некоторых параметров настройки. Если возникает необходимость ускорения, примите во внимание следующее. Место подключения для самой быстрой работы - параллельный порт принт-сервера. Скорость его работы определяется режимом обслуживания, размером буфера, выделяемого для принтера, производительностью и загруженностью сервера. Обслуживание по прерыванию (Use Interrupt) быстрее, чем по опросу (Polled, установка по умолчанию), но не всегда есть свободные линии прерываний (это в PC дефицит). В NetWare 4.x следующим по скорости работы является подключение принтера к параллельному интерфейсу другого сервера, на котором загружается NPRINTER.NLM. Здесь можно исходить из тех же соображений. Весьма эффективно на этом же сервере разместить очереди для данного принтера. Скорость работы сетевого принтера, подключенного к рабочей станции, сильно зависит от ее производительности и выполняемых задач пользователя. Модуль NPRINTER.EXE, поддерживающий этот тип подключения в NetWare 4.x, допускает работу как по прерываниям, так и по опросу. В принципе, работа по прерываниям эффективнее, но бывает справедливо и обратное. Режим работы по опросу или прерываниям задается при конфигурировании принт-сервера. При работе по опросу приоритет печати по отношению к другим задачам станции может управляться параметром T в пределах 1-9. Он определяет, через сколько 1/18-секундных "тиков" обслуживается принтер. По умолчанию принимается 1 - обслуживание на каждом тике, то есть быстрее уже некуда. Скорость можно повысить заданием размера буфера в пределах 3-60 Кбайт, но это расходует память станции (при трехкилобайтном буфере NPRINTER занимает около 5 Кбайт). Например, для запуска с размером буфера 30 Кбайт и обслуживания через тик (странное сочетание), выполняется команда NPRINTER PS_STUD 0 /T = 2/B =60. В конфигурации принт-сервера можно задать размер буфера, выделяемого каждому принтеру, в пределах 1-20 Кбайт (по умолчанию 3 Кбайт). Увеличив размер буфера, ценой дополнительного расхода памяти сервера можно повысить скорость (для лазерного принтера и 20 Кбайт не жалко). Параметр Service Interval (1-15 с, по умолчанию 5) к скорости имеет слабое отношение, поскольку он задает только интервал поиска новых заданий в очередях. Производительность принтеров, подключенных к аппаратному принт-серверу будет выше, если их порты будут сконфигурированы как самостоятельные серверы, забирающие задания из очередей, а не как удаленные принтеры (сокращается количество пересылок). Последовательные порты работают существенно медленнее параллельных, этот способ подключения применяют только в случае крайней необходимости. Кроме способов подключения, на скорость работы влияет и относительное взаиморасположение принт-серверов и серверов с очередями. В NetWare 4.x нет барьеров внутри Каталога, но это не означает, что принт-сервер надо заставлять "пролезать" за заданиями в другую сеть по медленным каналам и посылать поток данных на удаленный принтер в третью сеть. Не рекомендуется использовать работу по прерываниям для станций, работающих в среде Windows. Если же их все-таки использовать, то для стабилизации работы NPRINTER или RPRINTER следует загружать до запуска Windows, а в секции [386enh] файла SYSTEM.INI указать LPT1AutoAssign = 0 LPT1irq = -1 (предполагается, что сетевой принтер подключен к LPT1). |
Какие
специфические особенности для пользователя
имеет разделяемая печать? Специфика сетевой печати, в основном обусловленная коллективностью использования принтеров и возможностью печати на разных принтерах, заключается в необходимости дополнительных настроек параметров печати. Настройка параметров выполняется опциями сетевых утилит печати CAPTURE.EXE и NPRINT.EXE, а также использованием конфигурацией заданий на печать, созданных с помощью утилиты PRINTCON.EXE. Файл конфигураций заданий на печать PRINT.DAT, хранящийся в личном почтовом каталоге пользователя, содержит определения заданий, одно из которых назначается заданием по умолчанию. В NetWare 4.x конфигурация заданий может определяться для пользователей, шаблонов и контейнеров. Конфигурирование возможно и утилитой NWADMIN, причем обычно достаточно задать имя конфигурации и указать принтер или очередь.
Как работает перехват LPT-порта? Перехват порта, независимо от способа его установки (утилитой CAPTURE или с помощью NetWare User Tools и Windows), работает следующим образом: Весь принтерный вывод, поступающий через BIOS INT 17h (инициализация, вывод символа и опрос состояния принтера) для порта с перехватываемым номером, накапливается в небольшом буфере, из которого пакетами передается в очередь сервера. В отличие от принтера, который печатал бы поступающие символы по мере поступления в свой буфер (матричный или струйный - построчно, лазерный - постранично), сетевой принтер начнет печатать задание только после того, как файл задания будет закрыт. Тонкости возникают при определении момента (повода) для закрытия задания. Если установить опцию AutoEndcap, CAPTURE посылает сигнал о закрытии файла задания (печати очередной порции) по закрытии DOS-устройства PRN приложением, которое генерировало поток данных через функции DOS. Если приложение само не закрывает PRN, то это сделает DOS по завершении работы этого приложения. Чтобы не ждать этого события и иметь возможность печати из программ, использующих INT 17h а не DOS-функции, CAPTURE можно настроить на закрытие заданий по тайм-ауту. В этом случае при паузе между выводом, превышающей заданный порог, текущее задание закрывается и обслуживается принт-сервером, а по возобновлении вывода открывается новый файл-задание. В общем случае этот способ при корректной настройке работает, однако он может являться источником различных сюрпризов. Если установлена опция NoAutoendcap и отключен тайм-аут (TImeout=0), закрытие задания произойдет только по запуску ENDCAP.EXE или повторному запуску CAPTURE для того же порта. Запуску ENNDCAP эквивалентно нажатие кнопки End Capture (NetWare User Tools) в Windows. В NetWare 4.x ENDCAP.EXE заменяется опцией EndCap команды CAPTURE. Какой порт можно перехватить командой CAPTURE? Можно перехватить вывод как в реально присутствующий в компьютере порт, так и в порт фиктивный. Перехват LPT1 посылает в сеть и дампы экрана (PrintScreen). Номер перехватываемого LPT-порта задается параметром запуска утилиты Local=n (по умолчанию 1). Этот параметр подразумевает отсчет от первого незанятого принтерного порта (количество занятых объявляется директивой LOCAL PRINTERS = m в файле SHELL.CFG или NET.CFG, по умолчанию 0). Таким образом, по умолчанию перехватывается LPT1: (LOCAL PRINTERS = 0, Local=1). Можно ли в сети использовать принтер, русифицируемый программно? Можно, но с некотрыми оговорками. Программные русификаторы используют перехват BIOS INT 17h - вывод байта в порт. На принт-сервер такой русификатор установить невозможно, поскольку драйвер NetWare напрямую работает с регистрами портов и загруженного драйвера просто "не заметит". На рабочей станции русификатор может использоваться только при печати через перехват принтерного вывода (с помощью CAPTURE.EXE. Печать с помощью NPRINT обычной программной русификации принтера не поддается. Русификатор должен загружаться после загрузки оболочки (запросчика) рабочей станции, когда вектор INT 17h уже переопределен для обеспечения перенаправления вывода с локального порта (через BIOS) в сеть. Массовые поставки аппаратно русифицированных ("прошитых") принтеров и, в основном, графическая печать из Windows, снижают актуальность этого ограничения. Где хранится конфигурация заданий на печать? Конфигурации заданий на печать, созданные с помощью PRINTCON, хранятся в файле PRINTCON.DAT вашего почтового каталога. Туда же они поступают, если их экспортировать другим пользователям с помощью той же утилиты. Если все пользователи должны использовать один и тот же файл конфигурации, можно и не рассылать этот файл всем, а поместить его в общедоступный каталог, включенный в поисковый путь, задать ему атрибуты разделяемости и только чтения (S, Ro) и заставить все программы, ссылающиеся на файл конфигурации, искать его именно там. Для этого достаточно только раз выполнить команды SMODE Z:PCONSOLE.EXE 5 SMODE Z:CAPTURE.EXE 5 SMODE Z:NPRINT.EXE 5 (подразумевается, что Z: спланирован на SYS:PUBLIC). Что может и должен делать оператор очереди? Оператор очереди может управлять выполнением заданий: изменять порядок прохождения, удалять, задерживать (Operator Hold) или откладывать до заданного времени (Defer Printing) выполнение любых заданий очереди; останавливать и запускать обслуживание очереди, останавливать прием новых заданий, разрешать или запрещать подключение дополнительных принтеров к обслуживанию очереди, редактировать параметры задания (но не сам выводной поток!). А должен он следить за своевременностью исполнения заданий, принимая, в случае необходимости, меры по изменению конфигурации системы печати. Что может делать клиент очереди? Клиент очереди может только посылать в нее задания на печать и управлять прохождением только своих заданий. Управление работает только в сторону замедления: задерживать задание на неопределенное время (User Hold) и отменять эту задержку (но не задержку оператора Operator Hold), откладывать печать до заданной даты и времени. |
Что может и должен
делать оператор принт-сервера? Оператор принт-сервера может запускать, останавливать и закрывать принт-сервер, конфигурировать принт-сервер и управлять подключенными к нему принтерами, изменять назначения очередей и их приоритетов, изменять списки оповещаемых клиентов для конкретных принтеров. Оператор принт-сервера не может изменять список операторов и клиентов принт-сервера. Оператор должен реагировать на оповещение о необходимости вмешательства в процесс печати, устанавливать бумагу, монтировать формы. Инструмент оператора - меню-утилита PCONSOLE.EXE, позволяющая выполнять как временные изменения (меню Print Server Status/Control), действующие до перезапуска работающего принт-сервера, так и постоянные - действующие с момента последующего перезапуска принт-сервера (меню Print Server Configuration). В NetWare 4.x хорошим инструментом является NWADMIN. Текущее обслуживание сетевой печати оператором принт-сервера может осуществляться и из командной строки с помощью утилиты PSC.EXE, формат ее запуска: PSC [PS = ps_name] [P = p_num] flags Параметры ps_name, p_num и flags определяют имя принт-сервера, номер его принтера и флаги команды. Если номер принтера не указан, действия, предписанные командой, выполняются со всеми принтерами данного принт-сервера. Параметры PS и P по умолчанию могут определяться через переменную окружения DOS командой SET PSC = PSps_name Pp_num из среды DOS или командой DOS SET PSC = "PSpserver_name Pp_num" из процедуры регистрации. Назначение флагов:
Кто получает сообщения о проблемах с сетевым принтером, требующих вмешательства? Эти сообщения будут получать пользователи или их группы (в NetWare 4.x можно их задать и через контейнеры или шаблоны), включенные в списки оповещения (Notifications). Их списки для каждого принтера задаются через PCONSOLE, а в NetWare 4.x - и NWADMIN. В него может входить и элемент Print Job Owner - пользователь, пославший задание, для выполнения которого и потребовалось вмешательство. Каждому элементу выбранного списка можно индивидуально задать задержку (в минутах) первого оповещения и периодичность повторов, определив таким образом "крайнего", который побежит к принтеру первым. Для изменения списков оповещения достаточно быть оператором принт-сервера. Как назначить оператора очереди? Оператором всех очередей сервера NetWare 3.x и младше является пользователь SUPERVISOR, или иной пользователь с эквивалентными правами защиты. Он же может назначать операторами других пользователей, зарегистрированных на этом сервере, или их группы. Назначение операторов производится утилитой PCONSOLE. Оператором созданных им же очередей становится и пользователь, назначенный менеджером бюджета. В NetWare 4.x всеобщим оператором является ADMIN, он же может выполнять и все назначения. Также оператором становится и пользователь, создающий очередь (для этого он должен иметь право создания объектов в Каталоге). Оператором очереди кроме пользователей и групп можно также назначать пользовательские шаблоны и контейнеры (организации и подразделения). При назначении контейнеров все пользователи, в них входящие, становятся операторами данной очереди. При назначении шаблонов операторами станут только пользователи, в будущем создаваемые по этим шаблонам (ранее созданных пользователей надо включать другим способом). Назначения выполняются утилитой NWADMIN или PCONSOLE. Как назначить оператора принт-сервера? Оператор принт-сервера назначается по тем же правилам, как и оператор очереди (см. ответ на предыдущий вопрос). Как назначить клиентов очереди? В NetWare 3.x и младше при создании на сервере новой очереди ее клиентами автоматически становятся все члены группы EVERYONE, то есть все клиенты данного сервера (кроме удаленных из этой группы, чего обычно не делают). В дальнейшем с помощью утилиты PCONSOLE можно удалить эту группу из списка клиентов данной очереди и внести в него любых пользователей данного сервера или их группы. Ограничения Bindery заставляют создавать очереди на всех серверах, у которых есть клиенты с потребностями печати. В NetWare 4.x клиентами вновь созданной очереди автоматически становятся все пользователи, определенные в том же контейнере, в котором создавалась очередь. В списке клиентов очереди кроме пользователей и групп можно также назначать пользовательские шаблоны и контейнеры (организации и подразделения). При назначении контейнеров все пользователи, в них входящие, а также пользователи, входящие во вложенные в него контейнеры (и так далее) становятся клиентами данной очереди. При назначении шаблонов клиентами станут только пользователи, в будущем создаваемые по этим шаблонам (ранее созданных пользователей надо включать другим способом). Назначения выполняются утилитой NWADMIN или PCONSOLE. Отсутствие межсерверных барьеров в NDS позволяют не плодить лишние очереди, а создавать их, исходя из соображений удобства управления (конечно, учитывая и трафик). Как назначить клиентов принт-сервера? В NetWare 3.x и младше при создании принт-сервера его клиентами автоматически становятся все члены группы EVERYONE. В дальнейшем с помощью утилиты PCONSOLE можно скорректировать список клиентов, который может содержать любых пользователей данного сервера или их группы. В NetWare 4.x клиентами принт-сервера кроме пользователей и групп можно также назначать пользовательские шаблоны и контейнеры (организации и подразделения). Назначения выполняются утилитой NWADMIN или PCONSOLE.
Клиент принт-сервера может проверять его функционирование и состояние принтеров по собственной инициативе. Для того, чтобы он получал сообщения о требующем вмешательства состоянии принтера по инициативе системы, его нужно специально включить в список рассылки сообщений данного принтера. Для получения уведомления о выполнении своего задания пользователю не надо быть клиентом принт-сервера, ему достаточно указать параметр NOTIfy в конфигурации задания. Как "влезать без очереди" на печать? Для этого оператор очереди должен в списке заданий, ожидающих обслуживания, присвоить номер 1 заданию-фавориту, и оно будет распечатано сразу по освобождении принтера от печати текущего задания (если нет очередей с меньшим значением приоритета). Если нет возможности дождаться окончания печати текущего задания, его можно и снять, но при этом все недопечатанное пропадет. Эти манипуляции можно выполнить утилитой PCONSOLE, а в 4.x - всесильной утилитой NWADMIN. Как удалить задание, посланное на печать? Для этого хорошо бы знать, в какую очередь оно послано. Если посылалось по умолчанию, то имя очереди подскажет команда CAPTURE SHow. Чтобы удалить задание, запустите PCONSOLE, выберите требуемый сервер и в меню информации об очереди (Print Queue Information) выберите очередь из списка. Выберите пункт заданий (Current Print Job), найдите в нем свое задание и удалите его клавишей Delete.
Если вы являетесь оператором очереди, вам будут доступны не только ваши собственные, но и задания всех пользователей - будьте внимательны! |
Как отложить
печать задания? Печать задания можно отложить на желаемое или неопределенное время. Для этого задание необходимо найти в очереди (см. предыдущий ответ), но не удалять, а, нажав Enter, изменить флаги. Флаги User Hold или Operator Hold, установленные в "Yes" задержат выполнение задания до тех пор, пока вы их не сбросите, а установив Defer printing Yes, можно задать дату и время (Target date и Target time) выполнения задания. Но если задание уже печатается, задержать его можно, только прервав печать на принт-сервере. Застраховаться от подобных случаев можно приостановкой обслуживания очереди принт-серверами до постановки задания в очередь. В NetWare 4.x утилита CAPTURE имеет опцию HOLD - установка задержки пользователем, которая может быть отменена или заменена на Defer print с помощью PCONSOLE или NWADMIN. Как избежать лишнего расхода бумаги на шапки и пустые листы между заданиями? Для этого в конфигурации заданий или опциях CAPTURE и NPRINT укажите параметр NoBanner - и от листов с шапками вы избавитесь. Прогон чистых листов (вернее, перевод формата в конце задания) отменяется опцией NoFormFeed, но это можно смело делать только в том случае, когда все печатающие приложения завершают свои потоки командой перевода формата. Если это не так, то, возможно, делить готовые распечатки придется с ножом (для бумаги). Как отлаживать сетевую печать? Сетевая печать в NetWare весьма сложна и в настройке, и в отладке. Часть проблем возникает от незавершенной (некорректной) инсталляции, часть - от аппаратуры, возможны и системные разрушения объектов - очередей, принт-серверов, баз данных. На случай, когда все стало очень плохо и печать не работает совсем, можно рекомендовать следующую последовательность шагов. 1. Проверить подключение, включение и готовность (по индикаторам на лицевой панели) всех устройств, участвующих в процессе печати: принтеров, принт-серверов, файл-серверов, коммуникационных средств. 2. Проверить конфигурации очередей и принтеров с помощью PCONSOLE. 3. Запустить принт-сервер и добиться того, чтобы в окне состояния отлаживаемого принтера появилось состояние готовности Waiting for a Job, а при отсутствии бумаги - Out of Paper. Средства достижения этой цели - перепроверка подключений и конфигурации принтера, попытка поиска правильного прерывания или переход на режим по опросу, проверка оборудования узла, к которому физически подключен принтер (вплоть до тестирования DOS-программами типа CHECKIT). Этим проверяется (на начальном уровне) связь принтера с принт-сервером. 4. Попробовать распечатать текстовый файл с помощью PCONSOLE. Этим проверяется выборка заданий из очереди. Если файл не печатается, проверить назначение принт-сервера на обслуживание очереди. Если файл печатается медленно, с пропусками и искажениями - ищите причину в оборудовании и настройках (возможны конфликты с другими устройствами). Если файл печатается, но есть проблемы с режимами печати (их можно менять с помощью той же утилиты), проверить и скорректировать базу данных определений принтеров с помощью PRINTDEF. Отлаженная в PCONSOLE конфигурация заданий может служить прототипом при создании конфигураций заданий для пользователей. Следующие шаги относятся к настройке рабочей станции. 5. Создать (скорректировать) конфигурации заданий для пользователей утилитой PRINTDEF и опробовать ее, печатая файлы через NPRINT. Этим проверяется тракт от постановки заданий в очередь до самого принтера. 6. Если используется перехват порта, то остается разобраться с номером перехватываемого порта (помните про LOCAL PRINTERS = n в NET.CFG или SHELL.CFG) и с настройкой признака завершения задания (AutoEndcap, TImeout) под конкретные задачи.
Изменения конфигурации принт-сервера, внесенные с помощью PCONSOLE или NWADMIN, действуют только после следующего запуска принт-сервера; оперативное управление принт-сервером влияет только на текущий сеанс его работы и "забывается" после его перезапуска. Изменения в файлах рабочей станции NET.CFG или SHELL.CFG действуют только после перезагрузки запросчика (VLM) или оболочки (NETx). Удаленный принтер, подключенный к рабочей станции, не печатает задания из своей очереди. В чем причины? Причин может быть несколько, и, если беглый осмотр не дал результатов, посмотрите на экран принт-сервера. На нем в окне данного принтера должно присутствовать имя пользователя этой рабочей станции и состояние: Waiting for a job - проверяйте очередь и назначение ей принтера; Private - принтер в частном использовании хозяина станции (хозяин имеет право и возможность установить с помощью PCONSOLE или PSC, этими же утилитами можно установить и коллективное использование - Shared); Out of paper - дело может быть не только в бумаге, но и в подключении (включении) принтера; Not connected - не загружена поддержка на станции, возможны варианты:
Если все правильно, а принтер не работает или печатает медленно или прерывисто, возможно, причина кроется в конфликте или ошибочном назначении прерывания. Здесь может помочь переход на обслуживание по опросу или наоборот, на прерывание. При попытке запуска принт-сервера система запрашивает пароль, который ранее не устанавливался, каков выход? Выход зависит от причины, самая простая - неверно заданное имя принт-сервера - устраняется легко. В NetWare 3.x возможный вариант - не определен бюджет принт-сервера на всех серверах, очереди которых ему назначены, или им назначены разные пароли (по ошибке при инсталляции, или на каком-либо сервере была восстановлена старая копия Bindery без этого бюджета); это исправляется с помощью PCONSOLE. Также возможно разрушение объектов принт-сервера или (и) очередей, что может лечиться утилитами BINDFIX в NetWare 3.x или DSREPAIR в NetWare 4.x. Если это не помогает, стоит удалить и создать заново принт-сервер (и очереди). Задания из очереди не печатаются, почему? Во-первых, они могут быть задержаны или отложены на заданное время (пользователем или оператором очереди), или оператор запретил их обслуживание принт-серверами. Во-вторых, может не оказаться запущенных принт-серверов с готовыми к работе принтерами, настроенных на обслуживание данной очереди. Эти причины выявляются и устраняются с помощью PCONSOLE или NWADMIN. В-третьих, очереди могут формально выглядеть правильно, а фактически быть разрушенными. В этом случае проще всего их уничтожить (если удастся) и создать новые с помощью тех же утилит. При печати одного и того же файла на сетевом принтере он печатается разными шрифтами, где искать причину? Этот эффект возникает, если некорректно определены принтеры, а в других заданиях, печатавшихся между вашими на том же принтере, применялись команды смены режима печати. Устраняется этот эффект настройкой определений принтеров и выбором требуемого режима в задании на печать. Сменив размеры страницы, указанные в определении формы печати, не наблюдаю изменений в печати. Почему? Потому, что описание формы никак не влияет на работу принтера (перенос строк и разбиение на страницы от этого не происходит, и это хорошо!). Описания форм носят чисто справочный характер, а смысл существования форм заключается в том, что с их помощью система может сообщить оператору о необходимости смены бумаги в принтере (типа, формата, бланков). Как настроить режимы принтера? Для каждого сетевого принтера необходимо ввести его определение в базу данных определений принтеров, содержащуюся в файле NET$PRN.DAT каталога SYS.PUBLIC. База данных создается импортированием в нее определений принтеров - .PDF-файлов, взятых из комплекта поставки NetWare или экспортированных из баз данных других серверов, и определением форм печати. Форматы баз для NetWare 3.x и NetWare 4.x не совпадают. Upgrade позволяет преобразовать старые в новые, но при одновременном использовании принт-серверов старых и новых версий каждый должен использовать соответствующую базу, и обслуживание баз должно выполняться утилитами соответствующих версий. Каждое определение принтера включает в себя его имя (до 32 символов) и список используемых режимов печати (вид шрифта, плотность и т. д.). На любой из этих режимов можно ссылаться в определении задания на печать, посылаемого с рабочей станции. Режимы, в свою очередь, определяются как последовательность функций (инициализация, выбор плотности и т. д.) - именованных цепочек команд принтера (обычно escape-последовательности). Описания принтеров, их режимов и функций можно создавать, импортировать, экспортировать и редактировать с помощью утилиты PRINTDEF.EXE, а в NetWare 4.x - и утилитой NWADMIN.
Редактирование определений режимов и, особенно, функций требует знаний команд управления данным принтером на уровне Escape-последовательностей. Неосторожное изменение этих цепочек может привести к загадочным графическим эффектам при печати. Рекомендуется по возможности использовать стандартные определения. Каждый режим должен начинаться с инициализации принтера для устранения эффектов последействия. Для чего служат формы печати и как они задаются? Формы печати определяют формат и тип используемой бумаги (пленки) для печати данного задания. Она задается номером (0-255) или символьным именем в конфигурации задания на печать, по умолчанию используется форма 0. Принт-сервер будет печатать задание только в том случае, если на принтере смонтирована форма, соответствующая указанной в задании. О необходимости смены формы принт-сервер уведомляет операторов данного принтера. Монтирование формы означает установку требуемого носителя и, что действительно воспринимается системой, сообщение об этом принт-серверу утилитой PCONSOLE.EXE или PSC.EXE (и NWADMIN в 4.x). Утилитой PCONSOLE (и NWADMIN в 4.x) для каждого принтера можно задать режим обслуживания форм. Режим Change Forms as Needed (изменение формы при необходимости) - будут печататься задания в порядке установленных приоритетов, на смену форм будет выдаваться запрос. Режим Minimise Form Changes across Print Queues (минимум замен форм между очередями) или Minimise Form Changes within Print Queues (минимум замен форм внутри очередей) - печать заданий, требующих данной формы, изо всех очередей, невзирая на их приоритет или в соответствии с приоритетом очереди соответственно. При этом другая форма будет запрашиваться только после отработки всех заданий с данной формой во всех очередях или в очереди с высшим приоритетом. Режим Service Only Current Mounted Form (обслуживать только монтированную форму) - инициатива установки форм принадлежит оператору, принт-сервер отрабатывает требующие ее задания в порядке очередей и приоритетов. Оба режима минимизации сбивают приоритетный порядок обслуживания, особенно первый. Как направить сетевую печать на желаемый принтер? В NetWare 3.x задания можно направлять только в выбранную очередь, а чтобы попасть на желаемый принтер, надо знать, на какие очереди он назначен (справку об этом даст PCONSOLE). Имя очереди задается явно или через номер спулера. Номера спулеров (0-4) соответствуют логическим номерам сетевых принтеров, используемых программами, ориентированными на ранние версии NetWare. По умолчанию задания направляются в очередь нулевого спулера. Номера не имеют никакого отношения к номерам принтеров принт-сервера. Соответствие номеров спулеров "n" именам очередей "queue" позволяет установить и просмотреть команда консоли сервера SPOOL [n [TO] [QUEUE] queue] Способ направления заданий зависит от того, каким образом формируется поток данных на печать. При использовании команд CAPTURE и NPRINT в строке их запуска можно указать параметр Queue=q_name, а если очередь находится не на текущем сервере NetWare 3.x, то требуется задать и его имя параметром Server=server_name. Эти же параметры можно указать и в конфигурации заданий, и при переназначении портов из среды Windows. В NetWare 4.x задания можно направить прямо на желаемый принтер, указав в параметрах команды CAPTURE, NPRINT его имя в Каталоге опцией Printer=pr_name (хотя на самом деле задание попадет в очередь по умолчанию, определенную для данного принтера, но пользователю об этом знать необязательно). Это же имя можно указать и в конфигурации заданий, и при переназначении портов из Среды Windows. Что будет, если не задавать опций в утилитах печати? Если вы имеете сконфигурированный файл заданий на печать и в нем определена подходящая конфигурация умолчания, то результаты печати вас, скорее всего, удовлетворят. Если конфигурация не определена, то больше всего неприятностей доставит табуляция, включенная по умолчанию в NetWare 3.x, особенно плохо будет при распечатке графических данных. Что касается остальных настроек, то вы получите одну копию, перед которой будет пропущен чистый лист и лист-шапка с вашим именем (Login_name) и именем файла, если он печатается через NPRINT. Задание пойдет в очередь, определенную для спулера 0 (если этот спулер не определен, вы получите сообщение об ошибке), уведомления по выполнении задания вы не получите. При печати с помощью CAPTURE используется режим AutoEndcap, тайм-аут отключен. В NetWare 4.x по умолчанию файл считается двоичным, и символы табуляции и конца файла не будут вызывать нежелательных реакций системы печати. Как избежать задания массы параметров утилит печати? Чтобы сетевая печать не вызывала лишних хлопот с заданием параметров, воспользуйтесь утилитой PRINTCON.EXE для создания и настройки файла конфигурации заданий. Файл PRINT.DAT, хранящийся в личном почтовом каталоге пользователя, содержит определения заданий, одно из которых назначается заданием по умолчанию. Утилита позволяет менять имена заданий, переопределять задание по умолчанию и копировать конфигурации от одного клиента к другому. Каждая конфигурация имеет имя (до 31 символа) и задает параметры умолчания для утилит CAPTURE и NPRINT, приведенных выше (за исключением опций CReate, Keep, SHow и Delete). На выбранную конфигурацию в CAPTURE и NPRINT можно ссылаться по ее имени опцией Job=j_name. Кроме вышеперечисленных опций конфигурации заданий определяют имя устройства и режим печати, ранее определенные в базе данных используемого сервера утилитой PRINTDEF.EXE. В NetWare 4.x конфигурация заданий может определяться для пользователей, контейнеров и шаблонов. При назначении конфигурации задания по умолчанию для контейнера, она будет действовать для всех пользователей данного контейнера, кроме тех, которым явным образом (индивидуально) не задана другая конфигурация умолчания. Конфигурирование возможно и утилитой NWADMIN. В NetWare 4.x значение Byte Stream опции File Contents соответствует режиму NoTabs и включается по умолчанию; значение Text подразумевает отработку табуляции.
Форматы файлов конфигурации заданий для пользователей Bindery (NetWare 3.x) и NDS (NetWare 4.x) не совпадают. Upgrade позволяет преобразовать старые в новые, но при сосуществовании этих пользователей в сети каждый для обслуживания своих файлов должен пользоваться утилитами PRINTCON соответствующих версий. Что означает сообщение "Not ready error writing device PRN" при сетевой печати? Это парадоксальное для сетевой печати сообщение может появиться в ситуации, когда в утилите CAPTURE используется закрытие по тайм-ауту с небольшим (неудачно выбранным) временем совместно с опцией создания файла CR=fname. По тайм-ауту задание закрывается, а если сразу после этого начнется вывод следующей порции данных, файл может еще не успеть закрыться. Выход - увеличить значение тайм-аута. Без опции CR такая ситуация не возникнет, поскольку следующая часть потока пойдет уже в другое задание. При попытке печати из графического пакета картинка разбивается на два листа, в чем причина? Причина может быть как в настройке CAPTURE, так и в принтере. Если используется CAPTURE с небольшим значением тайм-аута, а пакет медленно формирует растр для принтера, то паузу между фрагментами CAPTURE воспринимает как конец задания. Попробуйте увеличить значение TImeout (например, для PostScript-принтера может быть уместным и TI=60). Для отладки можно попробовать TI=0 (отмена работы по тайм-ауту), но при этом печать начнется, вероятно, только после завершения работы программы. Другая причина - недостаток памяти в самом принтере, устраняется ее доустановкой или заменой принтера. Почему может не работать сетевая печать в Windows? Для печати Windows использует перехват портов - то есть все средства NetWare по "полной программе". Богатые возможности настроек Windows расширяют список поиска неисправностей. 1. Убедитесь в том, что вы пытаетесь печатать в нужный порт, а, скажем, не на факс-сервер. 2. Проверьте назначение выбранного порта на очередь NetWare. Назначение можно выполнять как с помощью CAPTURE после регистрации в сети перед загрузкой Windows, так и из Windows (NetWare User Tools, запущенный из диспетчера печати или иным способом). Работу выбранной очереди (на серверной стороне) можно проверить, печатая какой-либо файл утилитой NPRINT с явным указанием очереди (Q=q_name), этим вы изолируете возможные проблемы с настройками CAPTURE. 3. Проверьте установку драйвера принтера в Windows, его версию и доступность. 4. Проверьте установку диспетчера печати: включен ли, не задержана ли очередь, не удалял ли кто-нибудь задания из очереди? 5. Проверьте, работает ли переназначение выбранного порта: из командной строки DOS выполните COPY C:\AUTOEXEC.BAT LPTn, где n-номер перехватываемого порта. Если файл не распечатается на сетевом принтере, проверяйте настройку перехвата порта командой CAPTURE SHow. 6. Если печать в DOS проходит, возможны проблемы с оболочкой или драйвером (используемая версия NETX должна быть 3.26 или старше, IPX - 3.10 или старше). Лучше использовать драйверы IPXODI и запросчик VLM. 7. Проверьте установку сети в Windows Setup, должна быть выбрана соответствующая версия NetWare. Это, конечно, не исчерпывающий список поиска. Жизнь гораздо многообразнее! В окне принтеров панели управления Windows кнопка NetWork недоступна (серая), хотя сетевые диски видны и в DOS, и в Windows. Почему? Это проблемы оболочки, драйвера или установки сети (см. пп. 6 и 7 предыдущего ответа). Почему при печати больших заданий сервер блокируется с сообщением "Abend: stack fault processor exception"? Эта проблема некоторых версий драйвера ISADISK.DSK (все связано!). Если установлены диски IDE, лучше пользоваться драйвером IDE.DSK, он "умнее". Почему при отключении принтера во время печати задания после его включения он иногда повторяет прерванное задание, а иногда - нет? Его поведение зависит от того, где находился недопечатанный "хвост" задания - если только в буфере принтера, то повтора не будет, а если часть оставалась в очереди, то оно повторится (возможно, правда, на другом принтере, если он назначен на ту же очередь). Принт-сервер считает задание выполненным, когда перешлет на принтер последний его байт, после чего оно удаляется из очереди. Если сбой произошел до этого момента, оно сохранится для следующей попытки распечатки (с начала!). Установив в Microsoft Word количество копий 3, я получаю их 9. Почему? Проверьте установку количество копий для CAPTURE, очевидно, оно установлено тоже 3 (3 x 3 = 9) либо в строке запуска (Copies = 3), либо в используемой (явно или по умолчанию) конфигурации заданий. Текущие установки можно посмотреть по команде CAPTURE SHow, конфигурации заданий обслуживаются утилитой PRINTCON. Почему мои документы не печатаются до тех пор, пока я не выйду из приложения? Потому, что в параметрах утилиты CAPTURE, используемой для перенаправления вывода в сеть, не установлена работа по тайм-ауту (по умолчанию TImeout = 0, то есть запрещен). Попробуйте установить TI = 5, тогда печать сможет начаться после 5-секундной паузы в выводном потоке приложения. Если документы будут печататься частями, возможно, перемежаясь шапками и чужими заданиями, увеличьте TI. |
Михаил Гук (Mgook@stu.neva.ru,
Сайт автора) |