Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

7.11. Поиск неисправностей

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

  1. Нет вывода - ничего не распечатывается.

    Принтер бездействует; ничего не происходит. Сначала проверьте документацию, которая поставлена с принтером, на наличие какого-то средства самопроверки, которое вы можете вызвать; проверьте работает ли принтер. Подсоединен ли принтер к компьютеру? Разрешен ли принтер?

    Принтер должен быть "разрешен" двумя сппособами. Первое, принтер должен быть включен и готов к приему данных из компьютера. Второе, LP должен быть готов использовать принтер. Установите принтер. Если вы при выполнении этого получите сообщение об ошибках, следуйте тому, что предложено в сообщениях. Когда вы закончите установку принтера, введите или меню Daily Operations или введите команды:

    	/usr/sbin/accept printer-name
    	enable printer-name
    

    где printer-name - это имя, которое вы присваиваете принтеру для LP.

    Правильно ли установлена скорость передачи?

    Если скорость передачи (скорость с которой компьютер пересылает данные в принтер) не согласована с принтером, иногда ничего не будет распечатывается.

  2. Незаконный вывод.

    Принтер пытается что-то распечатать, но это не то, что вы ожидаете, и конечно не читаемо.

    Правильна ли скорость передачи?

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

    Прочитайте документацию, пришедшую с принтером, чтобы выяснить какова его скорость передачи. Она скорее всего должна устанавливаться на 9600 бод, дающие оптимальную продуктивность. Если она не установлена на 9600 бод, вы можете использовать LP, чтобы исправить скорость передачи (по умолчанию используется 9600). Если принтер подсоединен через параллельный порт, то значение скорости предачи роли не играет.

    Чтобы установить другую скорость передачи для использования LP, введите следующую команду:

    	/usr/sbin/lpadmin -p printer-name -o stty=baud-rate
    

    Правильна ли установка контроля четности?

    Некоторые принтеры используют контрольный разряд четности, чтобы гарантировать, что получаемые ими данные не были превращены в "мусор" в ходе передачи. Разряд четности можно декодировать несколькими способами, а компьютер и принтер должны договориться какой из них использовать. Иначе некоторые символы не будут распечатываться или будут заменены другими. Если ваш принтер подсоединен прямо к компьютеру с помощью довольно короткого кабеля, то не надо использовать разряд четности. Установить или изменить разряд четности можно с помощью следующих команд:

    	/usr/sbin/lpadmin -p printer-name -o stty=oddp
    	/usr/sbin/lpadmin -p printer-name -o stty=evenp
    	/usr/sbin/lpadmin -p printer-name -o stty=-parity
    

    Первая команда устанавливает формирование проверки на нечетность, вторая команда - проверки на четность. Последняя команда устанавливает значение по умолчанию - отсутствие проверки четности.

    Выберите команду, которая соответствует требованиям вашего принтера. Если вы устанвливаете скорость передачи, отличную от 9600, сочетайте установку скорости с установками проверки четности, как показано в следующей команде:

    	/usr/sbin/lpadmin -p printer-name -o "stty='evenp 1200'"
    

    Правильно ли установлены метки табуляции?

    Если принтер не ожидает получения символов табуляции, вывод может быть получен, но весь он будет расположен у правого поля.

  3. Законная распечатка, но неправильное расположение интервалов.

    Вывод весь налицо, и он читаемый, но в нем двойные пробелы, отсутствуют левые поля, распечатывается все сразу или зигзагообразно вниз по странице.

    Эти проблемы можно разрешить, осуществив настройку установок принтера (если возможно) или используя LP для согласования установок.

    Двойной пробел

    Нужно установить параметр -onclr или -tabs:

    	/usr/sbin/lpadmin -p printer-name -o stty=-onclr
    	/usr/sbin/lpadmin -p printer-name -o stty=-tabs
    

    Отсутствует левое поле/Одновременная распечатка

    Нужно установить параметр -tabs:

    	/usr/sbin/lpadmin -p printer-name -o stty=-tabs
    

    Зигзагообразное движение вниз по странице

    Нужно установить параметр -onclr:

    	/usr/sbin/lpadmin -p printer-name -o stty=-onclr
    

    Если надо решить сразу несколько проблем, можно указать все необходимые параметры в одной команде, например:

    	/usr/sbin/lpadmin -p printer-name -o "stty='-tabs
    		-onclr 2400'"
    
  4. Неправильный набор символов или шрифт.

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

    Если вы не знаете, какой тип принтера надо задать, введите следующую команду:

    	TERM=printer-type tput longname
    

    Вывод этой команды появится на экране терминала и будет представлять собой короткое описание принтера, идентифицированного "printer-type". Используйте различные имена, пока не найдете то, которое идентифицирует ваш принтер. Список имен можно найти в каталоге /ust/lib/terminfo.

  5. Сбои выходного набора

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

  6. Бездействующие принтеры.

    Есть несколько причин бездействия принтеров, когда они разрешены, а запросы на распечатку все еще ждут в очереди:

    • запросы необходимо отфильтровать. Медленный фильтр в целях избежания перегрузки системы функционирует в единственном числе одновременно. До тех пор, пока запрос на распечатку не будет отфильтрован, он не будет распечатываться. Используйте следующую команду, чтобы посмотреть, что ожидающий запрос отфильтрован:
      	lpstat -o -l
      
    • сбой принтера. Автоматическое продолжение распечатки после выявления сбоя не происходит незамедлительно. LP подождет около пяти минут прежде чем предпринять новую попытку и будет делать это, пока распечатка успешно не завершится. Можно выполнить повторную попытку без промедления с помощью команды:
      	enable printer-name
      
    • принтер был занят или заняты все порты выходного набора. Также как в предыдущем случае LP ждет пять минут, прежде чем попытаться вновь получить доступ к принтеру. Если это невозможно сделать в течение одного-двух часов (в зависимости от причины), LP наконец предупреждает о возникновении ппроблемы. Можно выполнить повторную попытку без промедления с помощью команды:
      	enable printer-name
      
    • потерян дочерний процесс. Если процесс UNIX, управляющий принтером, остановлен (системой UNIX в периоды крайней загруженности или администратором), LP может не осознавать этого в течение несколько минут. Запрещение принтера и последующее его разрешение заставит LP проверить наличие управляющего процесса и вновь запустить его. Убедитесь, что принтер действительно бездействует, т.к. запрещение принтера останавливает его работу в непредсказуемом месте распечатки. Хотя запрос не будет потерян, его придется перепечатать полностью.
      	disable printer-name
      	enable printer-name
      

      Если потерянный процесс является процессом, управляющим медленным фильтром, не пытайтесь вновь разрешить принтер; задержите запрос на распечатку, а затем возобновите его выполнение с помощью следующих команд:

      	lpstat -o -l
      	lp -i request-id -H hold
      	lp -i request-id -H resume
      

      Первая команда используется для просмотра очереди запросов.

  7. Очистка протокола запроса.

    Каталоги /usr/lib/lp/temp и /usr/lib/lp/requests содержат файлы, которые описывают каждый запрос, который был предписан для распечатки. Каждый запрос имеет два файла, по одному в каждом каталоге, которые содержат информацию об этом запросе. Файл запросов в каталоге /usr/lib/lp/temp защищен от доступа любого, за исключением пользователя, который выдал этот запрос, а файл в /usr/lib/lp/requests защищен даже от пользователя, выдавшего запрос.

    Файлы остаются в каталогах только до тех пор, пока запрос находится в очереди. После завершения выполнения запроса информация в файле объединяется и добавляется в файл /usr/lib/lp/requests.

    Протокол запросов имеет простую структуру, которая облегчает извлечение данных. Запросы перечисляются в том порядке, в котором они распечатываются и отделяются друг от друга строками, содержащими id запросов. Каждая строка ниже отделяющей строки помечается одной буквой, которая идентифицирует тип информации, содержащийся в ней. В табл. 1 приводится детальное описание значений каждой буквы.

Таблица 1

Буква Содержимое строки
= Это отделяющая строка, содержащая id запроса id пользователя и групповой id пользователя, полное количество байтов в исходных (неотфильтрованных) файлах, а также время постановки запроса в очередь. Эти элементы отделяются друг от друга запятыми и расположены следующим образом: id пользователя, групповой id, размер файла и предваряются словом uid, gid и size соответственно
C Количество распечатываемых копий
D Пункт назначения принтера или класса принтеров или слово any
F Имя распечатываемого файла. Эта строка повторя- ется для каждого распечатываемого файла
f Имя используемого формата
H Тип специальной обработки, называемой по буквам (resume, hold, immediate).
N Тип предупреждения, используемый, когда запрос на распечатку успешно выполнен. Это буква M, если пользователь уведомляется почтой, или W - если пользователь уведомляется сообщением на терминале
O Параметр -o
p Приоритет запроса
P Список распечатываемых страниц
r Присутствует, если пользователь запросил команду LP с параметром -r
S Используемый набор символов
s Выход запроса в виде сочетания индивидуальных битов, выраженных в шестнадцатиричном виде. Несколько битов используется программой Spooler. Наиболее важные биты имеют значение:
0x0004 - медленная фильтрация успешно завершена
0x0010 - распечатка завершена успешно
0x0040 - запрос отменен
0x0100 - запрос не отфильтрован или не распечатан
T Заголовок размещен на заглавной странице
t Тип содержимого, находящегося в файла(ах)
U Имя пользователя, выдавшего запрос на распечатку
X Медленный фильтр, используемый для запроса
Y Список специальных режимов, задаваемых фильтрам, используемым для распечатки запроса
y Быстрый фильтр, используемый для запроса
z Принтер, используемый для распечатки запроса. Он будет отличаться от пункта назначения, если запрос ставится в очередь на любой принтер или класс принтеров, или если запрос был перемещен в другой пункт назначения администратором LP

Назад | Содержание | Вперед