LINUX.ORG.RU
ФорумAdmin

Странная работа с LPT

 , , ,


0

1

Окружение: OpenSuse 13.1, последний Wine.

Что делается: «@COPY PRINT.TXT lpt2».

Проблема - если делать это из консоли wine cmd - работает. Ксли делать «cp PRINT.TXT /dev/usb/lp0» в Konsole - работает. Пихаем «cp PRINT.TXT /dev/usb/lp0» в sh - работает. Пихаем «@COPY PRINT.TXT lpt2» в cmd - трабл.

Трабл: печатается 1 раз из 3-8.

В остальных случаях сразу же печатает то, что нужно. В случае трабла не создаётся очередь из всех попыток, только печатает 1 раз, 2 раза если много раз запустить. Что происходит: Есть USB принтер, на который печать отправляется просто отправкой файлика. Файлик создаётся программой, которая запущена в wine. Принтер настраивался через CUPS. Работает, печатает, но в режиме из cmd - абсолютно не факт, что напечатает. Вывод COPY говорит, что скопировано фалов: 1, но на печать ничего не уходит. В чём разница между запуском СЩЗН из.cmd, и из консоли?

Возможность выполнить данное не через .cmd есть, но это дольше. lpt2 в dosdevices есть как ссылка на /dev/usb/lp0. Выявить закономерность, раз в сколько секунд срабатывает отправка или на какой раз - не удалось.

Страшно представить, сколько придётся мучаться...

Pyzia ★★★★★
()

Установка всего, что рекомендуют поставить в гугле никак не помогла. Пару раз довёл вайн до состояния неработоспособности, но всё осталось на своих местах:

wine64 start 123.vbs

fixme:exec:SHELL_execute flags ignored: 0x00000100 :~/.wine/drive_c/home> fixme:vbscript:VBScript_SetScriptState unimplemented SCRIPTSTATE_INITIALIZED fixme:wshom:ClassFactory_QueryInterface (0x7f98dee6eac0)->({342d1ea0-ae25-11d1-89c5-006008c3fbfc} 0x23f2b0) fixme:wshom:WshShell3_QueryInterface Unknown iface {fc4801a3-2ba9-11cf-a229-00aa003d7352}

Есть пара находок на WINEHQ, с пометкой, что баги исправлены в вайне 1.5.2, но не заметно.

PearlyDragon
() автор топика

тяжела жизнь виндузятника

anonymous
()
Ответ на: комментарий от PearlyDragon

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

PearlyDragon
() автор топика
Ответ на: комментарий от dhameoelin

Ради эксперимента. Просто вайн тоже не сработало. и 64 не срабатывает. Cmd и тот и тот тоже выполняют в необязательном порядке.

PearlyDragon
() автор топика
Ответ на: комментарий от dhameoelin

Если вы про wscript или cscript - не прокатило.

user@comp:~/.wine/drive_c/> winebebug=+relay wine wscript 123.vbs
fixme:advapi:RegisterTraceGuidsA (0x6b62aaf2, (nil), {44582fc5-2891-49fc-b001-869a26eb6aa4}, 4, 0x33f6f8, (null), (null), 0x6b65e4e0): stub
err:ole:CoGetClassObject class {6c736db1-bd94-11d0-8a23-00aa00b58e10} not registered
err:ole:CoGetClassObject no class object {6c736db1-bd94-11d0-8a23-00aa00b58e10} could be created for context 0x1
fixme:ole:CLSIDFromProgIDEx L"WScript.Shell",0x33f3e4: semi-stub
fixme:wshom:ClassFactory_QueryInterface (0x7def5938)->({342d1ea0-ae25-11d1-89c5-006008c3fbfc} 0x33f3e0)
fixme:wshom:WshShell3_QueryInterface Unknown iface {fc4801a3-2ba9-11cf-a229-00aa003d7352}
fixme:ole:CLSIDFromProgIDEx L"Scripting.FileSystemObject",0x33f3e4: semi-stub

Хотя несколько раз запустил и не каждый раз, но печатается. Значит проблема в том, что копирование из консоли срабатывает сразу и каждый раз, а копирование из .cmd, .vbs срабатывает в случайном порядке. Хотя во всех случаях пишет, что скопировано. В самом Konsole срабатывает сразу и каждый раз, вне зависимости консоль или же .sh.

PearlyDragon
() автор топика
Ответ на: комментарий от PearlyDragon

.vbs таки работает, не смотря на гору ошибок, которую он выдаёт, но не стабильно. Принтер моргает на каждое получение информации, но печатает не каждый раз. CUPS отображает, что пршло задание на 1КБ - не напечаталось, 4КБ - напечаталось. Интересная разница в весе информации. Отсылается один и тот же файлик. Есть ощущение, что wine не всегда получает разрешение на передачу в принтер или не всегда успевает всё передать.

PearlyDragon
() автор топика
24 февраля 2015 г.
Ответ на: комментарий от PearlyDragon

Прикольнулся и сделал демон, который смотрит в нужное место и если там появляется файлик - копирует его в порт. Казалось бы - всё прекрасно... Должно быть. Но не есть. В консоли пишем 5 раз копировать файлик в порт - 5 раз печатается. Запускаем Демон, смотрим - 1-2 раза печатается, если вообще печатается. В Демоне точно та же комманда pc + rm (чтобы не печатать бесконечно).

Как заставить Демон печатать именно столько раз, сколько посыается на печать?

PearlyDragon
() автор топика
4 мая 2016 г.

Или я чего-то не знаю, или одно из двух. Почему не «cat/type файл»?

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