Остальные вопросы обсуждаются в общей теме: PrintHelp - универсальная сервисная программа для обслуживания принтеров.
Ссылки на скачивание в конце сообщения.
PrintHelp и работа по USB. Обязательно к прочтению!
1. Различие между /dev/usb и /dev/bus/usb.
Согласно общепринятой архитектуре, каталог dev в Linux содержит не прямые пути к устройствам, а пути к программным интерфейсам которые ассоциированны с определенными драйверами. В частности, это означает, что одно и тоже устройство может присутствовать в разных местах каталога dev и при этом использовать разный стек драйверов. Например, подключенный принтер может одновременно работать и через /dev/usb/lp0 и через /dev/bus/usb/002/004, однако в первом случае это будет принтер (line printer 0), а во втором общее usb устройство. На данный момент программа работает только с принтерами, поэтому создание алиасов из папки /dev/bus/usb в папку /dev ни даст никаких положительных результатов и может привести к неправильной работе других приложений.
2. Права доступа к файлам.
По умолчанию права доступа к /dev/usb/lpx на всех тестировавшихся системах определены следующим образом:
ls -l /dev/usb crw-rw---- 1 root lp 180, 0 Jan 01 00:00 lp0
Это означает, что право доступа к принтеру имеют только root и члены группы lp, так как подразумевается, что напрямую с принтером будут работать только драйвера, но не программы пользовательского уровня. Существует несколько возможных путей для обхода проблемы:
2.1. Добавление пользователя в группу lp:
Самый простой способ, добавить текущего пользователя (либо пользователя, из под которого будет запускаться программа) в группу lp и перезапустить систему:
sudo usermod -a -G lp $(id -n -u) sudo reboot
На данный момент я бы рекомендовал этот вариант.
2.2. Изменение прав для конкретного принтера.
Находим нужный принтер (например, lp0) и далее:
sudo chmod o+rw /dev/usb/lp0
2.3. Запуск программы под root:
Этот вариант теоретически несет больший риск, для запуска используйте либо su, sudo или gksudo из пакета gksu.
su printhelp
sudo printhelp
sudo apt-get install gksu gksudo printhelp
При использовании sudo каталог пользователя не меняется, из-за чего возможны предупреждения системы, связанные с правами на файлы. При использовании gksudo используется root каталог. В обоих случаях все созданные программой файлы будут принадлежать root, и их невозможно будет редактировать обычному пользователю. Так же, по неизвестной пока причине, при запуске через sudo и даже gksudo в KDE, GTK не может инициализировать ресурсы, su работает нормально.
2.4. Редактирование правил с помощью udev:
Используя правила для менеджера устройств можно установить права по умолчанию для подключаемых принтеров.
Перед тем как это делать внимательно прочитайте мануал по udev и эту статью: Writing Udev Rules by Daniel Drake.
PrintHelp и работа через Wi-Fi или Ethernet. Обязательно к прочтению!
1. Принтеры, поддерживающие выход в сеть, будут найдены автоматически, если они находятся в той же подсети, что и компьютер пользователя. В противном случае необходимо добавить IP адрес вручную в настройках программы.
2. При выполнении сервисных операций обмен данными с принтером идет по UDP протоколу. Процедура очень чувствительна к проблемам сети, особенно к потере пакетов. Поэтому связь между принтером и компьютером пользователя должна быть хорошей.
3. На текущий момент для обмена данными с принтером используются следующие порты: 3289 (ENPC), 161 (SNMP), 515 (LPD).
Установка и настройка.
Данная программа распространяется в виде пакетов, содержащих скомпилированные бинарные файлы.
1. Установка на Debian, Ubuntu и других дистрибутивах, поддерживающих deb пакеты.
Для успешной установки необходимо, чтобы все библиотеки, от которых зависит данное приложение были установлены или доступны из репозитория.
Список зависимостей и тестировавшихся дистрибутивов см. ниже. Если какие-либо из библиотек отсутствуют, их придется компилировать самостоятельно.
1.1. Установка через консоль:
Устанавливаем командой dpkg из директории, куда был загружен пакет.
Если остались неудовлетворенные зависимости, устанавливаем их через apt-get.
sudo dpkg -i printhelp-i386.deb sudo apt-get -f install
1.2. Установка через графический менеджер:
2. Установка на прочих дистрибутивах:
Данная программа может поддерживаться, а может и не поддерживаться на дистрибутивах, с которыми она не была протестирована.
Для запуска необходимо извлечь ELF файл из загруженного DEB пакета любым менеджером архивов и вручную установить все необходимые зависимости (см. ниже).
Минимальная версия поддерживаемых дистрибутивов:
Ubuntu 16.04 Xenial Xerus.
Debian 9.0 Stretch.
Mint 18.0 Sarah.
Дистрибутивы, основанные на упомянутых здесь (Kubuntu, Xubuntu, Lubuntu, Edubuntu и пр.) так же должны поддерживаться, если они имеют все необходимые пакеты.
Версия компилятора:
GCC 4.7.3
Зависимости пакета (dpkg-shlibdeps):
C/C++:
libc6 (>= 2.17)
libglib2.0-0 (>= 2.16.0)
libgcc1 (>= 1:3.0)
libstdc++6 (>= 5.2)
X11 и GTK+:
libx11-6
libsm6
libgtk2.0-0 (>= 2.24.0)
libgdk-pixbuf2.0-0 (>= 2.22.0)
Дополнительно:
libcairo2 (>= 1.6.0)
libpango1.0-0 (>= 1.18.0)
libpangocairo-1.0-0 (>= 1.14.0)
Скриншоты:
Ссылки на старые версии:
PrintHelp - 3.75.50 - i386.deb
PrintHelp - 3.75.50 - amd64.deb
PrintHelp - 5.00.00 - i386.deb
PrintHelp - 5.00.00 - amd64.deb
PrintHelp - 5.00.02 - i386.deb
PrintHelp - 5.00.02 - amd64.deb
PrintHelp - 5.00.05 - i386.deb
PrintHelp - 5.00.05 - amd64.deb
PrintHelp - 5.00.07 - i386.deb
PrintHelp - 5.00.07 - amd64.deb
PrintHelp - 5.00.11 - i386.deb
PrintHelp - 5.00.11 - amd64.deb
PrintHelp - 5.00.18 - i386.deb
PrintHelp - 5.00.18 - amd64.deb
PrintHelp - 5.00.21 - i386.deb
PrintHelp - 5.00.21 - amd64.deb
PrintHelp - 5.00.25 - i386.deb
PrintHelp - 5.00.25 - amd64.deb
PrintHelp - 5.00.30 - i386.deb
PrintHelp - 5.00.30 - amd64.deb
PrintHelp - 5.00.40 - i386.deb
PrintHelp - 5.00.40 - amd64.deb
PrintHelp - 5.00.51 - i386.deb последняя, которая поддерживает Ubuntu 13 ~ 15, Debian 8.0 и 32 битную архитектуру.
PrintHelp - 5.00.51 - amd64.deb последняя, которая поддерживает Ubuntu 13 ~ 15 и Debian 8.0 для 64 битной архитектуры.
PrintHelp - 5.00.54
PrintHelp - 5.00.55
Текущая версия (x64):
PrintHelp.deb