You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-i18n/tde-i18n-ru/docs/tdebase/tdeprint/cupsoptions.docbook

405 lines
35 KiB

<chapter id="cupsoptions-presently-outside-kcontrol">
<title>Параметры &CUPS;, пока не доступные из <application>Центра управления &kde;</application>.</title>
<para>В данной главе описывается, как можно изменить параметры &CUPS;, которые пока ещё недоступны через графический интерфейс.</para>
<sect1>
<title>Возможности &CUPS;</title>
<para>&tdeprint; поддерживает все наиболее часто используемые возможности &CUPS;.</para>
<itemizedlist>
<listitem>
<para>Он позволяет добавлять и удалять принтеры, изменять их свойства, настраивать, проверять и т. д.</para>
</listitem>
<listitem>
<para>Возможно также управление печатью отдельных документов: отмена печати, приостановка, возобновление, перемещение задания в очередь другого принтера.</para>
</listitem>
<listitem>
<para>Настройка &CUPS; без использования <application>Центра управления &kde;</application>.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="where-to-find-further-chupshelp">
<title>Получение справки по системе &CUPS; во время работы с ней</title>
<para>Большую часть сведений о системе &CUPS; можно получить с помощью любого веб-браузера (даже текстового). Для этого введите в браузере адрес <ulink url="http://localhost:631/">http://localhost:631/</ulink>, и вам будет предоставлена ссылка на имеющуюся на вашем компьютере документацию по &CUPS; (в форматах <acronym>HTML</acronym> и <acronym>PDF</acronym>).</para>
<para>Для настройки &CUPS; помимо &tdeprint; можно использовать также веб-браузер и множество программ, запускаемых из командной строки. Программы, запускаемые из командной строки, предоставляют наиболее широкие возможности по настройке &CUPS;. При настройке с помощью браузера возможности несколько ограничены. </para>
<para>&tdeprint;, как и веб-браузер, не позволяет контролировать все настройки &CUPS;, т.к. по мере разработки &CUPS; новые возможности добавляются сначала в программы, вызываемые из командной строки. После установки &CUPS; рекомендуется обновить документацию к ней, так как в документации содержатся сведения о новых возможностях.</para>
<tip>
<para>В зависимости от того, каким образом вы обновляли &CUPS;, ваш файл с настройками, возможно, обновлён не был; по этой причине новая, более мощная версия &CUPS;, вероятно, не будет использовать все имеющиеся возможности, т.к. они не будут включены в файле настройки.</para>
</tip>
<para>Полный список имеющихся файлов и документации всегда можно найти в Руководстве по администрированию &CUPS; (<ulink url="http://localhost:631/sam.html#FILES">http://localhost:631/sam.html#FILES</ulink>). В строке адреса браузера &konqueror; введите <userinput>man:/lpadmin</userinput> или <userinput>man:/cupsd.conf</userinput>, чтобы получить справку по самым важным командам и по формату файла настройки соответственно. В документах, которые отобразит &konqueror;, также будут содержаться ссылки на другие файлы справки и дополнительную документацию.</para>
<sect2>
<title>Другие источники информации о &CUPS;</title>
<para>Чтобы найти установленную в вашем компьютере документацию по &CUPS;, воспользуйтесь следующей командой: </para>
<screen><prompt>vasiliy@dom:~ ></prompt> <userinput><command>apropos</command> <parameter>cups</parameter></userinput>
<computeroutput>
cups-calibrate (8)- ESP Printer Calibration Tool
lpstat (1) - print cups status information
cups-lpd (8) - receive print jobs + report printer status to lpd clients
classes.conf (5) - class configuration file for cups
backend (1) - cups backend transmission interfaces
filter (1) - cups file conversion filter interfaces
cups-polld (8) - cups printer polling daemon
mime.types (5) - mime type description file for cups
cupsd (8) - common unix printing system daemon
lpadmin (8) - configure cups printers and classes
cupsd.conf (5) - server configuration file for cups
mime.convs (5) - mime type conversion file for cups
printers.conf (5) - printer configuration file for cups
mime.convs (5) - mime type conversion file for cups
cups-polld (8) - cups printer polling daemon
lpstat (1) - print cups status information
backend (1) - cups backend transmission interfaces
mime.types (5) - mime type description file for cups
cupsd (8) - common unix printing system daemon
lpadmin (8) - configure cups printers and classes
printers.conf (5) - printer configuration file for cups
cupsd.conf (5) - server configuration file for cups
filter (1) - cups file conversion filter interfaces
</computeroutput></screen>
</sect2>
</sect1>
<sect1 id="tips-and-tricks-for-cups">
<title>Настройка &CUPS; из командной строки</title>
<para>Ниже приведены некоторые возможности, которые доступны только с помощью команд, запускаемых из командной строки. </para>
<sect2>
<title>Разрешение и запрещение доступа к принтеру отдельным пользователям</title>
<para>При установке принтера (или изменении его свойств) с помощью команд, запускаемых из командной строки, вы можете разрешить или запретить отдельному пользователю доступ к заданному принтеру. Для этого воспользуйтесь следующей командой:</para>
<screen><userinput><command>lpadmin</command> <option>-p</option><parameter>HeidelbergDigimaster9110</parameter> <option>-v</option> <parameter>lpd:/10.160.16.99/mqueue</parameter> <option>-u</option> <parameter>allow:vasiliy,masha,lena</parameter> <option>-E</option> <option>-P</option> <parameter>/home/vasiliy/PPDs/DVHV.ppd</parameter></userinput></screen>
<para>С помощью такой команды вы разрешите доступ к принтеру только трём указанным пользователям. Если какой-либо другой пользователь попытается воспользоваться этим принтером, ему будет показано сообщение об ошибке.</para>
<screen><userinput><command>lpadmin</command> <option>-p</option> <parameter>HeidelbergDigimaster9110</parameter> <option>-v</option> <parameter>lpd:/10.160.16.99/mqueue</parameter> <option>-u</option> <parameter>deny:vladimir,boss,ivan</parameter> <option>-E</option> <option>-P</option> <parameter>/home/vasiliy/PPDs/DVHV.ppd</parameter></userinput></screen>
<para>С помощью этой команды вы запретите доступ к принтеру только трём указанным пользователям, таким образом разрешая его всем остальным. Если пользователь, доступ которому запрещён, попытается воспользоваться этим принтером, ему будет показано сообщение об ошибке.</para>
<note>
<para>На данный момент невозможно использование обоих вышеприведённых вариантов одновременно; в будущих версиях такая возможность будет реализована с помощью объединения пользователей в группы.</para>
</note>
</sect2>
<sect2>
<title>Задание ограничений на использование отдельных принтеров</title>
<para>Иногда бывает необходимо установить ограничение на использование определённого принтера. Например, вам может понадобиться задать максимальное количество страниц или максимальный объём данных, который пользователи могут выводить на данном принтере.</para>
<para>Задать ограничения на количество страниц или объём данных можно во время установки принтера или впоследствии, при его настройке. Для этого воспользуйтесь ключом <option>-o</option> команды <command>lpadmin</command>. Ниже приведены дополнительные сведения по заданию ограничений (на момент написания данного руководства в официальной документации по &CUPS; данные сведения отсутствовали):</para>
<itemizedlist>
<listitem>
<para>&CUPS; позволяет задать ограничения на количество страниц и на объём данных, которые пользователи могут выводить на каждом установленном принтере.</para>
</listitem>
<listitem>
<para>Ограничения действуют для всех, однако задаются исходя из расчёта на одного пользователя.</para>
</listitem>
<listitem>
<para>При использовании ограничений на количество страниц учитываются также и разделительные страницы (если они используются).</para>
</listitem>
<listitem>
<para>Таким образом, например, возможно установить ограничение в 20 страниц в день для каждого пользователя определённого принтера; однако нельзя установить ограничение для всех за исключением пользователей <systemitem class="username">Vasiliy</systemitem> и <systemitem class="username">root</systemitem>.</para>
</listitem>
<listitem>
<para>Для настройки ограничений воспользуйтесь ключами <option>job-k-limit</option>, <option>job-page-limit</option> и <option>job-quota-period</option>.</para>
</listitem>
<listitem>
<para>Ключ <option>job-quota-period</option> позволяет задать промежуток времени, в течение которого ограничение действует (данное значение указывается в секундах; так, в одних сутках 60x60x24 = 86400 секунд, в одной неделе - 60x60x24x7 = 604800, а в месяце - 60x60x24x30 = 2592300).</para>
</listitem>
<listitem>
<para>Для включения ограничений необходимо, чтобы указанный промежуток времени, <emphasis>а также</emphasis> по крайней мере одно заданное значение (количество страниц или объём данных) было ненулевым.</para>
</listitem>
<listitem>
<para>Если параметр <option>job-k-limit</option> равен нулю (он равен нулю по умолчанию), это означает, что ограничение снято.</para>
</listitem>
<listitem>
<para>Если параметр <option>job-page-limit</option> равен нулю (он равен нулю по умолчанию), это означает, что ограничение снято.</para>
</listitem>
<listitem>
<para>Если параметр <option>job-quota-period</option> равен нулю, это означает, что счётчик напечатанных страниц или объёма данных не будет сбрасываться через определённый промежуток времени (то есть система будет учитывать все напечатанные страницы с начала использования).</para>
</listitem>
</itemizedlist>
<sect3>
<title>Примеры правильного использования программы lpadmin:</title>
<para>В данном примере задаётся как ограничение на объём данных, так и промежуток времени, через который счётчик выведенных данных следует сбрасывать:</para>
<screen><userinput><command>lpadmin</command> <option>-p</option> <parameter>danka_infotec_4850</parameter> <option>-o</option> <parameter>job-quota-period=604800</parameter> <option>-o</option> <parameter>job-k-limit=1024</parameter></userinput></screen>
<para>Таким образом для каждого пользователя принтера <systemitem class="resource">danka_infotec_4850</systemitem> устанавливается предел в 1 Мб данных в неделю.</para>
<screen><userinput><command>lpadmin</command> <option>p</option> <parameter>danka_infotec_4105</parameter> <option>-o</option> <parameter>job-quota-period=604800</parameter> <option>-o</option> <parameter>job-page-limit=100</parameter></userinput></screen>
<para>Таким образом для каждого пользователя принтера <systemitem class="resource">danka_infotec_4105</systemitem> устанавливается предел в 100 страниц в неделю.</para>
<screen><userinput><command>lpadmin</command> <option>-p</option> <parameter>danka_infotec_P450</parameter> <option>-o</option> <parameter>job-quota-period=604800</parameter> <option>-o</option> <parameter>job-k-limit=1024</parameter> <option>-o</option> <parameter>job-page-limit=100</parameter></userinput></screen>
<para>Таким образом для каждого пользователя принтера <systemitem class="resource">danka_infotec_P450</systemitem> устанавливается предел одновременно в 1 Мб в неделю и в 100 страниц в неделю. За одну неделю пользователь не сможет напечатать ни больше одного мегабайта, ни больше ста страниц.</para>
</sect3>
<sect3>
<title>Примеры неправильного использования программы lpadmin:</title>
<para>Ниже приведены примеры <emphasis>неправильного</emphasis> использования программы lpadmin (в каждом случае не указан один из двух необходимых параметров: промежуток времени и ограничение по количеству страниц или объёму данных):</para>
<screen><userinput><command>lpadmin</command> <option>-p</option> <parameter>danka_infotec_P320</parameter> <option>-o</option> <parameter>job-quota-period=604800</parameter></userinput>
<userinput><command>lpadmin</command> <option>-p</option> <parameter>danka_infotec_FullColor</parameter> <option>-o</option> <parameter>job-page-limit=100</parameter></userinput>
<userinput><command>lpadmin</command> <option>-p</option> <parameter>danka_infotec_HiSpeed</parameter> <option>-o</option> <parameter>job-k-limit=1024</parameter></userinput></screen>
</sect3>
<sect3>
<title>Сообщения об ошибках</title>
<para>При превышении установленного ограничения на количество страниц или объём данных пользователю будет показано сообщение об ошибке (<errortype>client-error-not-possible</errortype>).</para>
</sect3>
</sect2>
<sect2>
<title>Поддержка печати из &Windows; (так называемых <quote>raw</quote> принтеров)</title>
<para>Для того, чтобы &CUPS; поддерживал печать необрабатываемых (<quote>raw</quote>) документов с компьютеров, работающих под управлением &Windows;, для каждого принтера, на котором предполагается печатать, необходимо отключить обработку печатаемых документов. Для этого воспользуйтесь командой <command>lpadmin</command> (причём указывать файл &PPD; не следует):</para>
<screen><userinput><command>lpadmin</command> <option>-p</option> <parameter>Raw_Danka_infotec</parameter> <option>-E</option> <option>-v</option> <parameter>lpd://10.160.16.137/PORT1</parameter></userinput></screen>
<para>Под необрабатываемыми (raw) очередями понимается то, что файл, отправленный на печать, никак не преобразуется в другой формат. Это нужно, например, когда клиенты &Windows; печатают через &CUPS; на <acronym>PCL</acronym>-принтер, открытый для клиентского доступа Samba-сервером. В этом случае &Windows;-драйвер принтера сгенерирует уже готовый к печати документ, и &CUPS; не будет сам обрабатывать печатаемый документ. Это бы только испортило сам документ. Поэтому существует возможность использовать команду <quote><command>lpadmin</command> без &PPD;</quote>, чтобы &CUPS; не осуществлял никакой обработки документа.</para>
</sect2>
</sect1>
<sect1 id="troubleshooting-cups">
<title>Разрешение проблем &CUPS; с помощью &tdeprint;</title>
<para>Данный раздел руководства по &tdeprint; составлен из вопросов пользователей &tdeprint;, а также ответов на них других пользователей.</para>
<sect2>
<title>Сообщения об ошибках</title>
<qandaset>
<qandaentry>
<question>
<para>Что означает сообщение <errortype>client-error-bad-request</errortype>?</para>
</question>
<answer>
<para>&CUPS; не может обработать файл, который пользователь послал на печать. Такое сообщение часто появляется при посылке <quote>пустого</quote> файла.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Что означает сообщение <errortype>client-error-not-possible</errortype>?</para>
</question>
<answer>
<para>Пользователь не имеет достаточных привилегий для печати на данном принтере. Возможно также, что пользователь превысил установленные ограничения (объём данных или количество страниц).</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Что означает сообщение <errortype>client-error-not-found</errortype>?</para>
</question>
<answer>
<para>Пользователь пытается получить доступ к несуществующем ресурсу сервера &CUPS;; например, он может попытаться напечатать несуществующий файл, или доступ к файлу может быть запрещён.</para>
</answer>
</qandaentry>
</qandaset>
</sect2>
<sect2>
<title>Вопросы и ответы</title>
<qandaset>
<qandaentry>
<question>
<para>Возможна ли повторная печать уже выполненных заданий?</para>
</question>
<answer>
<para>Повторная печать выполненных заданий возможна. Для этого в файл <filename>/etc/cups/cupsd.conf</filename> необходимо добавить следующую строку: set <userinput>PreserveJobFiles True</userinput>.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Как отключить список выполненных заданий, отображаемый при настройке с помощью веб-браузера?</para>
</question>
<answer>
<para>Данный раздел руководства ещё не готов.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Как ведётся учёт напечатанных страниц?</para>
</question>
<answer>
<para>Для учёта напечатанных страниц &CUPS; обрабатывает каждый документ фильтром <quote>pstops</quote>. Результат работы этого фильтра можно перенаправить на обработку другим фильтрам (например pstoraster, а после него - rastertopcl) или послать прямо на печать (если принтер поддерживает команды &PostScript;).</para>
<para>Учёт страниц ведётся как для сетевых принтеров, так и для принтеров, подключённых с помощью параллельного или последовательного портов, а также с помощью <acronym>USB</acronym>. Для правильной работы pstops необходимо, чтобы на вход ему подавались команды &PostScript; в формате <acronym>DSC</acronym> (Document Structuring Convention - стандартная структура документа). При выводе каждой страницы pstops записывает сведения о ней (время печати, имя пользователя, номер и название задания, адрес принтера, количество копий, объём данных) в файл <filename>/var/log/cups/page_log</filename>.</para>
<para>Примечание: хотелось бы изменить программу <quote>webalizer</quote> таким образом, чтобы она читала файл page_log и выводила сведения о количестве напечатанных каждым пользователем страниц. Кто-нибудь возьмётся помочь?</para>
<para>Ошибки при учёте страниц могут возникать в следующих случаях:</para>
<itemizedlist>
<listitem>
<para>Бумага застряла в принтере, и выполнение задания было автоматически отменено (выполнение задания также может быть отменено, если данные поступают в неверном формате).</para>
</listitem>
<listitem>
<para>Количество страниц, которое &CUPS; отображает для каждого необрабатываемого документа, напечатанного из &Windows;, равно единице.</para>
</listitem>
</itemizedlist>
<para>Таким образом, учёт напечатанных страниц в &CUPS; не всегда абсолютно точен, а может быть и вовсе неточен. Единственный счётчик страниц, который может предоставить точные сведения, находится в самом принтере. Только немногие принтеры позволяют получить данные с этого счётчика по протоколу <acronym>SNMP</acronym> (Simple Network Management Protocol - протокол управления сетями). К сожалению, в крупных сетях с большим количеством принтеров не существует абсолютно надёжного средства учёта страниц.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Почему учёт страниц не работает при печати из &Windows;?</para>
</question>
<answer>
<para>Драйверы принтеров, поставляемые с &Windows;, посылают документ на печать в формате, готовом к отправке на принтер. Обработка таких данных с помощью фильтра невозможна. (Так как pstops - фильтр, производящий подсчёт страниц - работает только с данными в формате &PostScript;.) Для каждого необрабатываемого документа, напечатанного из &Windows;, количество страниц устанавливается в единицу.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Как получить список доступных настроек принтера или файла &PPD;?</para>
</question>
<answer>
<para>Обратитесь к документации по команде <command>lpoptions</command>. Эта команда позволяет получить список настроек любого доступного принтера (подключённого к вашему компьютеру или сетевого).</para>
<para>Команда такого вида: <userinput><command>lpoptions</command> <option>-p</option> <parameter>HitachiDDP70MicroPress</parameter> <option>-l</option></userinput> - позволяет получить список доступных настроек принтера HitachiDDP70MicroPress (настройки читаются из файла &PPD;). При этом система &CUPS; должна быть включена как на удалённом компьютере, так и на локальном.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Как интерпретировать полученный список настроек?</para>
</question>
<answer>
<para>Обычно драйвер принтера показывает настройки в удобочитаемом виде. Однако иногда бывает необходимо изменить какой-либо параметр, который не входит в стандарт &PostScript;. Ниже приведён пример изменения такого нестандартного параметра.</para>
<para>Принтер Hitachi DDP70 позволяет печатать с двух сторон. Необходимо узнать, как включить режим двусторонней печати. Следует ли использовать параметр <quote>duplex</quote>, <quote>Duplex</quote> или что-либо другое? Чтобы получить ответ на этот вопрос, воспользуйтесь командой такого вида:</para>
<screen><userinput><command>lpoptions</command> <option>-h</option> <parameter>transmeta</parameter> <option>-p</option> <parameter>Hitachi_DDP70_ClusterPrintingSystem</parameter> <option>-l</option> | <command>grep</command> <parameter>uplex</parameter></userinput></screen>
<para>Будет выведена следующая строка:</para>
<screen><computeroutput>TR-Duplex/Duplex: False *True</computeroutput></screen>
<para>Её следует понимать таким образом:</para>
<itemizedlist>
<listitem>
<para>название нужного нам параметра - <option>TR-Duplex</option>;</para>
</listitem>
<listitem>
<para>после косой черты указан перевод этого параметра (<quote>Duplex</quote>); таким вы будете его видеть при настройке с помощью графической среды или веб-браузера;</para>
</listitem>
<listitem>
<para>этому параметру можно присвоить два значения: <parameter>False</parameter> (выключено) или <parameter>True</parameter> (включено);</para>
</listitem>
<listitem>
<para>сейчас значение этого параметра - <parameter>True</parameter> (включено); текущее значение отмечено звёздочкой <literal>*</literal>.</para>
</listitem>
</itemizedlist>
<para>Чтобы временно изменить данное значение и напечатать документ только на одной стороне, воспользуйтейсь такой командой: </para>
<screen><userinput><command>lpr</command> <option>-P</option> <parameter>Hitachi_DDP70_ClusterPrintingSystem</parameter> <option>-o</option> <parameter>TR-Duplex=False</parameter> <parameter>/путь/к/печатаемому/документу</parameter></userinput></screen>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Как получить список доступных настроек в удобочитаемом виде?</para>
</question>
<answer>
<para>Для этого необходимо воспользоваться командой <command>lphelp</command>. (На момент написания данного руководства документация по команде <command>lphelp</command> отсутствует.)</para>
<screen><userinput><command>lphelp</command> <parameter>infotecP450</parameter></userinput></screen>
<para>Эта команда предоставит вам список всех доступных параметров заданного принтера в убодочитаемом виде, а также укажет значение и способ применения каждого из них. Вы также можете получить список параметров сразу нескольких принтеров:</para>
<screen><userinput><command>lphelp</command> <parameter>infotec7410color</parameter> <parameter>DANKA_fullcolor_D2000</parameter> <parameter>HP_ColorLaserJet8550</parameter></userinput></screen>
<para>Вместо названия принтера также можно указать файл &PPD;:</para>
<screen><userinput><command>lphelp</command> <filename>/home/vasiliy/PPDs/HP-ColorLaserJet8550.ppd</filename></userinput></screen>
</answer>
</qandaentry>
</qandaset>
</sect2>
<sect2>
<title>Разрешение проблем</title>
<para>Ниже приведён список наиболее часто встречающихся проблем:</para>
<qandaset>
<qandaentry>
<question>
<para>Неверно работает принтер <quote>3-lp-duplex</quote>.</para>
</question>
<answer>
<para>Названия принтеров должны начинаться с буквы и могут быть длиной до 128 символов. Допускается использование букв латинского алфавита, цифр и знаков подчёркивания. Использование дефисов может стать причиной неверной работы принтера. Также следует учесть, что в названиях принтеров не имеет значения, являются ли буквы строчными или прописными. Таким образом, название <systemitem class="resource">Best_of_Danka</systemitem> идентично названию <systemitem class="resource">best_of_danka</systemitem> или <systemitem class="resource">BEST_OF_DANKA</systemitem>.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Не удаётся получить удалённый доступ к принтеру, подключённому к компьютеру под управлением &Windows;. Выдаётся сообщение <errortype>Unable to connect to SAMBA host: Success</errortype>.</para>
</question>
<answer>
<para>Убедитесь, что у вас есть соответствующие привилегии для печати на этом принтере.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Файлы, которые были посланы на печать на принтер <systemitem class="resource">lp</systemitem>, иногда странным образом исчезают, а потом печатаются на совершенно другом принтере.</para>
</question>
<answer>
<para>Название <systemitem class="resource">lp</systemitem> скорее всего также используется другими, поэтому при включённом параметре <quote>ImplicitClasses On</quote> &CUPS; будет рассматривать все принтеры с одинаковыми именами как принадлежащие к одному классу. Таким образом, документ будет послан первому же доступному принтеру.</para>
<para>Чтобы избежать такой ситуации, давайте сетевым принтерам уникальные имена. (Не забывайте также, что при неправильной настройке любой принтер, подключённый к компьютеру, может стать доступен всей сети.)</para>
</answer>
</qandaentry>
</qandaset>
</sect2>
</sect1>
</chapter>