Как установить python3 -pyqt4 на Linux Mint 20? HPLIP-зависимость

Дальнейшее улучшение благодаря Кусалананде.

  • Проверка содержимого файла не требуется, так как цикл while readне будет работать с пустым файлом.
  • Затем вы можете просто использовать [ -s pid.txt ] || rm pid.txtдля удаления pid-файла. Однако , действительно ли у вас есть причина сохранять файл после обработки? Скорее всего, вы захотите удалить его в любом случае.

while read -r line
do
    kill "$line"
done < pid.txt
[ -s pid.txt ] || rm pid.txt

Вместо этого используется цикл while read. из for $(cat...). Не читать строки с for .

Опция -rуказывает «не позволять обратной косой черте экранировать любые символы», что на самом деле не должно быть проблемой в файле pids, но рекомендуется всегда устанавливать, если нет особой причины не делать этого.

0
30.07.2020, 12:02
2 ответа

Альтернативное решение. Настройте принтер как принтер без драйверов.

С некоторой помощью на форуме Linux Mint мне удалось заставить принтер работать без использования HPLIP. Как я узнал, это благодаря способности принтеров поддерживать печать без драйверов. Так как это может помочь кому-то в будущем, это процедура, которой нужно следовать.

  1. Убедитесь, что принтер и компьютер находятся в одной беспроводной сети

  2. Используйте команды avavi-browseдля поиска устройств в локальной беспроводной сети. Используйте команды CUPS driverlessи lpstatдля отображения соответствующего состояния принтера

    .

avahi-browse -rt _ipp._tcp
avahi-browse -rt _uscan._tcp
driverless
lpstat -l -e

Пример avahi-browse -rt _ipp._tcpвыход:

➜  ~ avahi-browse -rt _ipp._tcp
+ wlp1s0 IPv6 HP ENVY 6000 series [B68C8C]                  Internet Printer     local
+ wlp1s0 IPv4 HP ENVY 6000 series [B68C8C]                  Internet Printer     local
= wlp1s0 IPv4 HP ENVY 6000 series [B68C8C]                  Internet Printer     local
   hostname = [HP3822E2B68C8C.local]
   address = [192.168.1.190]
   port = [631]
   txt = ["Fax=F" "mopria-certified=2.0" "Scan=T" "kind=document,envelope,photo,postcard" "URF=CP1,MT1-2-8-9-10-11,PQ3-4-5,RS300-600,SRGB24,OB9,OFU0,W8-16,DEVW8-16,DEVRGB24-48,ADOBERGB24-48,DM3,IS1,V1.4,FN3" "PaperMax=legal-A4" "pdl=application/vnd.hp-PCL,image/jpeg,image/urf,image/pwg-raster,application/PCLm" "Duplex=T" "Color=T" "usb_MDL=ENVY 6000 series" "usb_MFG=HP" "ty=HP ENVY 6000 series" "product=(HP ENVY 6000 series)" "UUID=9dddcf7d-2ef9-51a5-8be4-be1e5e3ebfc2" "rp=ipp/print" "TLS=1.2" "qtotal=1" "priority=20" "note=" "adminurl=http://HP3822E2B68C8C.local./#hId-pgAirPrint" "txtvers=1"]
= wlp1s0 IPv6 HP ENVY 6000 series [B68C8C]                  Internet Printer     local
   hostname = [HP3822E2B68C8C.local]
   address = [192.168.1.190]
   port = [631]
   txt = ["Fax=F" "mopria-certified=2.0" "Scan=T" "kind=document,envelope,photo,postcard" "URF=CP1,MT1-2-8-9-10-11,PQ3-4-5,RS300-600,SRGB24,OB9,OFU0,W8-16,DEVW8-16,DEVRGB24-48,ADOBERGB24-48,DM3,IS1,V1.4,FN3" "PaperMax=legal-A4" "pdl=application/vnd.hp-PCL,image/jpeg,image/urf,image/pwg-raster,application/PCLm" "Duplex=T" "Color=T" "usb_MDL=ENVY 6000 series" "usb_MFG=HP" "ty=HP ENVY 6000 series" "product=(HP ENVY 6000 series)" "UUID=9dddcf7d-2ef9-51a5-8be4-be1e5e3ebfc2" "rp=ipp/print" "TLS=1.2" "qtotal=1" "priority=20" "note=" "adminurl=http://HP3822E2B68C8C.local./#hId-pgAirPrint" "txtvers=1"]

Пример avahi-browse -rt _uscan._tcpвывод:

➜  ~ avahi-browse -rt _uscan._tcp
+ wlp1s0 IPv4 HP ENVY 6000 series [B68C8C]                  _uscan._tcp          local
+ wlp1s0 IPv6 HP ENVY 6000 series [B68C8C]                  _uscan._tcp          local
= wlp1s0 IPv4 HP ENVY 6000 series [B68C8C]                  _uscan._tcp          local
   hostname = [HP3822E2B68C8C.local]
   address = [192.168.1.190]
   port = [8080]
   txt = ["mopria-certified-scan=1.2" "duplex=F" "is=platen" "cs=binary,color,grayscale" "pdl=application/octet-stream,application/pdf,image/jpeg" "ty=HP ENVY 6000 series" "rs=eSCL" "representation=images/printer.png" "vers=2.63" "UUID=9dddcf7d-2ef9-51a5-8be4-be1e5e3ebfc2" "note=" "adminurl=http://HP3822E2B68C8C.local." "txtvers=1"]
= wlp1s0 IPv6 HP ENVY 6000 series [B68C8C]                  _uscan._tcp          local
   hostname = [HP3822E2B68C8C.local]
   address = [192.168.1.190]
   port = [8080]
   txt = ["mopria-certified-scan=1.2" "duplex=F" "is=platen" "cs=binary,color,grayscale" "pdl=application/octet-stream,application/pdf,image/jpeg" "ty=HP ENVY 6000 series" "rs=eSCL" "representation=images/printer.png" "vers=2.63" "UUID=9dddcf7d-2ef9-51a5-8be4-be1e5e3ebfc2" "note=" "adminurl=http://HP3822E2B68C8C.local." "txtvers=1"]

Пример driverlessвывод:

➜  ~ driverless
ipp://HP%20ENVY%206000%20series%20%5BB68C8C%5D._ipp._tcp.local/

Пример lpstat -l -eвывод:

➜  ~ lpstat -l -e 
HP_ENVY_6000_series_B68C8C_ permanent ipp://localhost/printers/HP_ENVY_6000_series_B68C8C_ implicitclass://HP_ENVY_6000_series_B68C8C_/
  1. Используя информацию из предыдущих команд, настройте принтер без драйверов.

Выполняется команда:

lpadmin -p [PRINTER-NAME] -v [URI] -E -m everywhere

ПРИНТЕР -ИМЯ просто заменяется именем, которое вы хотите дать.

URI заменяется на URI принтера. Для этого есть два метода. Вы можете использовать вывод команды driverless. Сначала это работало для меня, пока я не перезагрузил компьютер, а затем он перестал работать. Другой вариант — использовать IP-адрес, указанный в команде avahi-browseв формате ipp://[IP]/ipp/print, чтобы указать точное местоположение принтера.Этот IP-адрес можно дважды проверить, войдя в свой маршрутизатор. Пример полной команды:

➜  ~ lpadmin -p envy6000 -v ipp://192.168.1.190:631/ipp/print -E -m everywhere
  1. Напечатайте пробную страницу, чтобы убедиться, что все работает

➜ ~ lp -d envy6000 /etc/nsswitch.conf

Так и должно быть. Теперь он должен печатать во всех программах и находиться в диалоговом окне «Принтеры».

0
18.03.2021, 23:16

Qt4 был заменен на Qt5 в Mint 20. Используйте:

apt install python3-pyqt5

Должна быть совместима.

0
18.03.2021, 23:16

Теги

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