FreeBSD で印刷。これは永遠のテーマですね。gs ドライバがヘボいと、たとえ cupsd 経由で印刷したとしても日本語が文字化けするしで使い物にならないことが多い。
そんな状態で、リコー imagio PM C4500SP を FreeBSD から利用する機会があった。PM C450SP では lpr が動作していて、FreeBSD においては ipp プロトコルで通信し、利用するためには IP アドレスとキュー名を FreeBSD 側で指定する必要がある。
ちなみに、このプリンター、OS は NetBSD と言うウワサあり。IPv6 で ipp プロトコルの通信ができるプリンターらしい;-)。
僕は、KDE3 を利用しているのだけど、KDE3 にはメニューに [設定]->[プリンタ] と言うのがあって、プリンタの設定があっと言う間に行える。
プリンタの設定ウィサードを起動する前に cupsd_enable=”YES” として cupd を起動し、ウィザードの下のほうにある [現在の印刷システム] を CUPS にすればええだけ。後はプリンターを登録するだけ。かんたーーん;-)。
で、ちゃんとした PS プリンターであれば簡単に動くんだけどねぇ、gs 経由で印刷する時は日本語が表示できなくてイヤになる時が多々ある。この辺りになるとプリンタの性能がモノを言うかな・・。
後、CUPS 経由で印刷する場合、ベンダが提供している MacOSX のドライバが役に立つときがある。Linux 版が無い場合は MacOSX 用のドライバを利用してみましょう;-)。
ただし、FreeBSD でどうやって dmg アーカイブを溶かすんだ?って話はあるんだけどね(^^;;。
最近の NotePC には SD スロットが付いている。しかし、FreeBSD ではドライバが無くて、none なデバイスである・・。pciconf -lv すると以下のような感じ。
|
しかし、世の中にはすごい人がいるものですねぇ。FreeBSD 用のドライバを書いてくれた人がいます。
http://lists.freebsd.org/pipermail/freebsd-drivers/2006-September/000243.html
http://www.sashi.de/en/freebsd/sdhci/index.html
早速ダウンロードして試してみました。make して kldload sdhci.ko しておしまい。再度、pciconf -lv してみると以下のような感じ。おーーー。
|
しかし、messages にはログがガンガン吐かれている。あぁ。と、言うことで常時 kldload しているわけには行かないみたい。必要な時に kldload するようにするか・・。あ、ちなみにデバイスと認識させただけで、実際にデータ転送とかしたことないですよ。僕;-)。ヒトバシラーな方、頑張ってください。
僕が思うに、devd もしくは hald と連携して、SD カードが挿入された時点で kldload するようにしたらええんかな? あ、けど、SD カード挿入前には /dev/sdhci0 が生えてなければならないので、ちょっち無理かなぁ・・。
最近の KDE3、大体 3.3.5 辺りですかねぇ。インストールが終わると以下の設定を rc.conf 辺りに書くと幸せになれるよ。みたいなのが表示される。
|
で、これらを実際に書いて、それぞれのデーモンが起動すると、KDE3 は CD-ROM が突っ込まれたのを検知して、WindowsXP のように以下のウィンドを表示してくれる。
なんか、すげーぞ。amd 必要ないじゃんみたいな感じ。konqueror では system:/media/ でいろいろなメディアを見る事ができる。
実際に ps -ax してみると hald が CD の動作を監視している感じ、dbus とか hald って ドキュメントが少ないんだけど、FreeBSD な話では devd 辺りと連携して、今後はもっといろいろなデバイスを認識してくれるようになるみたい。
KDE3 使っている人は是非、上記三つを YES にしてみてください;-)。
前回、ブログで qt-3.3.8 では QT のフォントの扱いが随分変わりました。と書きました。 QT のフォントパッチが適用できなくなったのでどうしようか悩んでいたのですが、この際、パッチを更新する作業は止めようかと思っています。
FreeBSD を使っている方は、/etc/make.conf で KDE_PATCHES=”yes” と指定してください。そうすると、xxxx-qt-font-default-subst.patch が適用され、フォント名は日本語で表示されるようになるはずです。
で、ここまではいいんだけど、konsole では自分の好きな等幅フォントが使えなくなり非常に困ってしまいます。
以上が前回に書いた内容でした。では、konsole で任意の等幅フォントを使えるようにするにはどうしたらよいか?実は一個だけ方法が残っていたんですねぇ;-)。
~/.kde/share/config/konsolerc の以下の行を任意のフォント名にしてしまえばいいんですねぇ;-)。
|
フォント名である「MS ゴシック」はどこから持ってくるかと言うと、konqueror の設定ウィンドの「フォント」に表示されている日本語のフォント名をそのまま記述すれば大丈夫でしょう。「フォント」の等幅フォントの一覧に表示されているフォントであれば konsole で利用できるので使えるフォントの数は格段に多くなります;-)。
ちなみに、KDE-3.5.6 をインストール直後の状態で default の konsolerc がどこにあるのかという点についてですが、探してみましたが見当たりませんでした(^^;;。なので、システム標準として「さざなみゴシック」を利用するとか言う設定を埋め込むのは難しそうです。
Vine Linux の皆さん。どうも済みません・・。
と、言うことでこれにて完全に qt のフォントパッチの更新については終了と言うことになりそうです。今まで利用してくださった皆さん。有り難うございました。
qt-3.3.7 からあっと言う間に 3.3.8 が出ましたなぁ・・。でもってフォントパッチなんですけど、3.3.8 では src/kernel/qfontdatabase.cpp と qfontdatabase_x11.cpp に大幅に変更が入ったので今までのパッチが全然適用できなくなりました。
でもって、FreeBSD の ports では files/xxxx-qt-font-default-subst.patch と言うのが準備されていて、僕が継承しているフォントパッチが無くともフォント名を日本語で表示してくれるようになりました。
なので、実質、今後はフォントパッチを書く必要が無いかなぁ?とも思えてきました。
しかし、xxxx-qt-font-default-subst.patch は等幅フォントで扱えるものが少なくて困ります。僕が継承しているパッチはさざなみゴシックは使えているのでよかったのですけど、FreeBSD 謹製のパッチはまともな等幅フォントが無い・・。一番困るのは konsole でのフォントの選択でしょうか・・。
なので、もしかしたら、3.3.8 用のパッチを作るかもしれません。しばしお待ちを・・。
Vista のフォントがあちこちで絶賛されているようなので、X11 てちょっち使ってみた。ライセンスの問題はこの際置いておく;-)。
まず、Windows Vista からフォントを抜き出す必要があるんだけど、フォントの管理のウィンドからデスクストップに DnD したけどできない。次に、エクスプローラで c:\windows\fonts の下にあるファイルをデスクトップに DnD したんだけどやはりできない。フォントのコピーできない。しょーがいので DOS プロンプトから copy コマンドで c:\ にコピーしようとしたけど、これも怒られる。UNIX 風に言うと “Permission denied” って感じか。
本当にもうっ!!って感じで悩んだんだけど、SAMBA が動いている FreeBSD に対してネットワークコンピュータ経由で DnD してみたら・・。あれま。簡単に抜き出せた(^^;;。と、言うことで、FreeBSD に持ってきたのは以下のファイル;-)。
|
これらを、/usr/X11R6/lib/X11/fonts/Vista 辺りにおいて fc-cache -v とかすればもうおしまい;-)。
こっちは konqueror で使ってみたフォント。クリックすると大きく表示してくれます。
僕は qt-3.3.7 用フォントパッチを使っているのでフォント名の表示は日本語で表示されるのだけど、このフォントは 「M+1P+IPAG circle」と言うみたい。カタカナなんかは随分かわいい表示してくれます;-)。
でもってこっちが firefox で、あの「メイリオ」フォントを使ってみた様子。 GTK2 でも利用できるので firefox はメイリオにしてみました。
ちなみに僕の KDE-3.5.5 で使えるフォントはこんな感じで表示されます。フォント名が日本語で表示されるとええですなぁ。
で、本題の Vista のフォント。なかなか良いです。そして default で持っているフォント数が多いのもいいですね。MS ゴシックも良くはなっているけど、Windows2000 の時よりサイズがちっちゃくなっています。
IE7 と言うか Vista の日本語に対するアンチエイリアスがまだまだイマイチなので、MacOSX とか、X11 の KDE で利用するのが一番良いような気がします;-)。
前回の日記で、ストリーミングに DSS 使ってます。って書いたけど、ちょっとだけまとめておきますね。
DSS は ports からインストールすると非常に簡単なのだけど、/usr/local/etc/streaming/ の下に qtgroupsと qtusers の二つのファイルを用意しないと動かないのでこの二つは必ず生成しましょう。
僕は MacOSX も持っているので QuickTimeBroadcaster で「中継」することもできるのです。安い USB カメラでも最近は MacOSX 用のドライバがあったりするので比較的容易に「中継」することが可能です。
あ、僕の持っている MacBook には default でカメラ付いているんだった。けど、あのカメラは向きが変えられないので「中継」にはちょっと使えないです・・。
録画した動画を配信するためには QuickTimePlayerPRO が必要になります。動画を QuickTimePlayerPRO でストリーミング形式に書き出してから、その書き出されたファイルを /usr/local/share/DarwinStreamingServer/movies/ に保存します。ストリーミング形式に変換していない動画を配信することはできないので注意してください。
後は、http://localhost:1220/ にアクセスして、「プレイリスト」などで設定すれば中継できるようになります。
しかし、DSS-5.5.4 は表示が英語なのでちょっとしきいが高いですねぇ。そんな時に見つけた技が、まだフリーで配布していた頃の QTSS-4.2 を Apple のサイトからダウンロードしてきて、AdminHtml と言うディレクトリの下に html_ja と言うディレクトリがあるので、それを抽出することです。html_ja には日本語テキストが入っているのでそれを持ってきます。後は FreeBSD にインストールした DSS に対して以下のコマンドを実行するだけ。
|
QTSS みたいに言語は自動判別してくれないので html_en に symlink してあげれば良いでしょう。表中の hogehoge はおまじないです;-)。
実は DSS-5.5.4に対応した日本語テキストを既に持っています。QTSS-4.2 から増えたメッセージテキストの差分を追加したものがあります。なので僕が利用している DSS は既に日本語化されています;-)。Apple のライセンスがどうなっているのかあんまり深く考えないようにしているのですが、ここ いらへんにあったりします;-)。(hogehoge の部分で利用してください)
と、言うことで、DSS について書いてみましたが、DSS は MacOSX がないと「中継」できないし、QuickTimePROがないと「ストリーミング」できないし、本当にやっかいです。けど、MacOSX を持っている人にとってはいろいろ楽しめます。皆さんもちょっと遊んでみてください;-)。
あ、ちなみに DSS-5.5.4 の ports ですが、FreeBSD/amd64 で make は通るのですが、実際に動作させようと思っても動きません。DarwinStreamingServer 自体は起動するんだけど、http://localhost:1220/ にアクセスしても応答が無くログイン画面が表示されないため、実質利用できない。と言う感じです。
ちょっと格闘してみたのですが、MacOSX は gcc-4.0.1 を使っているのに対して、FreeBSD は gcc-3.4.6 なのでその影響があるのかな?とも思えます。port:1220 にログインした時の「メイン」の画面では サーバ上の現在時刻 が 1900年 とか表示されているし、なんか、64bit 周りでおかしいのかなぁ。とは想像がつきます。
試しに gcc-4 で make したことがあるのですが、make が通りませんでした(^^;;。
files/patch-CommonUtilitiesLib::OSHeaders.h 辺りに修正を入れれば make は通るとは思うのですが、僕は最近の C を知らないので 64bit に対応するにはどう書いたら良いのかよくわからないのでした・・(^^;;。
と、言うことで、gcc-4 で make が通るパッチをどなたか書いてください。nork さぁ〜ん;-)。
FreeBSD-users-jp の 90404 番において、FreeBSD/amd64 で OOo-2.1 をインストールしている。みたいな記事があったので、あれ?とか思って /usr/ports/editors/openoffice.org-2/Makefile 見たら、あれま。ONLY_FOR_ARCHS= i386 amd64 になっていて、いつのまにか FreeBSD/amd64 で make が通るようになったのねぇ。2.0RC 辺りの頃は i386 だったのにさ・・。
と、言うことで早速 make してみたんだけど、いろいろなファイルはあっちゃこっちゃから取ってくるのは i386 版と一緒なんだけど、どうやら make の途中でカーネルを道連れに落ちてしまうことが発覚。ひどいねぇ・・。
OOo の make には SWAP も含めて 2GB 以上のメモリが必要だと言うんだけど、今まで FreeBSD/i386 では swapon して make していたのだけど、SWAP が無い時は gcc のみがぶっこけるだけで済んでいたのよねぇ・・。
しかし、カーネルパニックになってしまうのでちょっと手が出せない状態かな。あ、ちなみに FreeBSD/amd64 は 先週辺りの 6.2-STABLE ですが、この辺りも悪さしているのかなぁ・・。
sendmail の設定でバーチャルホストを利用するには「/etc/mail/local-host-names に受信するドメインを登録しましょう。」ってのがほとんどなんだよねぇ・・。けど、まぁ、楽なのでええんですけど、送信時に問題があることが判明。
例えば、以下のファイルがあったとして、これを cat FILE | mail takachan@running-dog.net したとすると Reply-To: に指定したメールアドレスのドメイン名が sendmail.cf 内の DM に掲載されているドメイン名で上書きされてしまう。という、どうしようもない問題に遭遇するX-(。バーチャルドメインでのメールの送信時の問題ですね。バーチャルドメインのメールが受信できることだけで満足してたらいかんぜぉ。って感じ。
|
ドメイン名を上書きしてしまうのは Reply-To: ヘッダだけなので、あまり気にならない人とか気づかない人もいるのかな?
しゃーないので local-host-names を使わないバーチャルドメインの設定をするしかない。今回は VIRTUSER_DOMAIN_FILE 項を使って mc ファイルを書き直してみたい。
/etc/mail/freebsd.mc があるんだけど、この中の一部を以下のように修正。class{w} のバーチャルホストの設定を利用しないようにして class{VirtHost} を利用する。
|
この設定だけだと、sendmail.cf の DM が無くなるので、以下の行を更に追加。
|
以上、できたら make してでき上がり。sendmail.cf の Dj は自分の好みで編集するとして、ローカルホスト配信がもしかしたらエラーになるかもしれないので submit.cf の Dj も設定して上げれば問題はなくなることでしょう。
/etc/mail/virtdomains は、/etc/mail/local-host-names と同じ記述方法で特に問題はないでしょう。
あ、書いてないけど、/etc/mail/virtusertable については触れてませんけど、他のドキュメントとか読んでくださいね;-)。
FreeBSD の ports に photo_gallery と言うのがあるんだけど、それの日本語版を作ってみました。
最近、Canon PowerShotG7 と言うデジカメを買ったのだけど、撮った写真を公開する場が無いので、なんかいい ports 無いかなぁ?と探していたら /usr/ports/www/photo_gallery を見つけました。ただ、不便な所とか日本語が使えないので、
「えぇい。改造してしまえっ!!」
って感じです。で、できたのはこんな感じ。サンプルは以下の URL にあります。
サンプルのウェブページ
撮った写真をディレクトリ単位で一覧表示してくれます。その後、サムネイルとかスライドショーなどがお楽しみいただけます。
基本的に /usr/ports/www/photo_gallery を改造しています。ほぼ原型は保っています。
僕の作った ports は以下の URL からダウンロード可能です。使ってみて感想などいただければうれしいです。あーうー。commit してないです;-)。
ports-ja-photo_gallery-1.5-日付.tgz
自分が「こんな機能が必要だ。」と思うとボコボコ追加していく予定;-)。後、僕が改造した部分についてはインストール後の README-ja.txt を参照してください。