Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Сетевой принтер, /dev  (Прочитано 1943 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Psixopad

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Сетевой принтер, /dev
« : 20 Ноября 2012, 13:29:04 »
  Доброго времени суток, уважаемые.
Я только-только зарегистрировался, и это мое первое сообщение. До этого момента я постоянно заходил на данный ресурс как гость, и хочу выразить благодарность за много разных полезных вещей, которые я здесь прочел.
А теперь к делу.
ОС Ubuntu 12.04. Принтер, к примеру, HP LaserJet P3005, подключение через LPT. Здесь все понятно, данный принтер можно найти по адресу /dev/lp0. Дальше. Система та же, принтер тот же, подключение через USB. В этом случае устройство находится в /dev/usb/lp0. И вот сам вопрос: система та же, принтер сетевой (HP P2055dn, подключен по сети, в CUPS подключение устройства: socket://ip:9100 /  или   dnssd://HP%20LaserJet%20P2055dn%20%5B33ACF9%5D._printer._tcp.local/   /или  lpd://ip/lp.  Это три варианта подключения. При котором из этих подключений принтер можно будет найти в /dev ? Дело в том, что такой путь до девайса нужен для запуска одной программы. Все, что не похоже на /dev  эта софтина не принимает.

Оффлайн vasilisc

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2563
  • г.Северодвинск - строим АПЛ
    • Просмотр профиля
    • Авторские статьи об OpenSource
Re: Сетевой принтер, /dev
« Ответ #1 : 20 Ноября 2012, 14:16:26 »
Сетевой принтер в каталоге /dev/.

Если вы вынуждены использовать старую программу, которая умеет работать только с принтерами, представленными в каталоге /dev/ в виде файлов-устройств, то вам поможет следующий финт ушами. Мы сделаем сетевой принтер в виде файла-устройства в /dev/.

текст скрипта http://vasilisc.com/scripts_linux#network_printer

Скрипт проверяет наличие уже ранее созданного файла устройства /dev/myfakenetprint и если он не создавался, то это первый запуск скрипта и мы создаём pipe /dev/myfakenetprint и даём всем-всё в виде прав 666.

Затем в вечном цикле мы ждём поступлений данных в пайп канале и выводим их на принтер, указанный в параметре -d через утилиту lp. Имя принтера возьмите в своей системе у настроенного CUPS, например имя принтера можно посмотреть в localhost:631. Теперь печатайте в "псевдолокальный" принтер /dev/myfakenetprint и забирайте распечатанное у вашего сетевого принтера.

 

Страница сгенерирована за 0.015 секунд. Запросов: 22.