web-dev-qa-db-ja.com

UbuntuのLPTポートに直接印刷するにはどうすればよいですか?

ガレージをぐるぐる回していると、古代のマトリックスプリンターであるEpsonLX-1050を見つけました。 Ubuntuは問題なく認識し、CUPS経由で数ページ印刷することができました。

さて、どういうわけか、このプリンタを1994年に設計された方法、つまりパラレルポートに直接書き込むために使用したいと思います。 USB3Gモデムを操作するために機能する最も単純なアプローチを試しました。

echo "Y helo thar" > /dev/lp0

エラーが発生しました:

bash: /dev/lp0: Access denied

このコマンドをSudoで試しましたが、成功しませんでした。また、ファイルをLPT1にコピーするDOSアプローチをミラーリングしようとしました。

cp /etc/hosts /dev/lp0

再び成功しませんでした。

このアプローチを機能させるために私が試みることができる提案はありますか?

7
xyzman

私はそれを理解したようです。愚かな私。 lpadminの使用例をグーグルで検索しているときに、次のリンクにたどり着きました: http://ubuntuforums.org/showthread.php?t=1437325

Dev/lp0のパーミッションは次のとおりです。

c---rw---- 1 root lp 6, 0 2011-06-26 22:47 /dev/lp0

私の知る限り、グループlpにはlpユーザーしかいません。演奏した後

Sudo chmod 666 /dev/lp0

次のコマンドが意図したとおりに機能し始め、プリンターが記号を用紙に出力できるようにしました。

echo "Y helo thar" > /dev/lp0

まあ、それは印刷デーモン以外の誰かが誤ってLPTポートに書き込んだことに対する素晴らしい絶対確実だと思いますが、それでも私には意味がありません、なぜそれはルートに対して無効になっているのですか?

7
xyzman

おそらく、lpデーモン(印刷スプーラー)は/ dev/lpの独占的な所有権を持っています。スプーラをシャットダウンします(lpadminおよび/ usr/bin/disableを確認してください)。

4
sawdust