Печать из Windows 10/11 на принтере HP LaserJet 1100 возможна и в 2025 году. Для этого достаточно иметь компьютер с LPT-портом. Это может быть PCI-плата с LPT, как у меня, или Ubuntu из коробки, которая не требует дополнительных настроек. После установки можно сразу приступать к печати, следуя описанным ниже шагам.

Это руководство описывает процесс установки и настройки принтера HP LaserJet 1100 на сервере Ubuntu 24.04, подключенного через LPT-порт, и превращения сервера в принт-сервер для сетевого доступа, включая печать с Windows 10. Используется драйвер Gutenprint для локальной печати и CUPS для сетевого доступа.

Предварительные требования

  • Сервер Ubuntu 24.04 с root-доступом.
  • Принтер HP LaserJet 1100, подключенный через LPT-порт (/dev/lp0).
  • Сеть со статическим IP (например, 192.168.0.200).
  • Клиент Windows 10 для сетевой печати.

Пошаговая инструкция

Шаг 1: Установка необходимых пакетов

Установите CUPS и драйверы принтера:


sudo apt update
sudo apt install cups cups-bsd printer-driver-hpijs printer-driver-gutenprint
    

Устанавливаются:

  • cups: Система печати.
  • cups-bsd: Утилиты, такие как lpr.
  • printer-driver-hpijs: Драйверы HP.
  • printer-driver-gutenprint: Драйверы Gutenprint для старых принтеров.

Шаг 2: Настройка LPT-порта

Проверьте доступность порта /dev/lp0:


ls -l /dev/lp*
    

Ожидаемый вывод:


crw-rw---- 1 root lp 6, 0 <дата> /dev/lp0
    

Если порт отсутствует, загрузите модули ядра:


sudo modprobe lp
sudo modprobe ppdev
    

Настройте права:


sudo chmod 660 /dev/lp0
sudo chown root:lp /dev/lp0
    

Добавьте модули для автозагрузки:


echo "lp" | sudo tee -a /etc/modules
echo "ppdev" | sudo tee -a /etc/modules
    

Шаг 3: Добавление принтера с драйвером Gutenprint

Добавьте принтер, используя драйвер Gutenprint:


sudo lpadmin -p HPLaserJet1100 -E -v parallel:/dev/lp0 -m gutenprint.5.3://hp-lj_1100/expert
    

Примечание: Может появиться предупреждение: "Printer drivers are deprecated...". Это нормально для CUPS 2.4.7 и не влияет на работу.

Установите принтер по умолчанию:


sudo lpoptions -d HPLaserJet1100
    

Шаг 4: Тест локальной печати

Проверьте печать:


echo "Тестовая страница" > test.txt
lp -d HPLaserJet1100 test.txt
lpq -P HPLaserJet1100
    

Если страница напечаталась, локальная настройка завершена. Проверьте статус принтера:


lpstat -p -d
    

Ожидаемый вывод:


принтер HPLaserJet1100 свободен. Включен с момента <дата>
назначение системы по умолчанию: HPLaserJet1100
    

Шаг 5: Включение автозапуска CUPS

Убедитесь, что CUPS запускается при загрузке:


sudo systemctl enable cups
    

Проверьте:


systemctl is-enabled cups
    

Ожидаемый вывод: enabled.

Шаг 6: Настройка CUPS для сетевого доступа

Обновите конфигурацию CUPS для совместного доступа:


sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak
echo -e "#\n# Configuration file for the CUPS scheduler\n#\n\nLogLevel debug\nPageLogFormat\nMaxLogSize 0\nErrorPolicy retry-job\n\nListen *:631\nListen /run/cups/cups.sock\n\nBrowsing Yes\nBrowseLocalProtocols dnssd\nBrowseAllow all\n\nDefaultAuthType Basic\nWebInterface Yes\nIdleExitTimeout 60\n\n\n  Order allow,deny\n  Allow all\n\n\n\n  Order allow,deny\n  Allow all\n\n\n\n  AuthType Default\n  Require user @SYSTEM\n  Order allow,deny\n\n\n\n  AuthType Default\n  Require user @SYSTEM\n  Order allow,deny\n\n\n\n  AuthType Default\n  Require user @SYSTEM\n  Order allow,deny\n\n\n\n  JobPrivateAccess default\n  JobPrivateValues default\n  SubscriptionPrivateAccess default\n  SubscriptionPrivateValues default\n  \n    Order deny,allow\n  \n  \n    Require user @OWNER @SYSTEM\n    Order deny,allow\n  \n  \n    AuthType Default\n    Require user @OWNER @SYSTEM\n    Order deny,allow\n  \n  \n    AuthType Default\n    Require user @SYSTEM\n    Order deny,allow\n  \n  \n    AuthType Default\n    Require user @SYSTEM\n    Order deny,allow\n  \n  \n    Require user @OWNER @SYSTEM\n    Order deny,allow\n  \n  \n    AuthType Default\n    Require user @OWNER @SYSTEM\n    Order deny,allow\n  \n  \n    Order deny,allow\n  \n\n\n\n  JobPrivateAccess default\n  JobPrivateValues default\n  SubscriptionPrivateAccess default\n  SubscriptionPrivateValues default\n  \n    AuthType Default\n    Order deny,allow\n  \n  \n    AuthType Default\n    Require user @OWNER @SYSTEM\n    Order deny,allow\n  \n  \n    AuthType Default\n    Require user @SYSTEM\n    Order deny,allow\n  \n  \n    AuthType Default\n    Require user @SYSTEM\n    Order deny,allow\n  \n  \n    AuthType Default\n    Require user @OWNER @SYSTEM\n    Order deny,allow\n  \n  \n    Order deny,allow\n  \n" | sudo tee /etc/cups/cupsd.conf
sudo systemctl restart cups
    

Включите совместный доступ для принтера:


sudo lpadmin -p HPLaserJet1100 -o printer-is-shared=true
sudo cupsctl --share-printers
    

Проверьте:


lpstat -a
    

Ожидаемый вывод:


HPLaserJet1100 принимает запросы с момента <дата>
    

Шаг 7: Разрешение сетевого доступа

Откройте порт 631 для CUPS:


sudo ufw allow 631
sudo ufw status
    

С компьютера Windows 10 проверьте доступность CUPS:


http://192.168.0.200:631
    

Если веб-интерфейс CUPS открывается, сетевая настройка верна.

Шаг 8: Настройка статического IP

Убедитесь, что IP сервера не меняется:


sudo nano /etc/netplan/01-netcfg.yaml
    

Добавьте:


network:
  version: 2
  ethernets:
    enp3s0:
      addresses:
        - 192.168.0.200/24
      gateway4: 192.168.0.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
    

Примените изменения:


sudo netplan apply
    

Шаг 9: Подключение принтера с Windows 10

Убедитесь, что сеть Windows 10 настроена как Частная:

  • Перейдите в Настройки > Сеть и Интернет > Состояние > Свойства сети.
  • Выберите Частная.

Добавьте принтер:

    • Перейдите в Настройки > Устройства > Принтеры и сканеры > Добавить принтер или сканер.
    • Нажмите Необходимый принтер отсутствует в списке.
    • Выберите Выбрать общий принтер по имени и введите:

http://192.168.0.200:631/printers/HPLaserJet1100
        
  • Выберите драйвер: HP > HP LaserJet 1100 (PCL5e) или HP LaserJet Series PCL 5. Если драйвер отсутствует, скачайте с сайта HP.
  • Завершите настройку и напечатайте тестовую страницу (Управление > Напечатать тестовую страницу).

Шаг 10: Устранение неполадок

Если печать не работает:

    • Проверьте статус CUPS:

systemctl status cups
        
    • Проверьте логи CUPS:

cat /var/log/cups/error_log
        
    • Проверьте порт LPT:

ls -l /dev/lp*
        
    • Проверьте очередь печати:

lpq -P HPLaserJet1100
        

Если клиент Windows 10 не подключается:

    • Убедитесь, что веб-интерфейс CUPS доступен (http://192.168.0.200:631).
    • Проверьте, открыт ли порт 631:

sudo ss -tuln | grep 631
        

Примечание по безопасности: Настройка Allow all в cupsd.conf подходит для доверенных сетей. Для публичных сетей ограничьте доступ:


<Location />
  Order allow,deny
  Allow 192.168.0.0/24
</Location>
<Location /printers>
  Order allow,deny
  Allow 192.168.0.0/24
</Location>
    

Перезапустите CUPS после изменений:


sudo systemctl restart cups
    

Заключение

Следуя этим шагам, вы успешно настроили принтер HP LaserJet 1100 на сервере Ubuntu 24.04 как принт-сервер. Принтер доступен локально через LPT-порт и в сети для клиентов Windows 10. Регулярное обслуживание включает проверку логов CUPS и стабильности IP-адреса сервера.