Зачем CUPS нужны драйверы, если они уже есть у клиентов?

Если вы хотите точно сопоставить часть, которая находится между C и [ПУТЬ :. ..] (и если предположить, что те * в вашем примере предназначены только для акцента, а не являются частью фактических данных), вы можете сделать:

awk '
  !start {all_strings[$0]; next}
  /^C/ {
    key = $0

    # strip the leading C <word>:
    sub(/^C[[:blank:]]+[^[:blank:]]+[[:blank:]]*/, "", key)

    # strip the trailing [...]:
    sub(/[[:blank:]]*\[[^]]*][[:blank:]]*$/, "", key)
    selected = key in all_strings
  }
  selected' fileB start=1 fileA

Помимо дополнительной надежности (например, Бактериальная секреция будет соответствовать только записи Бактериальной секреции , но не также Бактериальной секреторной системе ), она также очень эффективна в том смысле, что файлы считываются только один раз и соответствие - это только один поиск по хеш-таблице, в отличие от нескольких поисков подстрок или сопоставлений регулярных выражений.

1
15.09.2017, 15:55
2 ответа

Мы должны отделить драйверы от файлов описания принтера и от фильтров.

Приложениям нужны драйверы (либо сами по себе, либо предоставляемые операционной системой )для преобразования любого формата страницы, который они используют, в язык, понятный операционной системе. Насколько я помню, клиенты MS Windows обычно либо генерируют Postscript напрямую, либо чаще используют GDI, который Windows затем преобразует в любой язык, понятный принтеру :Adobe Postscript, Adobe PDF, Epson ESC/P или ESC/P2, HP PCL, IBM AFP… В Википедии есть обширный список .

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

Насколько я знаю, Cups не нуждается в драйверах или фильтрах, но может использовать описания принтеров, чтобы знать возможности принтеров и передавать эту информацию клиентам. PPD(Файлы описания принтера Postscript )обычно доступны для принтеров Postscript, и я предполагаю, что также PDF-файлы, но я предполагаю, что они не существуют для MS GDI и других меньших принтеров, таких как Epson ESC/P2 или HP. ПКЛ; так что я вижу потребность, возможно, не в драйверах, но был бы удобен некоторый эквивалент PPD, который можно было бы предоставить в (проприетарных )пакетах драйверов.

Кстати, что такое UL или SU в качестве альтернативы ошибке сервера, как в комментарии Марко выше?

2
27.01.2020, 23:18

Похоже, что CUPS вообще не нужны файлы PPD, если клиент (ex. :Пользователь Windows )уже использовал драйвер принтера для вывода задания в каком-либо формате (, например. :PS )принято принтером. В этом случае CUPS действует только как посредник, а очередь принтера может быть определена как необработанная очередь.Только что проверил этот cenario, и он работал просто отлично.

https://wiki.archlinux.org/index.php/CUPS#Network_2

3
27.01.2020, 23:18

Теги

Похожие вопросы