Настройка программного обеспечения HP Printer (hplip) для сканирования в контейнере Docker

Вопрос или проблема

Недавно я обновил свой сервер с ubuntu 22 LTS до 24 LTS (Сервер). Оказалось, что HP еще не выпустила программное обеспечение hplip, способное работать с ubuntu 24.

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

Теперь, когда программное обеспечение hplip явно не работает на ubuntu 24, у меня появилась идея настроить все hplip в контейнере docker, основанном на ubuntu:22 или fedora:41 (<- который, похоже, имеет самую последнюю версию hplip).

Однако мне пока не удалось это сделать, я получал разные ошибки при каждой попытке.

Есть ли здесь кто-то, кто смог настроить hplip в контейнере docker?

Или у вас есть другие идеи, как запустить это, кроме как откатиться на ubuntu 22?

(Я довольно опытен в docker и немного в администрировании серверов linux, но совсем не в принтерах/сканерах на linux)

Ответ или решение

Настройка программного обеспечения HP Printer (HPLIP) для сканирования в контейнере Docker

Обновление последовательности операционных систем, безусловно, может привести к проблемам совместимости с разнообразными приложениями, особенно с такими, как HPLIP для управления принтерами HP. Ваша задача заключается в настройке HPLIP для сканирования в контейнере Docker. Давайте подробно рассмотрим этот процесс.

Шаг 1: Создание Docker-контейнера

Для начала создайте Docker-контейнер на базе Ubuntu 22 LTS или Fedora 41. Я рекомендую использовать Ubuntu 22, так как это гарантирует более простую настройку и совместимость с HPLIP. Откройте терминал и выполните следующее:

docker run -it --privileged --name hplip-scanner ubuntu:22 bash

Флаг --privileged позволяет контейнеру взаимодействовать с USB-устройствами, что критически важно для сканеров.

Шаг 2: Установка необходимых зависимостей

После того, как вы попали внутрь контейнера, необходимо установить HPLIP и все необходимые для его работы компоненты. Выполните следующие команды:

apt update && apt install -y \
    hplip \
    hplip-gui \
    hplip-doc \
    sane \
    sane-utils \
    python3

Установка sane и sane-utils необходима для обеспечения функциональности сканирования.

Шаг 3: Настройка USB-доступа

Для того чтобы ваш контейнер мог "видеть" принтер, следует подключить USB-устройство. Определите, какой USB-девайс соответствует вашему принтеру, с помощью команды:

lsusb

После этого необходимо запустить контейнер с правильным подключением устройства:

docker run -it --privileged --device=/dev/bus/usb:/dev/bus/usb --name hplip-scanner ubuntu:22 bash

Шаг 4: Запуск настройки HPLIP

Теперь, когда HPLIP и остальные компоненты установлены, вам нужно запустить настройку HPLIP:

hp-setup

Следуйте инструкциям на экране, чтобы настроить ваш принтер. Убедитесь, что контейнер "видит" принтер в процессе настройки.

Шаг 5: Проверка функциональности сканирования

После завершения настройки вам необходимо проверить, работает ли сканирование. Используйте следующую команду для запуска утилиты сканирования:

scanimage -L

Если ваше устройство обнаружено, вы должны увидеть его в списке. Для непосредственного выполнения сканирования, вы можете использовать:

scanimage --format png > output.png

Этот файл будет содержать текущий сканированный документ в формате PNG.

Заключение

Работа с HPLIP в Docker может показаться сложной задачей, однако, следуя этим шагам, вы имеете шанс без проблем настроить сканирование вашего принтера HP. Также стоит отметить, что использование контейнеризации обеспечивает меньший риск негативного воздействия на основное окружение вашего сервера. Если у вас возникнут дополнительные ошибки, изучайте их признаки и исправляйте в зависимости от конкретной проблемы.

Не упустите шанс воспользоваться форумами и сообществами по HPLIP для получения уникальных решений, которые встречали другие пользователи. Удачи в вашей работе!

Оцените материал
Добавить комментарий

Капча загружается...