web-dev-qa-db-ja.com

12.04のパラレルポートの問題

私のマシンのパラレルポートに接続された「ダム」プリンタがあり、同じマシンの「他の」常駐オペレーティングシステム(レドモンド製)で正常に動作します。最近、マシン上のデュアルブートとして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の陰影!)。

ここで不足している可能性のある提案はありますか?

6
Frank Oberle

確かではありませんが、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

From: Fedora Parportの許可-ただしUbuntuでも同じ

1
Peterling

Libsane-hpaioを削除します。このパッケージは、パラレルポートを取得して保持します。パッケージは、LPT1に接続されたHPスキャナー用です。

なんて頭痛!これが長い間続くとは信じられません。

0
Dane Beamish

簡単な方法。ルートのアクセス許可はデフォルトで無効になっています。次のQ/Aに従ってください:( https://superuser.com/questions/301753/how-do-i-print-directly-to-lpt-port-in-ubunt )そしてそれが役立つことを願っています。

0
Dee

この動作は、FIFOオプションが有効になっていることが原因です。 FIFOを無効にしてカーネルを再コンパイルすると、以前と同じようにプリンターが印刷されます。

これに関してバグが埋められています: https://bugs.launchpad.net/ubuntu/raring/+source/linux/+bug/339752

しかし、悪いことは、いつ修正されるかわからないことです:-(

0
pavelsefranek