CUPS – ວິທີແກ້ໄຂບັນຫາການພິມ
ຖ້າທ່ານກຳລັງປະສົບບັນຫາກັບການພິມ, ກະລຸນາເບິ່ງທີ່ໜ້າ common bugs ກ່ອນທີ່ຈະແຈ້ງ bug. ຖ້າບັນຫາທີ່ທ່ານພົບບໍ່ມີລາຍຊື່ຢູ່ໃນນັ້ນ ຫຼື ບໍ່ມີວິທີແກ້ໄຂໃດທີ່ຊ່ວຍໄດ້, ກະລຸນາພິຈາລະນາ ການແຈ້ງລາຍງານ bug ເພື່ອຊ່ວຍໃຫ້ພວກເຮົາເຮັດໃຫ້ Fedora ເຮັດວຽກໄດ້ດີຂຶ້ນໃນຮາດແວຂອງທ່ານ.
ການລະບຸພື້ນທີ່ຂອງບັນຫາ
ບັນຫາການພິມສາມາດມີຄວາມຊັບຊ້ອນສົມຄວນ ແລະ ຜູ້ດູແລອາດຈະຮ້ອງຂໍຄວາມຮ່ວມມືຢ່າງຫ້າວຫັນ ຫຼື ຂໍ້ມູນຈຳນວນຫຼາຍຈາກຜູ້ລາຍງານ ເພື່ອຊ່ວຍໃຫ້ຜູ້ດູແລຢ່າງໜ້ອຍກໍເຂົ້າໃຈ ແລະ (ຖ້າບໍ່ແມ່ນບັນຫາສະເພາະຂອງຮາດແວ) ສາມາດສ້າງບັນຫາຄືນໃໝ່ໄດ້, ດັ່ງນັ້ນ ກະລຸນາຈົ່ງມີຄວາມອົດທົນ ແລະ ພະຍາຍາມຈຳກັດຂອບເຂດຂອງບັນຫາໃຫ້ແຄບລົງເທົ່າທີ່ຈະເຮັດໄດ້ເພື່ອຜູ້ດູແລ.
ອາດຈະມີ:
-
ບັນຫາໃນການເບິ່ງເຫັນ ຫຼື ການເຊື່ອມຕໍ່ກັບເຄື່ອງພິມ (ອາດເປັນບັນຫາຂອງ cups backend, ບັນຫາ avahi, ບັນຫາ libusb, ຫຼື ບັນຫາ cups-browsed),
-
ບັນຫາການເຂົ້າເຖິງ (ການຕັ້ງຄ່າທີ່ຖືກຕ້ອງ/ຜິດພາດໃນ cupsd.conf ຫຼື ການຕີຄວາມໝາຍທີ່ບໍ່ດີໂດຍ cupsd daemon, ການເຮັດວຽກຮ່ວມກັບ NIS, SSSD ທີ່ບໍ່ດີ…),
-
ການພິມດ້ວຍການຊ່ວຍເຫຼືອຂອງ samba (ບັນຫາກັບ smb backend, ເຊິ່ງເປັນສ່ວນໜຶ່ງຂອງ samba) ຫຼື ກັບ samba ທີ່ຜ່ານການຢືນຢັນຕົວຕົນດ້ວຍ Kerberos (samba_krb5_printing),
-
ບັນຫາກັບຕົວຕອງ (filters) ທີ່ໃຊ້ໃນລະຫວ່າງການປ່ຽນຮູບແບບເອກະສານໃຫ້ເປັນຮູບແບບທີ່ເຄື່ອງພິມຮອງຮັບ, ເຊິ່ງມີຜົນຕໍ່ວິທີການ ຫຼື ການທີ່ເອກະສານຈະຖືກພິມອອກມາຫຼືບໍ່ (ບັນຫາກັບ filters - pdftops, pdftopdf, pstops, bannertopdf ແລະ ອື່ນໆ - ຫຼື ບັນຫາກັບໄຟລ໌ binary ຫຼື library ທີ່ filters ໃຊ້ - libgs, qpdf, poppler…),
-
ບັນຫາກັບໄຟລ໌ Postscript Printer Description (PPD), ເຊິ່ງເປັນວິທີເກົ່າໃນການກຳນົດຄວາມສາມາດຂອງເຄື່ອງພິມ ເຊັ່ນ: ຂະໜາດເຈ້ຍທີ່ຮອງຮັບ, ຂອບເຈ້ຍ ແລະ ອື່ນໆ…
ຍັງບໍ່ໄດ້ກ່າວເຖິງຂໍ້ຈຳກັດ ຫຼື ບັນຫາທີ່ອາດມີໃນເຟີມແວ (firmware) ຫຼື ຮາດແວຂອງເຄື່ອງພິມເອງ, ດັ່ງນັ້ນ ຂໍ້ມູນປະເພດໃດກໍຕາມ ຫຼື ການຈຳກັດຂອບເຂດບັນຫາແມ່ນເປັນປະໂຫຍດຫຼາຍ.
ການເລີ່ມຕົ້ນທີ່ດີທີ່ສຸດແມ່ນການແນບໄຟລ໌ບັນທຶກ (logs) ທີ່ອະທິບາຍໄວ້ຂ້າງລຸ່ມນີ້.
ການບັນທຶກ CUPS
ການບັນທຶກ CUPS ທັງໝົດຈະຖືກປ່ຽນທິດທາງໄປຫາ journal ໂດຍຄ່າເລີ່ມຕົ້ນຕັ້ງແຕ່ Fedora 28 ເປັນຕົ້ນມາ (ກ່ອນ Fedora 28 ແມ່ນມີການປ່ຽນທິດທາງຂອງ error_log ໄປຫາ journal ໂດຍຄ່າເລີ່ມຕົ້ນ).
ພວກເຮົາຈຳເປັນຕ້ອງກຳນົດສອງວິທີທີ່ແຕກຕ່າງກັນໃນການເກັບບັນທຶກ CUPS ທັງໝົດທີ່ກ່ຽວຂ້ອງກັບເຫດການ - ວິທີໜຶ່ງແມ່ນຖ້າຄິວການພິມທີ່ເສຍນັ້ນບໍ່ໄດ້ມາຈາກ HPLIP ແລະ ອີກວິທີໜຶ່ງແມ່ນຖ້າແມ່ນມາຈາກ HPLIP. ພວກມັນແຕກຕ່າງກັນໃນຕົວເລືອກ filter ຂອງ journald - ຖ້າທ່ານໃຊ້ຄິວທີ່ບໍ່ແມ່ນ HPLIP ສຳລັບການ debug, ມັນກໍເປັນການດີທີ່ຈະເກັບກຳບັນທຶກຈາກ cups systemd unit (ໂດຍໃຊ້ '-u cups'), ເພາະວ່າຂໍ້ຄວາມຜິດພາດທັງໝົດຈະຖືກປ່ຽນທິດທາງໄປຫາ cups systemd unit logging ຢ່າງຖືກຕ້ອງ ແລະ ສາມາດເຂົ້າເຖິງໄດ້ໃນ output ຫຼັງຈາກການກອງ unit. ສ່ວນ library ຂອງ HPLIP ບໍ່ໄດ້ຖືກອອກແບບມາໃຫ້ເຮັດແບບດຽວກັນ (ທາງຕົ້ນນ້ຳບໍ່ຕອບສະໜອງຕໍ່ການຮັບເອົາການແກ້ໄຂເຂົ້າໃນໂຄງການ ແລະ ບັນຫາກໍບໍ່ໄດ້ຮ້າຍແຮງພໍທີ່ຈະຕ້ອງໃຊ້ downstream patch ຕະຫຼອດໄປ), ດັ່ງນັ້ນຂໍ້ຄວາມຂອງພວກມັນຈຶ່ງບໍ່ໄດ້ຖືກໝາຍໄວ້ສຳລັບ cups systemd unit ແລະ ພວກມັນຈະຖືກກອງອອກຫຼັງຈາກເອີ້ນ journald ດ້ວຍ '-u cups'. ສຳລັບຄິວດັ່ງກ່າວ, ຈຳເປັນຕ້ອງໃຊ້ບັນທຶກ journald ແບບບໍ່ມີການກອງ.
|
ບັນທຶກ journald ທີ່ກ່ຽວຂ້ອງກັບເຫດການແບບບໍ່ມີການກອງແມ່ນຈຳເປັນສະເພາະສຳລັບຄິວການພິມ HPLIP (device uri ຂອງພວກມັນເລີ່ມຕົ້ນດ້ວຍ hp://) ແລະ ບໍ່ແນະນຳໃຫ້ໃຊ້ສຳລັບຄິວອື່ນໆ ເພາະມັນອາດຈະອ່ານຍາກໃນກໍລະນີທີ່ມີຂໍ້ມູນຫຼາຍ. ກະລຸນາແນບບັນທຶກ journald ທີ່ກ່ຽວຂ້ອງກັບເຫດການເມື່ອຈຳເປັນເທົ່ານັ້ນ. |
ສະຖານທີ່ເກັບບັນທຶກ CUPS
ໂດຍຄ່າເລີ່ມຕົ້ນ ບັນທຶກ CUPS ຈະຢູ່ໃນ system journal, ແຕ່ສາມາດຕັ້ງຄ່າການບັນທຶກລົງໃນໄຟລ໌ໄດ້ໃນ /etc/cups/cups-files.conf ດ້ວຍຄຳສັ່ງ ErrorLog. ຖ້າທ່ານຕ້ອງການປ່ຽນການຕັ້ງຄ່າເລີ່ມຕົ້ນ, ຊື່ຂອງໄຟລ໌ບັນທຶກຈະເປັນແນວໃດກໍໄດ້, ແຕ່ແນະນຳໃຫ້ເກັບໄຟລ໌ໄວ້ໃນເສັ້ນທາງ /var/log/cups, ຖ້າບໍ່ດັ່ງນັ້ນ SELinux ຈະປິດກັ້ນບໍ່ໃຫ້ cupsd ເຂົ້າເຖິງມັນໄດ້.
ການຕັ້ງຄ່າການບັນທຶກລົງໃນໄຟລ໌ມີຂໍ້ເສຍດັ່ງນີ້ (ຖ້າບໍ່ມີການຈັດການເພີ່ມເຕີມ):
-
ບໍ່ສາມາດດຶງເອົາສະເພາະບັນທຶກທີ່ກ່ຽວຂ້ອງກັບວຽກໃດໜຶ່ງໄດ້ ໂດຍບໍ່ຕ້ອງໃຊ້ຫຼາຍຄຳສັ່ງຕໍ່ກັນ
-
ບໍ່ສາມາດດຶງເອົາບັນທຶກຕາມຊ່ວງເວລາທີ່ກຳນົດໄດ້ ໂດຍບໍ່ຕ້ອງໃຊ້ຫຼາຍຄຳສັ່ງຕໍ່ກັນ
ສຳລັບການເກັບບັນທຶກທີ່ກ່ຽວຂ້ອງກັບເຫດການ ສາມາດໃຊ້ tail -f ໄດ້ ເຊັ່ນ:
$ tail -f /var/log/cups/error_log
ເປີດໃຊ້ງານການບັນທຶກ debug ຂອງ CUPS
ເປີດໃຊ້ງານຂໍ້ມູນການແກ້ໄຂຈຸດບົກພ່ອງແບບເຕັມຮູບແບບດ້ວຍ:
$ cupsctl LogLevel=debug2
ບັນທຶກວຽກຂອງ CUPS
|
ຖ້າບັນຫາເກີດຂຶ້ນເມື່ອທ່ານສົ່ງເອກະສານໄປພິມ ຫຼື ໃນຂະນະທີ່ພະຍາຍາມຈະພິມ, ໃຫ້ເກັບບັນທຶກສຳລັບວຽກນີ້. ຖ້າມີບັນທຶກຂອງວຽກ (job log), ການແນບມັນແມ່ນ ຈຳເປັນຢ່າງຍິ່ງ. |
ກຽມ CUPS ສຳລັບການບັນທຶກວຽກ
ເພື່ອໃຫ້ສາມາດເບິ່ງບັນທຶກຂອງວຽກສະເພາະໃດໜຶ່ງໄດ້, ກະລຸນາເປີດ:
PreserveJobFiles Yes
ໃນໄຟລ໌ /etc/cups/cupsd.conf ຂອງທ່ານ ແລະ ເລີ່ມຕົ້ນບໍລິການ cups ໃໝ່. ຢ່າລືມລຶບບັນທັດນີ້ອອກຫຼັງຈາກທີ່ທ່ານແກ້ໄຂບັນຫາສຳເລັດແລ້ວ. lpstat -W all ອາດຈະສະແດງເປັນຄ່າວ່າງຫຼັງຈາກການພິມ ຖ້າທ່ານບໍ່ໄດ້ເປີດໃຊ້ງານຄຳສັ່ງນີ້.
ດຶງຂໍ້ມູນບັນທຶກວຽກສຳລັບ Job ID ສະເພາະ
ເພື່ອເກັບບັນທຶກວຽກ ທ່ານຈຳເປັນຕ້ອງຮູ້ Job ID (JID) ຂອງວຽກນັ້ນ - ມັນຄືຕົວເລກທີ່ຢູ່ຫຼັງເຄື່ອງໝາຍຂີດໃນ request ID:
Request ID ຈະມີລັກສະນະແບບນີ້:
<print_queue_name>-<JID>
ແລະ ສາມາດເຫັນໄດ້ໃນ terminal ຖ້າທ່ານສົ່ງເອກະສານໄປພິມດ້ວຍຄຳສັ່ງ lp:
$ lp -d <print_queue_name> <file1> ... <fileN>
request id is <print_queue_name>-<JID> (N file(s))
ຫຼື ເມື່ອທ່ານສະແດງລາຍຊື່ວຽກ (ເບິ່ງ man lpstat) - ວຽກຫຼ້າສຸດຈະຢູ່ທ້າຍສຸດ:
$ lpstat -W all
...
<print_queue_name>-<JID> <user> 1024 Wed 11 Jan 2017 05:52:19 PM CET
ທ່ານສາມາດດຶງບັນທຶກວຽກຫຼ້າສຸດໄດ້ໂດຍອັດຕະໂນມັດ (ຖ້າທ່ານໄດ້ຕິດຕັ້ງ awk ແລະ lpstat -W all ສົ່ງຄ່າວຽກອອກມາ) ດ້ວຍ:
$ journalctl -u cups JID=`lpstat -W all | awk '{print $1}' | awk -F '-' '{print $NF}' | tail -n 1` > cups_job_log
ຫຼື ດ້ວຍຕົນເອງ, ຖ້າທ່ານຮູ້ JID ແລ້ວ:
$ journalctl -u cups JID=<JID> > cups_job_log
ບັນທຶກ cupsd ທີ່ກ່ຽວຂ້ອງກັບເຫດການ (ກໍລະນີຄິວການພິມທີ່ບໍ່ຮອງຮັບ HPLIP)
ບາງຄັ້ງພວກເຮົາບໍ່ສາມາດລະບຸຄວາມຜິດພາດກັບວຽກພິມສະເພາະໃດໜຶ່ງໄດ້, ດັ່ງນັ້ນບັນທຶກວຽກຈຶ່ງບໍ່ມີປະສິດທິພາບ. ໃນກໍລະນີນັ້ນຈຳເປັນຕ້ອງໃຊ້ບັນທຶກ cupsd ທີ່ກ່ຽວຂ້ອງກັບເຫດການ.
ບັນທຶກ cupsd ທີ່ກ່ຽວຂ້ອງກັບເຫດການ (ກໍລະນີຄິວການພິມທີ່ຮອງຮັບ HPLIP)
ໜ້າເສຍດາຍທີ່ library ຂອງ HPLIP ບໍ່ໄດ້ບັນທຶກລົງໃນ CUPS unit ໃນ journal, ດັ່ງນັ້ນຖ້າຄິວການພິມຂອງທ່ານຖືກຕິດຕັ້ງດ້ວຍໄດເວີ HPLIP (device uri ຂອງມັນເລີ່ມຕົ້ນດ້ວຍ hp://), ພວກເຮົາຈຳເປັນຕ້ອງໃຊ້ບັນທຶກ journal ທີ່ກ່ຽວຂ້ອງກັບເຫດການ.
ການປິດການບັນທຶກ debug
ກະລຸນາແນບ cups_job_log ສຳລັບວຽກທີ່ມີບັນຫາ, cups_whole_log ຫຼື journal_log ຖ້າທ່ານໄດ້ເກັບບັນທຶກ cupsd ທັງໝົດໃນລະຫວ່າງທີ່ເກີດບັນຫາ ໄປຫາລາຍງານ bug.
ຈາກນັ້ນ, ເພື່ອປິດຂໍ້ມູນການແກ້ໄຂຈຸດບົກພ່ອງ, ໃຫ້ເຮັດດັ່ງນີ້:
$ sudo sed -i 's,LogLevel debug2,LogLevel warn,' /etc/cups/cupsd.conf
$ sudo systemctl restart cups
ການບັນທຶກ cups-browsed
daemon cups-browsed ຖືກນຳມາໃຊ້ໃນ Fedora ປະມານເວີຊັນ cups-1.5. ມັນສາມາດຄົ້ນຫາການຖ່າຍທອດ (broadcasts) ຂອງ Bonjour, CUPS (ເລີກໃຊ້ແລ້ວ) ແລະ LDAP servers ເພື່ອຊອກຫາເຄື່ອງພິມ ແລະ ສ້າງ ຫຼື ລຶບຄິວທ້ອງຖິ່ນທີ່ຊີ້ໄປຫາເຄື່ອງພິມເຫຼົ່ານັ້ນ. ມັນສາມາດສ້າງການຖ່າຍທອດຂອງຄິວ CUPS ທ້ອງຖິ່ນໄດ້, ແຕ່ມັນຖືກໝາຍວ່າເລີກໃຊ້ແລ້ວ.
ສຳລັບການຕັ້ງຄ່າການບັນທຶກ debug, ທ່ານຈຳເປັນຕ້ອງເພີ່ມ:
DebugLogging stderr
ລົງໃນ /etc/cups/cups-browsed.conf.
ບັນທຶກຈະມີໃຫ້ເບິ່ງໃນ system journal ຫຼັງຈາກເລີ່ມຕົ້ນ cups-browsed ໃໝ່.
ການບັນທຶກ debug ຂອງ HPLIP scripts
Python scripts ຈາກ HPLIP (ເຊັ່ນ: hp-setup, hp-clean, hp-scan) ມີການປ່ຽນທິດທາງການບັນທຶກ debug ໄປຫາ standard error file descriptor, ດັ່ງນັ້ນພວກມັນຈຶ່ງບໍ່ໄດ້ຖືກບັນທຶກໃນ journal. ເພື່ອດຶງຂໍ້ມູນການບັນທຶກ debug ຂອງພວກມັນ, ໃຫ້ລັນ script ດ້ວຍພາລາມິເຕີ -ldebug ເຊັ່ນ:
$ hp-setup -ldebug -i
ແລະ ເຮັດໃຫ້ເກີດບັນຫາຄືນໃໝ່. ຈາກນັ້ນກັອບປີ້ຂໍ້ຄວາມຈາກ terminal ລົງໃນ hp_script_log. ກະລຸນາແນບໄຟລ໌ດັ່ງກ່າວລົງໃນ bugzilla ticket ນຳ.
ຍີ່ຫໍ້ ແລະ ລຸ້ນຂອງເຄື່ອງພິມຂອງຂ້ອຍແມ່ນຫຍັງ?
ເຄື່ອງພິມແຕ່ລະລຸ້ນຈະມີ Device ID ສະເພາະຂອງຕົນເອງ. ທ່ານສາມາດກວດສອບໄດ້ດ້ວຍຄຳສັ່ງ lpinfo:
$ sudo lpinfo -l -v
ຄຳສັ່ງນີ້ຈະລັນ backend ແຕ່ລະໂຕໃນໂໝດຄົ້ນຫາ (discovery), ເພື່ອໃຫ້ພວກມັນລາຍງານອຸປະກອນທີ່ສາມາດກວດພົບໄດ້ໂດຍອັດຕະໂນມັດ. ມັນຈະສະແດງຜົນອອກມາເປັນຊຸດຂອງບລັອກຂໍ້ຄວາມດັ່ງນີ້:
Device: uri = usb://HP/DESKJET%20990C?serial=U123456789AB
class = direct
info = HP DESKJET 990C
make-and-model = HP DESKJET 990C
device-id = MFG:HEWLETT-PACKARD;MDL:DESKJET 990C;CMD:MLC,PCL,PML;CLS:PRI
NTER;DES:Hewlett-Packard DeskJet 990C;SN:U123456789AB;S:00808880800010032C100000
0C2000000;P:0800,FL,B0;J: ;
location =
ບັນທັດທີ່ລະບຸປະເພດລຸ້ນສະເພາະນີ້ຄືບັນທັດຍາວໆທີ່ເລີ່ມຕົ້ນດ້ວຍ "device-id =" (ທີ່ສະແດງຢູ່ນີ້ແມ່ນແບ່ງອອກເປັນສາມບັນທັດ).
ໝາຍເຫດ: ຖ້າເຄື່ອງພິມຂອງທ່ານບໍ່ສາມາດກວດພົບໄດ້ໂດຍອັດຕະໂນມັດ, ທ່ານຍັງສາມາດຫາ Device ID ໄດ້ໂດຍການລັນ backend ທີ່ກ່ຽວຂ້ອງພ້ອມກັບລະບຸ hostname ຂອງເຄື່ອງພິມເປັນ argument. ໂດຍທີ່ backend ປະເພດ usb, parallel, snmp, ແລະ dnssd ທັງໝົດຈະພະຍາຍາມລາຍງານ Device ID ຕົວຈິງທີ່ສົ່ງມາຈາກເຄື່ອງພິມ.
$ /usr/lib/cups/backend/snmp 10.34.18.3
network socket://10.34.18.3 "HP Color LaserJet CP2025dn" "HP Color LaserJet CP2025dn"
"MFG:Hewlett-Packard;CMD:PJL,PML,PCLXL,POSTSCRIPT,PCL;MDL:HP Color LaserJet CP2025dn;
CLS:PRINTER;DES:Hewlett-Packard Color LaserJet CP2025dn;MEM:MEM=55MB;COMMENT:RES=600x8;" "HP Color LaserJet CP2025dn"
ໃນກໍລະນີນີ້ Device ID ແມ່ນ (ເບິ່ງ backend(7)) ຟິວທີສອງນັບຈາກທ້າຍສຸດ.
ມີຄິວການພິມໃດແດ່ທີ່ຂ້ອຍສາມາດໃຊ້ໄດ້?
ຄິວໃນເຄື່ອງຂອງທ່ານອາດເປັນແບບຖາວອນ ຫຼື ຊົ່ວຄາວ. CUPS ສາມາດສະແດງລາຍຊື່ຄິວການພິມທັງໝົດທີ່ມີຢູ່ໃນເຄືອຂ່າຍທ້ອງຖິ່ນ (ທັງແບບຖາວອນ ແລະ ຊົ່ວຄາວ) ດ້ວຍ:
$ lpstat -e
ສຳລັບຄິວແບບຖາວອນ ທ່ານສາມາດເບິ່ງຂໍ້ມູນເພີ່ມເຕີມໄດ້ດ້ວຍ:
$ lpstat -t
ຂ້ອຍກຳລັງໃຊ້ໄດເວີໂຕໃດ?
ໄຟລ໌ PPD ສຳລັບຄິວເຄື່ອງພິມສາມາດບອກທ່ານໄດ້ວ່າໄດເວີໂຕໃດກຳລັງຖືກໃຊ້ງານ. ທ່ານສາມາດໃຊ້ຄຳສັ່ງນີ້ເພື່ອຊອກຫາໄດເວີທີ່ກຳລັງໃຊ້ຢູ່:
$ grep -H '^*NickName:' /etc/cups/ppd/*.ppd
ທ່ານຍັງສາມາດກວດສອບໄດ້ໂດຍໃຊ້ແອັບພລິເຄຊັນ system-config-printer. ໂດຍດັບເບິນຄລິກທີ່ໄອຄອນຂອງຄິວ ແລະ ເບິ່ງທີ່ຟິວ Make and Model.
ເພື່ອເບິ່ງໄດເວີທີ່ມີໃຫ້ໃຊ້, ໃຫ້ຄລິກທີ່ປຸ່ມ Change… ຖັດຈາກຟິວນັ້ນ. ທ່ານອາດຈະລອງໃຊ້ໄດເວີອື່ນເພື່ອເບິ່ງວ່າບັນຫາເດີມຍັງເກີດຂຶ້ນຢູ່ຫຼືບໍ່.
ລຸ້ນທີ່ບໍ່ໃຊ້ໄດເວີ (Driverless)
ເຄື່ອງພິມສ່ວນໃຫຍ່ທີ່ວາງຈຳໜ່າຍຕັ້ງແຕ່ປີ 2010 ແມ່ນຮອງຮັບ AirPrint ຫຼື IPP Everywhere, ເຊິ່ງໝາຍຄວາມວ່າພວກມັນບໍ່ຈຳເປັນຕ້ອງຕິດຕັ້ງໄດເວີກໍສາມາດເຮັດວຽກໄດ້ - ໂດຍ Avahi ຈະຄົ້ນຫາອຸປະກອນ ແລະ ສື່ສານຄວາມສາມາດໃນການພິມຜ່ານໂປຣໂຕຄໍ IPP - ເຊິ່ງເອີ້ນວ່າອຸປະກອນແບບ driverless. ໃນ Fedora ມີສອງວິທີທີ່ຮອງຮັບ IPP everywhere:
-
ລຸ້ນ CUPS 'everywhere'
-
ໄດເວີ 'driverless' ຂອງ cups-filters
ລຸ້ນ CUPS 'everywhere'
ນີ້ແມ່ນການນຳໃຊ້ງານມາດຕະຖານ IPP everywhere ຂອງ CUPS, ເຊິ່ງມີໃຫ້ໃຊ້ໃນຮູບແບບລຸ້ນເຄື່ອງພິມພິເສດ. ລຸ້ນນີ້ຈະຖືກໃຊ້ເມື່ອທ່ານໃຊ້ຄິວຊົ່ວຄາວຂອງ CUPS ສຳລັບອຸປະກອນຂອງທ່ານ ຫຼື ຖ້າທ່ານຕິດຕັ້ງອຸປະກອນດ້ວຍລຸ້ນ IPP Everywhere ໃນ CUPS web ui ຫຼື ຜ່ານ lpadmin (ໂດຍໃຊ້ -m everywhere).
ເນື່ອງຈາກໄຟລ໌ PPD ທີ່ຖືກສ້າງຂຶ້ນນັ້ນຂຶ້ນກັບການສື່ສານ IPP ກັບເຄື່ອງພິມ, ພວກເຮົາຈຳເປັນຕ້ອງມີຂໍ້ມູນທີ່ເກັບມາຈາກອຸປະກອນ. ທ່ານສາມາດໃຊ້ ipptool ສຳລັບການນີ້ໄດ້:
$ ipptool --ippserver ipptool.attr <your_printer_device_uri> get-printer-attributes.test
ແນບໄຟລ໌ ipptool.attr ທີ່ສ້າງຂຶ້ນລົງໃນ bugzilla ticket ຖ້າຈຳເປັນ.
ໄດເວີ 'driverless' ຂອງ cups-filters
ໄດເວີພິເສດຂອງ Cups-filters ທີ່ໃຊ້ສຳລັບສ້າງ PPD ຕາມມາດຕະຖານ IPP Everywhere. ໄດເວີນີ້ຈະຖືກໃຊ້ຖ້າທ່ານເລືອກລຸ້ນ driverless ໃນລະຫວ່າງການຕິດຕັ້ງເຄື່ອງພິມ.
ພວກເຮົາຕ້ອງການຜົນລັນ (output) ຂອງຄຳຮ້ອງ get-printer-attributes ຄືກັນ:
$ ipptool --ippserver ipptool.attr <your_printer_device_uri> get-printer-attributes.test
ແລະ ບັນທຶກ debug ຈາກຕົວໄດເວີເອງເມື່ອມັນສ້າງ PPD ສຳລັບອຸປະກອນຂອງທ່ານ:
$ driverless -d cat <ipp_device_uri> 2> driverless_debug > created_ppd
ແນບໄຟລ໌ທີ່ສ້າງຂຶ້ນທັງໝົດລົງໃນ bugzilla ticket ຖ້າຈຳເປັນ.
ການຄົ້ນຫາວ່າບັນຫາຢູ່ໃສ
ເມື່ອວຽກພິມຖືກປະມວນຜົນ, ມັນຈະຖືກສົ່ງຜ່ານຊຸດຂອງ filters ເພື່ອແປງໄຟລ໌ໃຫ້ເປັນຮູບແບບທີ່ເຄື່ອງພິມເຂົ້າໃຈ, ແລະ ສຸດທ້າຍກໍຈະຖືກສົ່ງໄປຫາ backend ເຊິ່ງເປັນໂປຣແກຣມທີ່ນຳສົ່ງຂໍ້ມູນໄປຫາເຄື່ອງພິມ. ໂດຍການປ່ຽນວິທີການພິມເລັກນ້ອຍ, ທ່ານສາມາດລອງໃຊ້ເສັ້ນທາງການພິມທີ່ແຕກຕ່າງກັນເພື່ອເບິ່ງວ່າມັນມີຜົນຫຍັງບໍ່. ຖ້າວິທີນັ້ນສາມາດແກ້ໄຂບັນຫາໄດ້ຊົ່ວຄາວ, ທ່ານກໍຈະຮູ້ວ່າບັນຫາຢູ່ໃນສ່ວນໃດ — ໃຫ້ລະບຸຂໍ້ມູນນັ້ນໃນລາຍງານ bug ເພື່ອໃຫ້ພວກເຮົາສາມາດແກ້ໄຂມັນໄດ້.
ແອັບພລິເຄຊັນ
ລອງພິມຈາກແອັບພລິເຄຊັນອື່ນເພື່ອເບິ່ງວ່າບັນຫາຫາຍໄປຫຼືບໍ່ ຫຼື ມັນເກີດຂຶ້ນບໍ່ວ່າຈະພິມໄຟລ໌ດ້ວຍວິທີໃດກໍຕາມ. ລອງພິມເອກະສານຈາກ command line ໂດຍໃຊ້ຄຳສັ່ງ lp.
ຮູບແບບເອກະສານ
ຖ້າທ່ານມີບັນຫາໃນການພິມໄຟລ໌ PDF, ໃຫ້ລອງພິມໄຟລ໌ປະເພດອື່ນເພື່ອເບິ່ງວ່າບັນຫາເກີດຂຶ້ນກັບທຸກຢ່າງ ຫຼື ສະເພາະແຕ່ໄຟລ໌ PDF ເທົ່ານັ້ນ. ລອງແປງໄຟລ໌ເປັນຮູບແບບອື່ນແລ້ວລອງພິມໃໝ່.
ຖ້າບັນຫາແມ່ນການພິມໄຟລ໌ຂໍ້ຄວາມ (text files), ໃຫ້ລອງຖອນການຕິດຕັ້ງ ຫຼື ຕິດຕັ້ງແພັກເກດ paps ຄືນໃໝ່. ແພັກເກດນີ້ມີ filter ແປງຂໍ້ຄວາມເປັນ PostScript ທາງເລືອກອື່ນນອກເໜືອຈາກໂຕທີ່ມາພ້ອມກັບ CUPS.
ເພື່ອທົບທວນເອກະສານທີ່ຖືກສົ່ງໄປຫາ CUPS ເພື່ອພິມ, ໃຫ້ເປີດໃຊ້ງານຕົວເລືອກ PreserveJobFiles ດັ່ງນີ້:
cupsctl PreserveJobFiles=yes
ເອກະສານວຽກທີ່ສົ່ງໄປຈະຍັງຄົງຢູ່ໃນ /var/spool/cups. ໂດຍຈະມີໄຟລ໌ທີ່ມີຊື່ສອງແບບຄື - dXXXXX-YYY ແລະ cXXXXX. ໄຟລ໌ dXXXXX-YYY ແມ່ນໄຟລ໌ທີ່ສົ່ງເຂົ້າລະບົບ CUPS ແບບທີ່ຍັງບໍ່ຜ່ານ filter - ໂດຍ XXXXX ແມ່ນ Job ID ເຊິ່ງຈະຕື່ມເລກສູນໃຫ້ຄົບ 5 ຕົວອັກສອນ, ແລະ YYY ແມ່ນລຳດັບຂອງໄຟລ໌ໃນວຽກນັ້ນ. ສ່ວນ cXXXXX ແມ່ນໄຟລ໌ທີ່ເກັບຕົວເລືອກການພິມສຳລັບວຽກນັ້ນ. ກະລຸນາແນບໄຟລ໌ dXXXXX-YYY ໄປກັບ bug ເມື່ອທ່ານພົບບັນຫາ.
ການລັນ filters ດ້ວຍຕົນເອງ
ຜູ້ໃຊ້ລະດັບສູງອາດຈະຢາກລອງລັນ CUPS filters ດ້ວຍຕົນເອງ ແລະ ກວດສອບໄຟລ໌ຂໍ້ມູນໃນແຕ່ລະຂັ້ນຕອນທີ່ມີການແປງຮູບແບບ. ນີ້ແມ່ນຕົວຢ່າງການເຮັດແບບນີ້ສຳລັບຄິວ gutenprint ທີ່ຊື່ວ່າ pqueue ດ້ວຍ CUPS test page ເຊິ່ງມີ MIME type ພິເສດຄື application/vnd.cups-banner:
ທຳອິດທ່ານຕ້ອງຮູ້ filter pipeline ສຳລັບ application/vnd.cups-banner → printer/pqueue (output MIME type). ທ່ານສາມາດ [ເປີດໃຊ້ການ debug], ພິມໜ້າທົດສອບ, ເບິ່ງ [ບັນທຶກວຽກ CUPS] ແລະ ໃນ cups_job_log ທ່ານຈະເຫັນບາງຢ່າງທີ່ຄ້າຍຄືກັບ:
envp[29]="FINAL_CONTENT_TYPE=printer/pqueue"
Started filter /usr/lib/cups/filter/bannertopdf (PID 1111)
Started filter /usr/lib/cups/filter/pdftopdf (PID 1112)
Started filter /usr/lib/cups/filter/gstoraster (PID 1113)
Started filter /usr/lib/cups/filter/rastertogutenprint.5.2 (PID 1114)
ຫຼື ລັນຄຳສັ່ງ
$ /usr/lib/cups/filter/bannertopdf 1 me '' 1 '' </usr/share/cups/data/testprint >bannertopdf.pdf
$ cupsfilter -e -m printer/pqueue -p /etc/cups/ppd/pqueue.ppd bannertopdf.pdf > /dev/null
ແລະ ທ່ານຈະເຫັນ:
INFO: pdftopdf (PID 1111) started.
INFO: gstoraster (PID 1112) started.
INFO: rastertogutenprint.5.2 (PID 1113) started.
|
filter pipeline ນີ້ແມ່ນມາຈາກ cups-1.6. ໃນ cups ທີ່ຕໍ່າກວ່າ 1.6 ທ່ານອາດຈະເຫັນ bannertops → pstops → pstoraster ແທນ. |
ຕອນນີ້ທ່ານສາມາດລັນ filters ດ້ວຍຕົນເອງໄດ້:
$ export PPD=/etc/cups/ppd/pqueue.ppd
$ /usr/lib/cups/filter/bannertopdf 1 me '' 1 '' </usr/share/cups/data/testprint >bannertopdf.pdf
$ /usr/lib/cups/filter/pdftopdf 1 me '' 1 '' <bannertopdf.pdf >pdftopdf.pdf
$ /usr/lib/cups/filter/pdftoraster 1 me '' 1 ''<pdftopdf.pdf >out.ras
$ /usr/lib/cups/filter/rastertogutenprint.5.2 1 me '' 1 ''<out.ras >out.prn
ໃນທີ່ນີ້, ສາມາດໃຊ້ evince ຫຼື okular ເພື່ອກວດສອບ output ຫຼັງຈາກຜ່ານສອງ filter ທຳອິດ, ໃຊ້ rasterview ເພື່ອກວດສອບ output ຂອງ filter ທີສາມ, ແລະ output ຂອງ filter ສຸດທ້າຍຕ້ອງຖືກກວດສອບດ້ວຍຕົນເອງ ຫຼື ສົ່ງໄປເຄື່ອງພິມໂດຍກົງ (lpr -oraw out.prn).
ໄດເວີ
ຖ້າທ່ານສາມາດເຂົ້າເຖິງເຄື່ອງພິມຍີ່ຫໍ້ ຫຼື ລຸ້ນອື່ນ, ມັນອາດຈະຄຸ້ມຄ່າທີ່ຈະລອງເບິ່ງວ່າບັນຫາເກີດຂຶ້ນກັບທັງສອງເຄື່ອງ ຫຼື ສະເພາະເຄື່ອງໃດເຄື່ອງໜຶ່ງ. ນີ້ສາມາດບົ່ງບອກໄດ້ວ່າມັນເປັນບັນຫາກັບໄດເວີສະເພາະ ຫຼື ເປັນບັນຫາທົ່ວໄປ.
ເຖິງແມ່ນວ່າທ່ານຈະເຂົ້າເຖິງເຄື່ອງພິມໄດ້ພຽງເຄື່ອງດຽວ, ແຕ່ປົກກະຕິແລ້ວກໍມັກຈະມີໄດເວີຫຼາຍໂຕໃຫ້ເລືອກໃຊ້ສຳລັບເຄື່ອງພິມລຸ້ນນັ້ນ, ແລະ ການລອງໃຊ້ແຕ່ລະໂຕກໍເປັນປະໂຫຍດໃນການຈຳກັດຂອບເຂດບັນຫາ. ເບິ່ງ [ຂ້າງເທິງ] ສຳລັບວິທີການເຮັດ.
Foomatic
ສຳລັບໄດເວີ Foomatic ທ່ານສາມາດລອງເປີດໃຊ້ການ debug ຂອງ Foomatic ໄດ້ໂດຍການແກ້ໄຂໄຟລ໌ /etc/foomatic/filter.conf ແລະ ເພີ່ມບັນທັດນີ້:
debug: 1
ໃນຄັ້ງຕໍ່ໄປທີ່ທ່ານພິມວຽກໄປຫາຄິວທີ່ໃຊ້ foomatic, ຂໍ້ມູນການ debug ຈະຖືກເກັບໄວ້ໃນ /tmp/foomatic-rip.log, ແລະ ໄຟລ໌ input ທີ່ foomatic-rip ໄດ້ຮັບຈະຢູ່ໃນ /tmp/foomatic-rip.ps.
Backend (ການນຳສົ່ງວຽກ)
ທ່ານອາດຈະລອງໃຊ້ backend ອື່ນໄດ້. ໂດຍໃຊ້ system-config-printer, ດັບເບິນຄລິກທີ່ໄອຄອນຄິວເຄື່ອງພິມ ແລະ ຄລິກປຸ່ມ Change… ຖັດຈາກຟິວ Device URI. ທ່ານອາດຈະເຫັນລູກສອນຂະຫຍາຍ Connection ຢູ່ໃກ້ກັບມຸມຂວາລຸ່ມຂອງປ່ອງຢ້ຽມ — ໃຫ້ຄລິກໃສ່ມັນເພື່ອເບິ່ງວ່າ backend ໃດແດ່ທີ່ມີໃຫ້ໃຊ້. ສຳລັບເຄື່ອງພິມ HP ທີ່ເຊື່ອມຕໍ່ດ້ວຍ USB, ໂດຍປົກກະຕິແລ້ວສາມາດໃຊ້ໄດ້ທັງ backend hp ແລະ usb.
ສຳລັບການເກັບຂໍ້ມູນການສື່ສານ USB:
-
ກວດສອບໝາຍເລກ bus ທີ່ອຸປະກອນ USB ເຊື່ອມຕໍ່ຢູ່, ຕົວຢ່າງ:
$ lsusb
Bus 002 Device 010: ID 03f0:012a HP, Inc HP LaserJet M1536dnf MFP
=
-
ເລີ່ມການເກັບແພັກເກັດ USB:
$ sudo tcpdump -i usbmonN -s0 -w usb.pcap
ໂດຍທີ່ N ແມ່ນໝາຍເລກ bus.
ສຳລັບເຄື່ອງພິມເຄືອຂ່າຍ ທ່ານອາດຈະມີໂປຣໂຕຄໍອື່ນໆໃຫ້ລອງໃຊ້.
-
socket ແມ່ນສຳລັບ HP JetDirect (ປົກກະຕິແມ່ນພອດ 9100)
-
lpd ແມ່ນສຳລັບການແຊຣ໌ການພິມ UNIX ແບບເກົ່າ
-
smb ແມ່ນສຳລັບການແຊຣ໌ CIFS ຈາກລະບົບ Windows
-
ipp ແມ່ນສຳລັບອຸປະກອນທີ່ຮອງຮັບ Internet Printing Protocol ແລະ ສຳລັບ CUPS servers ອື່ນໆນຳ — ທ່ານສາມາດເກັບຂໍ້ມູນ IPP traffic ດ້ວຍ
tcpdumpດັ່ງນີ້ (ຊື່ interface ອາດຈະແຕກຕ່າງຈາກ p4p1):
$ tcpdump -n -i p4p1 -U -s0 -w ipp.pcap port ipp
-
bjnp ແມ່ນສຳລັບໂປຣໂຕຄໍເຄືອຂ່າຍ bjnp ສະເພາະຂອງ Canon (ປົກກະຕິແມ່ນພອດ 8611)
ເຄື່ອງມືການຕັ້ງຄ່າ
ຖ້າບັນຫາຂອງທ່ານກ່ຽວຂ້ອງກັບການຕັ້ງຄ່າຄິວການພິມ, ໃຫ້ລອງໃຊ້ວິທີອື່ນທີ່ມີຢູ່. ເຊິ່ງມີ 4 ວິທີດັ່ງນີ້:
-
ແອັບພລິເຄຊັນ GNOME 3 System Settings (control-center), System Settings > Printers ຈາກ GNOME Shell
-
system-config-printer, System > Administration > Printing ຈາກເມນູ GNOME -
ເວັບອິນເຕີເຟດຂອງ CUPS ທີ່ http://localhost:631/
-
ເຄື່ອງມື command line ເຊັ່ນ:
lpadmin,lpoptions,cupsctl,cupsaccept,cupsenableແລະ ອື່ນໆ.
ເລື່ອງລາວຈາກຜູ້ໃຊ້ (User stories)
ມີເລື່ອງລາວຈາກຜູ້ໃຊ້ທົ່ວໄປຫຼາຍຢ່າງໃນການແກ້ໄຂບັນຫາການພິມ. ຂ້ອຍຈະກ່າວເຖິງບາງຢ່າງພ້ອມກັບຂັ້ນຕອນວິທີການດຶງເອົາຂໍ້ມູນທີ່ຈຳເປັນ.
ຂ້ອຍມີເຄື່ອງພິມ HP ແລະ ມີບັນຫາກັບ HPLIP script
ກະລຸນາປະຕິບັດຕາມຂັ້ນຕອນໃນພາກສ່ວນຕໍ່ໄປນີ້:
-
ແນບໄຟລ໌ລົງໃນ bugzilla ticket ແລະ ປິດການບັນທຶກ debug
-
ລະບຸຊື່ລຸ້ນເຄື່ອງພິມ ແລະ ແນບໄຟລ໌ PPD ຈາກ
/etc/cups/ppd/
ຂ້ອຍມີເຄື່ອງພິມ HP, ຕິດຕັ້ງດ້ວຍ HPLIP ແລະ ພົບບັນຫາໃນການໃຊ້ງານ
ຄິວການພິມທີ່ຕິດຕັ້ງດ້ວຍ HPLIP ຈະມີ device uri ທີ່ເລີ່ມຕົ້ນດ້ວຍ hp://.
ກະລຸນາປະຕິບັດຕາມຂັ້ນຕອນໃນພາກສ່ວນຕໍ່ໄປນີ້:
-
ເຮັດໃຫ້ເກີດບັນຫາຄືນໃໝ່
-
ແນບໄຟລ໌ຜົນລັນຂອງຄຳສັ່ງ
lsusb -vແລະ ຂໍ້ມູນຈາກ/var/log/ipp-usbຖ້າອຸປະກອນເຊື່ອມຕໍ່ຜ່ານ USB -
ແນບໄຟລ໌ລົງໃນ bugzilla ticket ແລະ ປິດການບັນທຶກ debug
-
ລະບຸຊື່ລຸ້ນເຄື່ອງພິມ ແລະ ແນບໄຟລ໌ PPD ຈາກ
/etc/cups/ppd/
ເຄື່ອງພິມຂອງຂ້ອຍພິມບໍ່ຖືກຕ້ອງ ຫຼື ພິມບໍ່ໄດ້ເລີຍ, ແຕ່ຂ້ອຍຍັງເຫັນເຄື່ອງພິມໃນ print dialog
ກະລຸນາປະຕິບັດຕາມຂັ້ນຕອນໃນພາກສ່ວນຕໍ່ໄປນີ້:
-
ເຮັດໃຫ້ເກີດບັນຫາຄືນໃໝ່ - ໂດຍການພິມເອກະສານທີ່ພົບບັນຫາ ໄປຫາຄິວການພິມທີ່ມີບັນຫາ
-
ແນບໄຟລ໌ທີ່ສ້າງຂຶ້ນລົງໃນ ticket ແລະ ປິດການບັນທຶກ debug
-
ແນບໄຟລ໌ PPD ຂອງເຄື່ອງພິມຈາກ
/etc/cups/ppd/ຖ້າມີ -
ແນບໄຟລ໌ທີ່ທ່ານຕ້ອງການພິມ
-
ລະບຸວ່າທ່ານພິມຈາກແອັບພລິເຄຊັນໃດ
-
ລະບຸ ລຸ້ນເຄື່ອງພິມ ຂອງທ່ານ
-
ແນບໄຟລ໌ຜົນລັນຂອງຄຳສັ່ງ
lsusb -vແລະ ຂໍ້ມູນຈາກ/var/log/ipp-usbຖ້າອຸປະກອນເຊື່ອມຕໍ່ຜ່ານ USB
ບັນຫາທົ່ວໄປຂອງ CUPS
ສຳລັບບັນຫາທົ່ວໄປ - ເຊັ່ນ: ບໍ່ພົບເຄື່ອງພິມ, ຂໍ້ຜິດພາດ segfault - ກະລຸນາປະຕິບັດຕາມຂັ້ນຕອນໃນພາກສ່ວນຕໍ່ໄປນີ້ (ຕ້ອງເປີດໃຊ້ avahi-daemon):
-
ເຮັດໃຫ້ເກີດບັນຫາ - ເຊັ່ນ: ລອງຄົ້ນຫາເຄື່ອງພິມຜ່ານ
sudo lpinfo -l -v, ຫຼື ເຮັດບາງຢ່າງໃນ web ui - ຂຶ້ນກັບບັນຫາຂອງທ່ານ -
ແນບໄຟລ໌ທີ່ສ້າງຂຶ້ນລົງໃນ ticket ແລະ ປິດການບັນທຶກ debug
-
ບັນທຶກຜົນລັນຂອງ lpinfo ລົງໃນໄຟລ໌ ແລະ ແນບມັນມາ
-
ບັນທຶກຜົນລັນຂອງ ທັງສອງຄຳສັ່ງ lpstat ລົງໃນໄຟລ໌ ແລະ ແນບມັນມາ
-
ແນບໄຟລ໌ຜົນລັນຂອງຄຳສັ່ງ
lsusb -vແລະ ຂໍ້ມູນຈາກ/var/log/ipp-usbຖ້າອຸປະກອນເຊື່ອມຕໍ່ຜ່ານ USB
ເຄື່ອງພິມຂອງຂ້ອຍພິມບໍ່ຖືກຕ້ອງ - ຂ້ອຍໃຊ້ລຸ້ນແບບ 'everywhere'
ກະລຸນາປະຕິບັດຕາມຂັ້ນຕອນໃນພາກສ່ວນຕໍ່ໄປນີ້:
ຂ້ອຍມີບັນຫາທົ່ວໄປກັບ cups-browsed
ກະລຸນາປະຕິບັດຕາມຂັ້ນຕອນໃນພາກສ່ວນຕໍ່ໄປນີ້:
-
ເປີດໃຊ້ການບັນທຶກ debug ຂອງ cups-browsed, ແຕ່ຍັງບໍ່ຟ້າວເລີ່ມຕົ້ນ cups-browsed ໃໝ່.
-
ເລີ່ມຕົ້ນ cups-browsed ຜ່ານ
systemctlແລະ ເລີ່ມເກັບບັນທຶກ:
$ journalctl -u cups-browsed -f > cups_browsed_log
-
ເຮັດໃຫ້ເກີດບັນຫາ ຫຼື ລໍຖ້າຈົນກວ່າ cups-browsed ຈະເກີດບັນຫາຂຶ້ນເອງ
-
ຢຸດການທຳງານຂອງ cups-browsed ແລະ ຢຸດການເກັບບັນທຶກ cupsd
-
ແນບໄຟລ໌
cups_whole_logແລະcups_browsed_logລົງໃນ ticket ແລະ ປິດການບັນທຶກ debug
ເຄື່ອງພິມທີ່ພົບໂດຍ cups-browsed ພິມບໍ່ໄດ້ ຫຼື ພິມອອກມາບໍ່ດີ
ນີ້ແມ່ນກໍລະນີທີ່ຍາກທີ່ສຸດ - ພວກເຮົາຈຳເປັນຕ້ອງຮູ້ວ່າຄິວການພິມຖືກສ້າງຂຶ້ນແນວໃດ ແລະ ມັນເຮັດວຽກແນວໃດໃນລະຫວ່າງການພິມ. ຄິວການພິມທີ່ພົບໂດຍ cups-browsed ຈະມີ device uri ທີ່ເລີ່ມຕົ້ນດ້ວຍ implicitclass://.
ກະລຸນາປະຕິບັດຕາມຂັ້ນຕອນ:
-
ເປີດໃຊ້ການບັນທຶກ debug ຂອງ cups-browsed, ແຕ່ຍັງບໍ່ຟ້າວເລີ່ມຕົ້ນ cups-browsed ໃໝ່.
-
ເລີ່ມຕົ້ນ cups-browsed ຜ່ານ
systemctlແລະ ເລີ່ມເກັບບັນທຶກ:
$ journalctl -u cups-browsed -f > cups_browsed_queue_creation
-
ໃຫ້ເວລາ cups-browsed ໃນການປະມວນຜົນອຸປະກອນທີ່ພົບ (ຂຶ້ນກັບຈຳນວນອຸປະກອນໃນເຄືອຂ່າຍ ຫຼື ຈຳນວນຄິວທີ່ເກັບໄວ້ໃນສະຖານທີ່ທີ່ທ່ານຕັ້ງຄ່າດ້ວຍຄຳສັ່ງ
BrowsePoll) -
ຢຸດການທຳງານຂອງ cups-browsed ແລະ ຢຸດການເກັບບັນທຶກ cupsd - ບັນທຶກໄຟລ໌ເປັນ
cups_queue_creationແລະcups_browsed_queue_creation
ຕອນນີ້ພວກເຮົາຈຳເປັນຕ້ອງເກັບບັນທຶກໃນລະຫວ່າງການພິມ:
-
ເລີ່ມເກັບບັນທຶກ cups_browsed ອີກຄັ້ງ:
$ journalctl -u cups-browsed -f > cups_browsed_printing
-
ເຮັດໃຫ້ເກີດບັນຫາຄືນໃໝ່ - ໂດຍການພິມເອກະສານທີ່ພົບບັນຫາ ໄປຫາຄິວການພິມທີ່ມີບັນຫາ
-
ດຶງບັນທຶກວຽກສຳລັບວຽກທີ່ທ່ານຫາເກີດເຮັດໃຫ້ເກີດບັນຫາ ແລະ ຢຸດການເກັບບັນທຶກ cups-browsed
-
ແນບໄຟລ໌ບັນທຶກທັງໝົດທີ່ເກັບກຳໄດ້
Want to help? Learn how to contribute to Fedora Docs ›