Как установить принтер, который подключен через USB-to-Parallel-Port адаптер?

Можно заменить значением $i в видеть точную команду Вы пытаетесь работать:

app4/ | sed -e "s/^.*\(.\)$/\1/"

Это не работает потому что app4/ не команда. Вы пытаетесь передать по каналу app4/ в sed, таким образом, необходимо использовать что-то, что это производит app4/:

echo app4/ | sed -e "s/^.*\(.\)$/\1/"

Это работает, но Вы не должны действительно использовать sed для этого; bash имеет довольно много инструментов обработки строк. Например, ${i#} даст Вам длину $i, и ${i:j} даст Вам подстроку, запускающуюся в j, так ${i:$((${i#}-1))} даст Вам последний знак.

Самый легкий способ сделать, что Вы пробуете, вероятно, с ${i%/}. Это возвратится $i, но снимет изоляцию с a / от конца, если существует тот:

$ i="app4"; echo ${i%/}
app4
$ i="app4/"; echo ${i%/}
app4

Таким образом:

if [ "${i%/}" = "$i" ]
then
    echo "file"
else
    echo "folder"
fi

Однако, если все, что Вы действительно хотите, должно знать если $i действительный каталог, можно просто использовать:

if [ -d "$i" ]
3
22.10.2014, 19:04
4 ответа

http://en.gentoo-wiki.com/wiki/CUPS

При использовании USB-> Параллельный адаптер Вы захотите сделать следующее:

Add your printer by selecting a different connection type (since usb and parallel will not be listed)
Edit the file /etc/cups/printers.conf
Change the DeviceID line to read: DeviceID = parallel:/dev/usb/lp0
...actually, it looks like the proper line is now: DeviceURI parallel:/dev/usb/lp0 

Примечание: то, что это "параллельно": НЕ "usb": - часть USB обрабатывается драйверами usb. К CUPS это должно обнаружиться как параллельный порт. CUPS не знает для поиска USB-> Параллельные адаптеры, но если Вы вручную настроите его, то он будет работать

3
27.01.2020, 21:20
  • 1
    Привет, спасибо за Ваш ответ. У меня нет a /etc/cups/printers.conf файл. Создание один, добавление, что строка и перезапускающий cupsd не работала. –  Afr 10.05.2013, 20:33

По-видимому, hplip не поддерживает USB, чтобы быть параллельным адаптерам - см., например, http://www.mail-archive.com/hplip-help@lists.sourceforge.net/msg02858.html

Мне удалось подключить параллельный принтер через адаптер PL2305 как Ваш для работы с CUPS путем ручного редактирования printers.conf файла, как описано @Sandro kensan - я смотрю на CUPS 'Тестовая Страница Принтера' прямо сейчас, таким образом, я могу подтвердить, что метод kensan's Sandro работает.

Я подозреваю, что отсутствие printers.conf на Вашей машине означает, что Вам не установили CUPS. Я рекомендую не попытаться создать этот весь файл с нуля; это состоит из намного больше, чем одна строка.

Что касается HPLIP - я абсолютно не мог заставить это распознавать мой LaserJet 2100, соединенный через PL2305. То, что следует, - то, что я попробовал до сих пор, в надежде это экономит Вам некоторое время.

Во-первых, я пытался указать USB bus:device числа PL2305 к командной строке hp-установки. Это приводит к hp-установке, обходя все дерево USB-устройства, во времена, считывая данные с USB-устройств, затем закрывающих их снова, затем наконец производя

error: No device selected/specified or that supports this functionality.

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

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

Первая проблема, с которой Вы встречаетесь с этим подходом, состоит в том, что hp-установка хочет просканировать, а не быть сказанной узел устройства для использования. Для нанесения поражения этому необходимо выполнить его из командной строки и предоставить узел устройства как аргумент.

Следующая проблема состоит в том, что hp-установка только распознает параметр командной строки как узел устройства параллельного порта (как отклонено, например, к USB bus:device идентификатор), если это находится в форме/dev/partport [0-9]. Я победил это путем выполнения:

sudo ln -s /dev/usb/lp1 /dev/parport1

Это могло быть сделано персистентным использованием пользовательского правила udev, но это - ужасный взлом.

Следующая проблема состоит в том, что инструменты HPLIP затем (справедливо) предполагают, что/dev/parport1 является устройством альбома, и выпустите определенный для параллели ioctls, такой как PPGETMODES на нем. Драйвер ядра для PL2305 не является 'параллельным выходом' достаточно для понимания их, так возвращает код ошибки, который заставляет инструменты HPLIP пропускать тот узел устройства в процессе, производящем более загадочную/бесполезную диагностику, такую как:

Invalid device URI

Насколько я могу сказать, HPLIP хочет видеть также:

  1. USB-устройство, которое является принтером бренда HP (не адаптер/мост, позади которого находится принтер); или
  2. Подобный ' узел устройства 'альбома, представляющий параллельный порт, который поддерживает все определенные для параллели ioctls.

/dev/usb/lp [0-9] узлы устройства, которые мы получаем, когда мы включаем наш PL2305s, не имеют ни один их, и HPLIP не может обработать их сам и негибок таким образом, что он не предоставляет пути I, видят, чтобы Вы вызвали его к Делай как надо.

1
27.01.2020, 21:20

Я только что открыл отчет об ошибке с прикрепленным рабочим /etc/cups/printers.conf для последних версий Debian:

# Printer configuration file for CUPS v1.5.3
# Written by cupsd
# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING
<Printer HP_LaserJet_1100>
UUID urn:uuid:e2fd8b09-9e4e-3f96-79ac-f16946700768
Info 
Location 
MakeModel HP LaserJet 1100 - CUPS+Gutenprint v5.2.9
DeviceURI parallel:/dev/usb/lp1
State Idle
StateTime 1454272978
Type 4116
Accepting Yes
Shared No
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>

Обратите внимание, что у вас есть чтобы остановить CUPS перед редактированием / заменой / созданием этого файла.

Я думаю, что мое устройство - lp1 , потому что у меня также есть настоящий параллельный порт на этом ПК ( / dev / lp0 ). В любом случае вы можете найти нужное устройство с помощью:

# ls /dev/usb/lp*
0
27.01.2020, 21:20

Параллельное физическое соединение

В первую очередь необходимо проверить принтер параллельный порт разъем (, также известный как Centronics или IEEE -1284).

Обычно это должна быть микролента 36 -штифт розетка . Вместо этого ваш ПК должен иметь мини-разъем -Centronics с 36 контактами -, штекер .

Поскольку на вашем компьютере его нет, вы используете USB-адаптер, как показано на рисунке.

Таким образом, требуется параллельный кабель хоста -к -устройству, который имеет микроленточный 36 -штыревой штекер на одной стороне и мини -Centronics 36 -. ] контактный гнездовой разъем на другом. Обычно он называется параллельным кабелем , кабелем Centronics или кабелем принтера .

Таким образом, ваша физическая установка требует двух вещей:

  • адаптер USB -на -Centronics *(, который, похоже, у вас уже есть )и
  • параллельный кабель.

В качестве опции у вас может быть USB-адаптер принтера , который оканчивается микролентой 36 -штырек вилка и напрямую подключает USB-порт ПК к параллельный разъем принтера.

В любом случае вы используете параллельный порт на своем ПК. Настоящая она или адаптированная под USB -значения не имеет.

USB-принтер представляет собой нечто совершенно иное, поскольку он не имеет параллельного/Centronics/IEEE -1284 порта, но изначально использует стандарт USB по обе стороны от связь.

Параллельное логическое соединение

Как только все это будет сделано, в любом случае вам необходимо настроить параллельный принтер . Неважно, используете ли вы USB-адаптер или нет. Ваш компьютер " видит " параллельный порт, и вы должны использовать этот стандарт.

Если у вас есть USB-принтер, вам следует настроить USB-принтер , потому что это USB-принтер -(, который в настоящее время подходит для большинства случаев ).

0
16.03.2021, 10:54

Теги

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