system-config-printer
Выполнив эти шаги, я теперь могу печатать документы с помощью Evince в Arch Linux 4.16.9 с HP LaserJet P1102, подключенным через USB:
sudo pacman -Sy cups
sudo systemctl enable --now cups
(название службы, которое раньше былоorg.cups.cupsd
)sudo pacman -S hplip
sudo hp-setup -i
. Здесь важны привилегии root, иначе пишет «ошибка :Устройство не выбрано/не указано или не поддерживает эту функцию». при выборе способа подключения. При установке плагина -я каждый раз выбирал вариант по умолчанию. system-config-printer
инструмент с графическим интерфейсом для настройки принтеров. system-config-printer
и нажмите кнопку, чтобы добавить принтер. Выберите свой принтер и выберите HPLIP в качестве метода подключения (, см. снимок экрана ). system-config-printer
теперь должно позволить распечатать тестовую страницу. gtk3-print-backends
. Вместо описанного выше system-config-printer
вы можете использовать веб-интерфейс CUPS, доступный по адресу localhost:631
.
Перед администрированием принтеров необходимо добавить своего пользователя в группу sys
, иначе в веб-интерфейсе будут возникать ошибки типа «Невозможно изменить принтер :Запрещено».
gpasswd -a theUser sys
Либо используйте vigr
для редактирования /etc/group
.
Веб-интерфейс запросит имя этого пользователя и его пароль.
/etc/cups/cups-files.conf
определяет, что члены группsys
(иroot
)могут администрировать принтеры:
SystemGroup sys root
Позаботившись о членстве в группе, вы можете добавлять принтеры и выполнять другие административные задачи:
После выбора принтера в localhost:631/printers
,вы также можете распечатать тестовую страницу через веб-интерфейс:
Библиотека hplip
из pacman
и подключаемый модуль драйвера -, установленный через hp-setup -i
, должны иметь одинаковую версию, иначе вы не сможете распечатать и увидеть это сообщение об ошибке в журнале systemd (осмотрите его с помощьюjournalctl -e
):
validate_plugin_version() Plugin version[3.17.7] mismatch with HPLIP version[3.18.4]
Чтобы исправить это, вы можете запустить hp-setup -i
еще раз, чтобы загрузить и установить текущий драйвер.
Я добавил следующее в ~/.bash_aliases
, чтобы предотвратить рассинхронизацию драйвера и библиотеки:
alias upgrade-ignore-hp="(set -x; sudo pacman -Syu --ignore hplip)"
В последнее время мой принтер отказывался печатать; system-config-printer
, а также веб-интерфейс CUPS отображал его как приостановленный, а lpc status
сообщал, что на принтере отключена печать.
cupsenable Hewlett-Packard-HP-LaserJet-Professional-P1102
не помогло.
Я решил эту проблему, изменив подключение принтера. Используя веб-интерфейс CUPS, упомянутый ранее, я выбрал свой принтер и щелкнул «Изменить принтер» в раскрывающемся списке -. Здесь я изменил соединение с
hp:/usb/HP_LaserJet_Professional_P1102?serial=000000000Q80X0EGPR1a
-
HP LaserJet Professional P1102 USB 000000000Q80X0EGSI1c HPLIP (HP LaserJet Professional P1102)
Обратите внимание, что эти два серийных номера различаются.
Я не знаю, откуда этот серийный номер и почему он изменился, так как я не купил новый принтер; это не тот, что на этикетке на задней панели принтера.
Однако этот серийный номер отображается в выводе hp-info
.
Эта ошибка повторялась при вызове sudo hp-setup -i
, и я не уверен, что принтер больше поддерживается HP для Arch Linux. С тех пор я отказался от HP LaserJet P1102 и получил Brother DCP -L3550CDW , функция монохромной печати которого работала из коробки в Arch Linux 5.3.12 :. В system-config-printer
я выбрал " Очередь LPD/LPR «BINARY _P1» в качестве соединения и «PCL Laser» в качестве драйвера.Я использовал этот драйвер для включения цветной печати.
Чтобы заставить работать встроенный -сканер устройства, я следовал этим инструкциям .
Второй принтер/сканер Brother, который я использовал для работы с Arch Linux, — это DCP -1610 Вт . Вот некоторые примечания, чтобы заставить его печатать и сканировать с использованием Wi -Fi.
Вы по-прежнему можете читать из /dev/input, но вместо того, чтобы отправлять результирующие события мыши в приложение (, таким образом скрытое от системы ), вы отправляете их в систему через драйвер пользовательского пространства.
Затем события будут следовать по тому же пути, что и обычные события мыши, что позволит вам деактивировать хранитель экрана.
До:
/dev/input -> your_driver -> application
После:
/dev/input -> your_driver -> uinput -> X -> application
Вы даже можете полностью отделить приложение от драйвера.
На этот вопрос есть несколько ответов о том, как это сделать.