LINUX.ORG.RU

Чтоөто профессионалы не знают такой простой вещи...


0

0

My name is Moris.

Уважаемые профи! подскажите начинающему - проблема с настройкой печати в Линукс. В Configuration-HowTo сказано - проверьте к какому порту принтера (lp0,lp1,lp2) подключен параллельный принтер ( у меня Epson LX-300) командной строкой вида: # echo "Hello, world" > /dev/lp0

так вот - эта строка у меня ничего не делает (она должна распечатать на принтере строчку или нет!?) стоит в ожидании и всё. команднач строка не появляется. # ps -ax показывает что демон lpd находится в ожидании lpd - Waiting Если отправляю на печать файл используя фильтр для Epson-совместимых 9-игольчатых командой # lpr -Pascii file.txt -sDEVICE=epson оно сообщает что всё ок и на печать отправлено. lpq сообщает что все нормально - 1 задание в процессе печати. а команда ps -ax сообщает что ghostscript в процессе работы и ... тишина - мой матричный принтер молчит. Где я глючу?. И прошу прощения - в Windows этот же принтер печатает пробную страницу. Настройки порта в BIOS - ECP параллельный порт, адрес 0x3bc irq=7

Ядро 2.4.9 distribution - ASPLinux 7.2

Должна ли вообще строка

echo " Hello, world " > /dev/lp0

выводить на современном железе выводить на современный матрчный принтер что-то????????

anonymous

Отвечаю: должна эта строчка неприменно распечататься на принтере, подключённом к LPT-порту, но не на любом принтере. У меня на струйнике EPSON Stylus 200 (язык ESC/P 2) всё именно так и происходило а вот, лазерник HP LaserJet 5L данные принял, замигал светодиодом и повис.

wildhoney
()

>Должна ли вообще строка
>echo " Hello, world " > /dev/lp0
>выводить на современном железе выводить на современный матрчный принтер
>что-то????????

должна
но для струйных/лазерных нужно добавлять "выброс листа":
echo -e " Hello, world \012" > /dev/lp0

DiMoN ★★★
()

Попробуй вначале сделать modprobe lp. Хотя, по идее, должен сам подгрузиться.

kpanic ★★
()

Ну и естественно это самое echo ... делай из под рута. Ну или юзера, которому можно писать в /dev/lp0.

kpanic ★★
()

А нельзя ли сделать адрес 0x378? Это как-то больше похоже на младший принтерный порт в системе. А почему lp0, а не lp1 или lp2?

ansky ★★★★★
()

гыы... :-) потому, что эту систему писали программисты на С, поэтому все с 0 начинается. и как это ты просто в порт писать собираешься? ты даже на nt не сидел ни разу, что ли?

anonymous
()

Кстати вспомнил одну вещь: на одном и том-же компе, RH5.2 и RH6.2 обнаруживали единственный порт принтера с адресом 0x378 на разных /dev/lp. Не помню кто-где, но это были lp0 и lp1. Так что, не факт, что единственный порт в системе будет lp0. Если только ему это как-то не указать явно.

ansky ★★★★★
()

2 DiMoN
Небольшая поправка: восьмеричное '\012' - перевод строки, то же самое, что и '\n'. Многие принтеры (и матричные тоже в том числе) не печатают строку без перевода строки '\n', как Вы и заметили, - не освобождают свой буфер. Тогда уж нагляднее так:
echo "Hello, world\n" > /dev/lp0
Перевод листа - десятичное '\12', восьмеричное '\014'.

josephson ★★
()

echo -e "Hello, world\n" > /dev/lp0
Прошу прощения за ошибку.

josephson ★★
()

> echo -e "Hello, world\n" > /dev/lp0
> Прошу прощения за ошибку.

А по моему
echo -e "bla-bla-bla"
сам вставляет в конце "\n"

Mons
()

My name is Moris

Всё пробовал что вы говорите: и \n и /n и /12 и /012 и /014 и с ключом -e и без него - ничего не помогает - сплошное ожидание и всё.... и файл отправлял

cat /etc/modules.conf > /dev/lp0

молчание да и только...

дело тут в другом...

anonymous
()

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

--------------- (енг)

anonymous
()

2 Moris & Co.
Вопрос; а чего мы все упёрлись в /dev/lp0? В linux есть утилита печати lpr. Пробуйте:

echo "Hello, world\n"|lpr

Она корректно ставит текст в очередь на печать. У неё куча ключей, в том числе и принтер можно выбрать: man lpr. Состояние печати - man lpq.

josephson ★★
()

Внимательно перечитал вопрос, прошу прощения за предыдущий пост. Несколько моментов: 1) в linux между постановкой задания в очередь и выгрузкой на принтер проходит некоторое время, иногда длительное: может Вы не ждали? 2) возможно, опять же, строка символов в file.txt не имела этого пресловутого символа завершения '\n' и застревала в буфере принтера; 3) касательно настроек в bios наверняка сказать не могу, у меня, кажется normal, адрес auto, irq 7 и с epson-ами проблем не было.

josephson ★★
()
Ответ на: комментарий от josephson

1) ждал я очень много времени... 2) символ завершения \n присуствовал

3) адрес 0x3bc irq=7

4) подскажите как логи прочитать и отттрассировать?

Moris
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.