我有一台“哑”打印机连接到我机器的并行端口,它在同一台机器上的“其他”常驻操作系统(来自 Redmond)下工作正常。我最近在机器上添加了 Ubuntu 12.04 作为双启动,但 Ubuntu 似乎根本不识别并行端口。设置打印机所需的只是一个真正普通的固定间距纯文本通用驱动程序,它存在,但没有显示并行端口。(其他打印机,都在 USB 端口上,似乎工作得很好)。
遵循在我看来是网络上许多相互矛盾的建议中最合理的建议,以下是我所做的:
我将以下行添加到/etc/modules
parport_pcppdevparport然后,重新启动后,我检查了线路是否仍然存在,并且确实存在。
我跑了
dmesg | grep par
Run Code Online (Sandbox Code Playgroud)
并在输出中得到以下引用,似乎它们可能与并行端口有关:
[ 14.169511] parport_pc 0000:03:07.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
[ 14.169516] PCI parallel port detected: 9710:9805, I/O at 0xce00(0xcd00), IRQ 21
[ 14.169577] parport0: PC-style at 0xce00 (0xcd00), irq 21, using FIFO [PCSPP,TRISTATE,COMPAT,ECP]
[ 14.354254] lp0: using parport0 (interrupt-driven).
[ 14.571358] ppdev: user-space parallel port driver
[ 16.588304] type=1400 audit(1347226670.386:5): apparmor="STATUS" operation="profile_load" name="/usr/lib/cups/backend/cups-pdf" pid=964 comm="apparmor_parser"
[ 16.588756] type=1400 audit(1347226670.386:6): apparmor="STATUS" operation="profile_load" name="/usr/sbin/cupsd" pid=964 comm="apparmor_parser"
[ 16.673679] type=1400 audit(1347226670.470:7): apparmor="STATUS" operation="profile_load" name="/usr/lib/lightdm/lightdm/lightdm-guest-session-wrapper" pid=1010 comm="apparmor_parser"
[ 16.675252] type=1400 audit(1347226670.470:8): apparmor="STATUS" operation="profile_load" name="/usr/lib/telepathy/mission-control-5" pid=1014 comm="apparmor_parser"
[ 16.675716] type=1400 audit(1347226670.470:9): apparmor="STATUS" operation="profile_load" name="/usr/lib/telepathy/telepathy-*" pid=1014 comm="apparmor_parser"
[ 16.676636] type=1400 audit(1347226670.474:10): apparmor="STATUS" operation="profile_replace" name="/usr/lib/cups/backend/cups-pdf" pid=1015 comm="apparmor_parser"
[ 16.677124] type=1400 audit(1347226670.474:11): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/cupsd" pid=1015 comm="apparmor_parser"
[ 1545.725328] parport0: ppdev0 forgot to release port
Run Code Online (Sandbox Code Playgroud)
我不知道这意味着什么,但是“ parport0: ppdev0 forgot to release port
”这行似乎不寻常。
我仍然无法为我的旧旧车添加打印机,所以我尝试了直接的方法,输入
echo “Hello” > /dev/lp0
Run Code Online (Sandbox Code Playgroud)
并收到了一条Permission denied消息。然后我尝试
echo “Hello” > /dev/parport0
Run Code Online (Sandbox Code Playgroud)
这根本没有给我任何消息,但仍然没有打印任何内容。
运行命令sudo /usr/lib/cups/backend/parallel提供以下信息:
direct parallel:/dev/lp0 "unknown" "LPT #1" "" ""
Run Code Online (Sandbox Code Playgroud)
检查/dev/parport0、Owner、Group、Other的权限都设置为读写。
crw-rw---- 1 root lp 6, 0 Sep 9 16:37 /dev/lp0
crw-rw-rw- 1 root lp 99, 0 Sep 9 16:37 /dev/parport0
Run Code Online (Sandbox Code Playgroud)
命令的输出lpinfo -v包括以下行:direct parallel:/dev/lp0
我读过几篇网络帖子,似乎表明这已经存在好几年了,但错误报告被关闭,因为没有足够的信息来解决这个问题(微软的阴影!)。
关于我在这里可能缺少什么的任何建议?
我不太确定,但因为你对 lpt 的权限设置为 root,所以我想到可能有以下原因:
a) 将您的用户添加到 lp 用户组。使用以下命令来完成任务:
gpasswd -a [user] lp
阅读关于用户和组的 ArchWiki 文章,了解有关如何使用组访问某些系统硬件的更多信息。
事实证明,Launchpad 上存在多个与此问题相关的错误。这些可能会有所帮助:
https://bugs.launchpad.net/hplip/+bug/802780
https://bugs.launchpad.net/hplip/+bug/718092
https://answers.launchpad.net/hplip/+question/161346
来自:(在另一篇文章中阅读)
b) 您可以更改每个用户的 parport 权限。但我不确定这是否是一个更好的主意。
sudo chmod 666 /dev/parport0
来自: Fedora Parport 许可 - 但在 Ubuntu 中也是如此
小智 0
此行为是由启用了 FIFO 选项引起的。如果您在禁用 FIFO 的情况下重新编译内核,您的打印机将像以前一样进行打印。
有一个关于此的错误:https://bugs.launchpad.net/ubuntu/raring/+source/linux/+bug/339752
然而糟糕的是我不知道他们什么时候能修复它:-(
| 归档时间: |
|
| 查看次数: |
10375 次 |
| 最近记录: |