私のマシンのパラレルポートに接続された「ダム」プリンタがあり、同じマシンの「他の」常駐オペレーティングシステム(レドモンド製)で正常に動作します。最近、マシン上のデュアルブートとしてUbuntu 12.04を追加しましたが、Ubuntuはパラレルポートをまったく認識していないようです。プリンターをセットアップするために必要なのは、実際にはプレーンバニラの固定ピッチテキストのみの汎用ドライバーです。これは存在しますが、パラレルポートは表示されません。 (他のプリンターは、すべてUSBポート上にあり、正常に動作するようです)。
Web上の多くの矛盾するアドバイスの中で最も合理的であると思われたことに続いて、私がしたことは次のとおりです。
/ etc/modulesに次の行を追加しました
parport_pc
ppdev
parport
次に、再起動後、行がまだ存在していることを確認しました。
走った
dmesg | grep par
出力に次の参照があり、それらはパラレルポートに関係しているように思われます。
[ 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
その意味はわかりませんが、「parport0: ppdev0 forgot to release port
」という行は珍しいようです。
私はまだ古いクランカー用のプリンターを追加することができなかったので、直接アプローチして入力しました
echo “Hello” > /dev/lp0
Permission denied
メッセージを受信しました。それから私は試した
echo “Hello” > /dev/parport0
メッセージはまったく表示されませんでしたが、何も印刷されませんでした。
コマンドSudo /usr/lib/cups/backend/parallel
を実行すると、次の結果が得られます。
direct parallel:/dev/lp0 "unknown" "LPT #1" "" ""
/ dev/parport0、所有者、グループ、およびその他のアクセス許可の確認は、すべて読み取りおよび書き込みに設定されています。
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
コマンドlpinfo -v
の出力には、次の行が含まれます。direct parallel:/ dev/lp0
私はこれが数年前から問題であると示唆しているいくつかのWeb投稿を読みましたが、問題に対処するのに十分な情報がなかったためバグレポートは閉じられました(Microsoftの陰影!)。
ここで不足している可能性のある提案はありますか?
確かではありませんが、lptに対する許可がrootに設定されているため、次の理由が考えられます。
a)ユーザーをlpユーザーグループに追加します。次のコマンドを使用して、タスクを実行します。
gpasswd -a [user] lp
特定のシステムハードウェアへのアクセスにグループを使用する方法の詳細については、ユーザーとグループに関するArchWikiの記事をご覧ください。
この問題に関して、Launchpadには複数のバグがあります。これらが役立つ場合があります。
https://bugs.launchpad.net/hplip/+bug/80278
https://bugs.launchpad.net/hplip/+bug/718092
https://answers.launchpad.net/hplip/+question/161346
From:(別の投稿を読む)
b)すべてのユーザーのparport許可を変更できます。しかし、それがより良いアイデアかどうかはわかりません。
Sudo chmod 666 /dev/parport0
Libsane-hpaioを削除します。このパッケージは、パラレルポートを取得して保持します。パッケージは、LPT1に接続されたHPスキャナー用です。
なんて頭痛!これが長い間続くとは信じられません。
簡単な方法。ルートのアクセス許可はデフォルトで無効になっています。次のQ/Aに従ってください:( https://superuser.com/questions/301753/how-do-i-print-directly-to-lpt-port-in-ubunt )そしてそれが役立つことを願っています。
この動作は、FIFOオプションが有効になっていることが原因です。 FIFOを無効にしてカーネルを再コンパイルすると、以前と同じようにプリンターが印刷されます。
これに関してバグが埋められています: https://bugs.launchpad.net/ubuntu/raring/+source/linux/+bug/339752
しかし、悪いことは、いつ修正されるかわからないことです:-(