前回、cupsを使ったHP PSCシリーズのプリンタの設定をしました。
色々使用していると、firefoxからの印刷では日本語が印刷できるのですが、
Latexのdvi2psやa2psでは日本語が入ると印刷できませんでした。
(a2psに関してはまた記事にしますね)
というわけで、FreeBSDネイティブのlpdを使った印刷を特集します。
キーワード:HP PSClpd,dvi2ps,a2ps,a2ps-j,ghostscript,ulpt0,lpd_enable,printcap,cdjcolor,gs
プリンタドライバのghostscript,テキストをpsファイルにコンバートするa2psをインストールします。
日本語用があるので、
まずは、電源を入れてUSBの端子を挿入します。(当然ですが(^_^;))
認識されたかどうか確認するために、
結果は、
と表示されました。
まずは、cupsのデーモンを終了させます。
念のため、プロセスが止まっているか確認します。
して、デーモンのプロセスが表示されなければOKです。
lpdのデーモンを起動させます。
念のため、lpdが起動しているか確認。
そのまま電源を落とさないのなら、
このままでもいいですが、
起動時にlpdを立ち上げるには、/etc/rc.confを以下の内容を追加します
プリンタからとりあえず、プレインテキストの文字が送れるか確認します。
見事印刷されたらプリンタの接続はOKです。
/etc/printcapの設定をします。
僕の設定では、こんな感じ。
詳しくは、こちらを参照。
上のフィルターの場所として設定した場所にフィルターを作成します。
こんな感じ。
もし、HP PSC1510以外のプリンタを使っているなら、
DEVICE=cdjcolorのcdjcolorの部分を書き換えて下さい。
詳しくはこちら。
今のフィルターのファイルに実行権限を与えます。
なお、フィルターの場所はどこでもOKです。
ただし、当然ですが/etc/printcapでの指定と実際のフィルターの場所が同じでないといけません。
クリーンインストールの事を考えると、
バックアップを意識しやすい、自分やrootのディレクトリの中がいいでしょう。
では、実際に印刷しましょう。
実際の印刷は、こんな風になりました?
あ、この写真は、xvでプリントスクリーンしましたけど。
念のため、日本語も印刷できるか確認です。
適当にエディタでテキストファイル(とりあえず、ファイル名test.txt)を作って下さい。
そして、以下を実行して印刷。
印刷できましたか?
できないとかghostscriptって何?という言う人は、上の手順を確認することはもちろんですが、
FreeBSDの日本サイトのQandAの印刷関係を参考にしてください。
このリンク先のリンクもたどってみて下さいネ。
もちろん、コメントでの質問もOKですよ。
答えられる範囲でお答えします。
今回の内容は、下の本を参照しました。
FreeBSDを入れた人は、この本を買うと、
一通りのデスクトップ環境、サーバー環境が構築できます。
お勧めのFreeBSDの書籍
色々使用していると、firefoxからの印刷では日本語が印刷できるのですが、
Latexのdvi2psやa2psでは日本語が入ると印刷できませんでした。
(a2psに関してはまた記事にしますね)
というわけで、FreeBSDネイティブのlpdを使った印刷を特集します。
キーワード:HP PSClpd,dvi2ps,a2ps,a2ps-j,ghostscript,ulpt0,lpd_enable,printcap,cdjcolor,gs
1. ghostscript、a2psの導入
プリンタドライバのghostscript,テキストをpsファイルにコンバートするa2psをインストールします。
日本語用があるので、
#pkg_add -rv ja-ghostscript-gnu-jpnfont
#pkg_add -rv ja-a2ps
まずは、電源を入れてUSBの端子を挿入します。(当然ですが(^_^;))
2. デバイスの確認
認識されたかどうか確認するために、
$dmesg|grep ulpt0
結果は、
ulpt0: HP PSC 1500 series, rev 2.00/1.00, addr 2, iclass 255/204
ulpt0: using bi-directional mode
と表示されました。
3. デーモンの起動・終了
まずは、cupsのデーモンを終了させます。
# /usr/local/etc/rc.d/cupsd.sh stop
念のため、プロセスが止まっているか確認します。
$ ps aux|grep cups
して、デーモンのプロセスが表示されなければOKです。
lpdのデーモンを起動させます。
#/etc/rc.d/lpd start
念のため、lpdが起動しているか確認。
$ps aux|grep lpd
そのまま電源を落とさないのなら、
このままでもいいですが、
起動時にlpdを立ち上げるには、/etc/rc.confを以下の内容を追加します
#cupsd_enable="YES"(コメントアウトします)
lpd_enable="YES"
4.プリンタとの接続を調べる
プリンタからとりあえず、プレインテキストの文字が送れるか確認します。
$lptest > /dev/ulpt0
見事印刷されたらプリンタの接続はOKです。
5. /etc/printcapの設定
/etc/printcapの設定をします。
僕の設定では、こんな感じ。
lp|local line printer|HP PSC 1510:\
#上の行は他の名前でも良い。
#ただし、lpを入れること(標準のプリンタの指定になる)
:sh:\#ヘッダーページの印刷の禁止
:lp=/dev/ulpt0:\#デバイス名
:sd=/var/spool/output/lpd:\#スプールディレクトリ
:lf=/var/log/lpd-errs:\#エラーログの場所
:if=/home/myusername/bin/printfilter:\
#フィルターの場所
詳しくは、こちらを参照。
6. フィルターの導入
上のフィルターの場所として設定した場所にフィルターを作成します。
こんな感じ。
#!/bin/sh
DEVICE=cdjcolor
/usr/local/bin/gs -q -dNOPAUSE -sDEVICE=${DEVICE} -sOutputFile=- - quit.ps
もし、HP PSC1510以外のプリンタを使っているなら、
DEVICE=cdjcolorのcdjcolorの部分を書き換えて下さい。
詳しくはこちら。
今のフィルターのファイルに実行権限を与えます。
#chmod +x /home/myusername/bin/printfilter
なお、フィルターの場所はどこでもOKです。
ただし、当然ですが/etc/printcapでの指定と実際のフィルターの場所が同じでないといけません。
クリーンインストールの事を考えると、
バックアップを意識しやすい、自分やrootのディレクトリの中がいいでしょう。
7. 印刷
では、実際に印刷しましょう。
lpr /usr/local/share/ghostscript/7.07/examples/tiger.ps
実際の印刷は、こんな風になりました?
あ、この写真は、xvでプリントスクリーンしましたけど。
念のため、日本語も印刷できるか確認です。
適当にエディタでテキストファイル(とりあえず、ファイル名test.txt)を作って下さい。
そして、以下を実行して印刷。
#a2ps-j test.txt > test.ps
#lpr test.ps
印刷できましたか?
できないとかghostscriptって何?という言う人は、上の手順を確認することはもちろんですが、
FreeBSDの日本サイトのQandAの印刷関係を参考にしてください。
このリンク先のリンクもたどってみて下さいネ。
もちろん、コメントでの質問もOKですよ。
答えられる範囲でお答えします。
今回の内容は、下の本を参照しました。
FreeBSDを入れた人は、この本を買うと、
一通りのデスクトップ環境、サーバー環境が構築できます。
お勧めのFreeBSDの書籍
コメント