12月 012011
 

以前のエントリに二回くらい書いているのでのすが、今回は三回目になるかな? mozc の ノラ ports を本日付の最新バージョンにしたものを以下の URL に置いておきます。

http://icmpv6.org/Prog/FreeBSD_ports/ports-mozcs-20111201.tgz

以前のバージョンは 1.1.773.102 ですが、今回のバージョンは 1.3.911.102 になります。だた、どこが変わったのか、いまいち解りません・・f(^^;;。

実は最近、ブラウザに opera を利用するようになったんですね。 ports からの make install も早しい、KDE ライクだし。みたいな感じなのですが。

で、 opera に対して日本語を入力しようとすると Ctrl キーを押した段階で確定してしまうので、それが何とかならないか? とか思い色々調べていたのでありますが・・。

uim-skk でも問題になっているようですね。以下の URL がその参考になるかと思いますが。

http://my.opera.com/japanese/forums/topic.dml?id=950112

この事象は、僕が現在利用している ibus-mozc でも起きていて、なんか回避策はないんかいな? と思い色々調べていたんですけども・・。

とある掲示板には「ubuntu では ibus-mosc で Ctrl キーの制約を受けずに opera に日本語入力ができる。」とあったので、むむむ。とか思い、最新版の mozc の ports を作ってみたんですけどもね。

しかし、結局ダメでした。 mozc の 1.3.911.10 でも opera に対して日本語を入力しようとするとやはり Ctrl キーで入力した内容が確定されてしまいます。残念。ただ、せっかく作った ports なのでここに公開しておきます。

send-pr はしないです。 send-pr してもメンテナが全然全くこれっぽっちも対応してくれないんだもの。

と、いうことで現在は opera で正しく日本語が入力できるように、ubuntu の mozc deb のソース取り寄せてパッチを眺めたりしているところです。まぁ、手元に ubuntu が無いので実際にどういう動作しているのか全くわからないの出ありますがね;-)。

ちなみに opera は www/opera と www/opera-devel の両方を試しましたが ibus-mozc では Ctrl が押された段階で日本語が確定してしまいますね。なので、実際問題として、opera っちゅーのは使えない状態になっている。と、言う感じでしょうか。

10月 262011
 

ウェブで検索すると、もう既にたくさんの人がこの題材で色々書いているようですね。なのであえて書く必要も無いのではないか。と、ちょっと思うのですが、僕も書いてみます;-)。

ちょっと変わった方向性から書こうと思っています。

まず、xterm とか emacs などは X11 のリソース設定しているのですが、今回はそれについては一切は書きません。コマンドプロンプトから以下のコマンドを投入し、リソース情報を全てさっぱり削除しそこから xterm を起動します。

% xrdb -remove

 
このあと、プロンプトから xterm を起動します。まずはオプション無しで。すると以下のような状態で xterm が起動すると思います。そして jman ls と打った状態です。

xterm-default.png

なお、このブログでは写真のサイズは横幅 500 ピクセルと決めているので、今後は全て横幅 500 ピクセルで表示します。上記のキャプチャのみは横幅が 488 ピクセルなのでちょっと小さめ。

まぁ、半角文字も日本語文字も Fixed フォントで表示されているので一応は無事に起動して、無事に表示できるようです。

問題はここからで、せっかくなので自分好みのフォントを利用したい。はたまた xterm は pango やcairo をリンクしているのでアンチエイリアスを有効にしたい。などと思い、色々な人が格闘しているわけですね。
しかし、全くダメ・・。利用に耐えられない表示のしかたをしてくれます。これについて、皆さん色々書いているんですね。

xterm 自体は X11 のリソースとは別にオプションでフォントを指定できます。~/.Xresources では XLFD でフォントを記述するのですが、 -fa オプションでは fc-list で表示されるフォント名を指定します。

以下、2,3 のフォントを指定したときのコマンドラインとキャプチャを掲載してみます。

-.フォントサイズは 10 で画面の大きさは 80×30 です。
-. LANG は ja_JP.UTF-8 です。

o.メイリオフォントを指定して起動

% xterm -fa メイリオ -fs 10 -geometry 80x30

 
xterm-meiryo_500x400.png

o.Osaka の UNICODE フォントを指定して起動

% xterm -fa osaka_unicode -fs 10 -geometry 80x30

 
xterm-osaka_unicode_500x400.png

osaka_unicode は比較的良い線行っているんですが、もうひといきっ!! って感じ・・。

それにしても皆さん、この表示を嫌うんですな。カーソールの四角は全角四角ちっく。あげくの果てには全角文字の間に半角スペースが入る。非常に横長な xterm の起動画面になってしまう。

ports から xterm を make するときには WITH_WIDE_CHARS=true を指定する必要があるのでこれは有効になっています。そして、xterm でマルチバイト、CJK フォントを正しく表示するためのオプションとしては -cjk_width ってのがあるのですが、この -cjk_width がまるで有効になっていない。と、言うことですね。

いやぁ・・。まいったまいった・・。

UTF-8 を扱う場合、日本語の表示には 4Byte 必要なのだそうで、その影響が出て文字の間に半角スペースが入るとか入らないとか。考えてみると MySQL で UTF-8 を利用すると Key のサイズが既定値未満なはずなのに「キー値が長すぎる。」とエラーになる時があるのですが、その現象とも確かに似ているような似ていないような気がしますね。

で、本当に正しく表示できんのかい?とか思い、自分の持っている(インストールされている)フォント全てを xterm に指定して確認してみました。

% fc-list | wc -l
487

 
ふむ。僕の FreeBSD には 487 個のフォントがインストールされているようですね;-)。では、以下のコマンドを実行してコマンドイメージを出力し、早速確認してみましょう。

% fc-list | awk -F, '{print "xterm -fa \"" $1 "\" -fs 10 -geometry 80x30 &"}'

 
これを | sh -X とかするととんでもないことになるので、5,6 個ずつ起動することにします。

確認してみたところ、有名どころなフォントは全て全滅でしたね。正しい表示を全くしてくれません。
あと、日本語を持っていないフォントは日本語部分は表示してくれない。コード自体を持っていてもフォント自体が無いフォントは豆腐が表示されます。

そんな中、一個だけありましたよ。正しく日本語を表示してくれるフォントが;-)。

% xterm -fa "細明體" -fs 10 -geometry 80x30

 
xterm-03_500x400.png

おぉ。ちゃんと日本語が表示できて、文字と文字の間に半角スペースが入ることなく表示してくれていますね。

「けっ。そんなこと言ったってオメーの持っているフォントだろっ。」とか思うんですが、このフォント名で検索してみると、あややややや? このフォントはフリーなの? (@_o)。
いやね。自分自身、このフォントを、いつ、どー言うタイミングでインストールしたか全く覚えてないんですよf(^^;;。

以下のサイトからダウンロード可能なフォントのようです。

http://ja.cooltext.com/Download-Font-細明體+MingLiU

ダウンロードしたあと、インストールして、そのあと fc-cache すれば利用可能になるかと思います。

ちょっと明朝体チックでそれでいて色が薄いので常用に耐えられるかはちょっと疑問ですが、一応は正しい表示をしてくれてアンチエイリアスが有効になって xterm が起動してくれます。

あと、この 細明體 ってフォントは上記サイトでは「日本語フォント」ではなく「中国語フォント」のカテゴリの中に入っているんですね。 中国語のフォントの中に日本語の文字のパタンが埋め込まれている、なんともすごいフォントなのでしょうなぁ。

と、言うことで、今の段階の xterm は、もしかしたらフォント側で対応できていれば綺麗に表示できるんではないかなぁ。と思った僕の考え、合ってる?

あと、「僕も私も xterm で表示が綺麗になるフォント持っているよー。」ってのがあったら教えて頂けませんでしょうか。等幅ゴシックなフォントがあれば嬉しいなぁ。と、ちょっち思っております;-)。

8月 102011
 

以前、このブログのエントリで「mozc-emacs(mozc.el) な ports 作りました。」ってのを書きました。でもってノラ pors を作って置いておいたのですが、NakataMaho さん が commt してくだり、ports として組み込まれました。ありがとうございました。

で、前回の記事とコメントに書いているのですが、 FreeBSD の ports になっている mozc は随分とバージョンが古い。おかげで mozc-el はかな入力に対応していない。など書いていたのてすが、本日 csup したら japanese/mozc-el が mozc の最新版になりましたね。うれしーっ!!

ってんで、早速 japanese/mozc-el を make install したのですが、なんとなっ!! mozc-server のバージョンが古いので mozc.el と一緒にインストールされる mozc_emacs_helper が mozc-server と通信できない・・。orz。

daichi さん はいつ japanese/mozc-server をバージョンアップしてくれるのだろう・・。とか思いつつ、やっぱり ports ができる(リリースされる)まで待ってられないのでとっとと自力で最新版を make してしまいましょう。

その手順を今から書きます。

1. フツーに ports から japanese/mozc-server、 japanese/mozc-tool 、japanese/mozc-additions をインストールします。この段階では mozc は 0.13.523.102 がインストールされます。
2. インストールが完了したら mozc_tool とか mozc_tool_config などを起動して、入力設定とか全部の設定を済ませてしまいます。

以上が前準備です。続いていよいよ mozc-el のインストールです。

3. japanese/mozc-el をインストールします。これで mozc の 1.1.773.102 のバージョンのソースコードを持ってきて mozc.el と mozc_emacs_helper の最新版がインストールされます。
4. japanese/mozc-server の環境を以下のように整えます。

# cd /usr/ports/japanese/mozc-server
# mv files files.orig
# cp -pr ../mozc-el/files ./
# cp -pr ../mozc-el/distinfo ./
# vi Makefile

 
5. japanese/mozc-server の Makefile の以下の行を変更します。

    :
PORTVERSION=    1.1.773.102
#PORTREVISION=   1
    :
${PYTHON_CMD} build_mozc.py build_tools \
-c ${BUILD_MODE} ; \
${PYTHON_CMD} build_mozc.py build \
-c ${BUILD_MODE} \
server/server.gyp:mozc_server
    :

 
ちょっと説明すると、
・PORTVERSION は最新版のバージョンにします。
・PORTREVISIONの行は削除します。
・–qtdir=${QT_LIBDIR} オプションを消します。

後は make NO_CHECKSUM=yes (distinfo をコピーした場合は NO_CHECKSUM=yes は必要無し) して make 、 その後は make deinstall;make reinstall すれば mozc-server も最新のものになって mozc.el と通信できるモノがインストールされます。

今回は japanese/mozc-tool はインストールしてないので古いバージョンのままとなっていて、多分正常に動作しないと思われます。なので、一番最初に mozc の設定をばっちりとやってしまいましょう。となるのであります;-)。

さてさて。mozc が最新版のバージョンになると mozc.el が動作し、emacs ではミニバッファで文字の選択ができるようになります。また emacs -nw の状態でも日本語入力ができるようになるので、 WITH_CANNA のときみたいに emacs が非常に嬉しく使えるようになるのであります。

それにしても mozc-server の ports は、メンテナの方、早く更新してくれないかなぁ。と思うのでありますが、今回のインストール方法は ports の japanese/mozc-server のバージョンがアップするまでの一時的な策ということで;-)。

それにしても NakataMaho さん。ありがとうございました。

8月 042011
 

okular というのは KDE をインストールすると利用できる PDF を閲覧するためのソフトです。Acroread よりも軽いので僕は Acroread をインストールせずにこればっかり利用しているのですが、時々日本語が表示できない PDF ファイルが存在するのでちょっとコマリモノなのでありました。

最初はほっといてそー言う PDF ファイルはあきらめることにしていたのですが「まぁ。いっちょ調べてみるか。」と言う気になったのでありました。

あ。今回は多分、FreeBSD に特化したネタになると思います。 ubuntu には多分、まぁるで関係の無いお話だと思います。

で、調査を開始したのですが、まずは「敵」つまり PDF ファイルを知るところから始めます。 okular で日本語が表示できない PDF ファイルを Windows 版の Acroread10 で表示させ色々情報を取得するのですが、大体以下のようなことが解ってきました。

o. iText と言う PDF プリンタを利用した PDF ファイル。
o. どうやら PDF 自体にフォントが無いようだ。
o. Windows 版 Acroread では代替フォントで表示してくれるねぇ。
o. PDF ファイル自体のフォントは HeiseiKakuGo-W5 と言う名前ですねぇ。

iText というのは今回ちゃんと調べてないんですけども、Java ベースの Acrobat4,5 互換の PDF プリンターってイメージです。出力された PDF ファイル自体にはフォントは埋め込まずビューワのほうでフォントをマッチさせるみたいですね。

さてと。以上が日本語表示できない PDF ファイル自体の調査ですが、ここからは okular の調査の開始です。

そもそも、okular が代替フォントに日本語を含むフォントを指定できないのが問題でないの?と思うわけです。[設定]のところに「代替フォント」とか項目があれば簡単に話は済んでしまうんですけどもそんなのはありはせんのです・・。orz。

で、 okular の調査は更に続くのですが、PDF ファイルの表示には poppler というのが深く絡んできていてこいつは fontconfig とも密接に絡んでくる。ということが解りました。 poppler というのは xpdf からの派生と言うか発展形のモノらしいです。こいつは graphics/poppler や graphics/poppler-data とからみ合って日本語を表示してくれるらしいんですな。

けれど、その poppler が okular とどこで結びついているのか全く解らない。okular のコード見ると Qt と絡んでいるは伺えるんだけどもね。あー。Qt 的には graphics/poppler-qt4 というのもありますねぇ。

okular を起動して [ファイル]→[プロパティ]から表示されるダイアログの「フォント」タブに現在利用しているフォントが表示されます。

このキャプチャは日本語が表示できないときのフォント。

Okular_font1.png

HeiseiKakuGo-W5 に対応するフォントとしては Bitstream Vera が選択されたことが解ります。この Bitstream Vera は日本語を持ってないので日本語が表示できない。ある意味納得。けど、そしたらどうしてそのフォントが選択されるんだろう?と悩むわけです。

そーこーしている間に「これはどうやらまじめに ~/.fonts.conf を書かなければならない。」と思えるようになってくるわけです。

色々調べて書きましたよ。fontconfig の設定は /usr/local/etc/fonts/ になるんですけども、この中に conf.avail/50-user.conf と言うファイルがあるんですね。このファイルの中を見ると、参照先が書かれているのでそこにファイルを一個用意してあげます。

僕の場合、 mkdir ~/.fonts.conf.d/ したあとにこのディレクトリの中に以下のフアイルを置きました。ファイル名は 51-HeiseiKakuGo-W5.conf にしました。 50-user.conf の次の番号ということで 51 にしました。そのあとの HeiseiKakuGo-W5 の部分は好きな文字列を指定できます。数値と .conf は変更することができません。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <dir>/usr/local/lib/X11/fonts/sitefont</dir>
    <alias>
        <family>HeiseiKakuGo</family>
        <prefer>
            <family>MS ゴシック</family>
        </prefer>
    </alias>
</fontconfig>

 
さてと。設定が終わったので再度 okular を起動します。どうだっ!! あやや・・。orz

実は family の部分ですが、 HeiseiKakuGo-W5 と書いてもダメでした。上のように HeiseiKakuGo と書いたら Bold フォントは MS ゴシックになったのですが Regular フォントは相変わらず日本語が表示されない。

上記のダイアログはこんな感じ・・。そんなバナナ・・。orz。

Okular_font2.png

上二個のフォントは MS ゴシックを利用できるようになりましたが、下の二個のフォントは今まで通り Bitstream Vera を参照しているようです。orz。ダメだこりゃ (c)いかりや長介。

もう一度仕切り直し。各種設定を眺めます。また、ウェブで探し回ります。で、思ったのが、ubuntu のほうは日本語環境ちゃんとできているのねぇ。ってこと。それなら ubuntu の設定をちょっとパクってしまえ。ってんで、 /usr/local/etc/fonts/conf.d/ 辺りを眺めます。

ubuntu 的に言うと「default のフォントの設定を削除するパッチ」ってのがあるので「あれ? FreeBSD 的だと default が Bitstream Vera の設定なので、それを削除すれば良いんじゃね?」と思いつくわけです。それが解ればあとは簡単。 /usr/local/etc/fonts/conf.d/ で grep “Bitstream Vera” * します。で、その結果、 60-latin.conf を改修すれば良いわけねー。というのが解りました。

以下の URL に /usr/local/etc/fonts/conf.avail/60-latin.conf に適用すべきパッチを置いておきました。

http://icmpv6.org/Prog/KDE/okular_ja-60-latin.conf.patch

まぁ、パッチなんてたいそうなものは必要無いとは思うのですが、簡単に説明すると、60-latin.conf では一番最初に利用されるフォントが Bitstream Vera になります。こいつは日本語を持たないフォントですね。それならば、それよりも上の行に ume フォントを追加してしまえーっ!! って感じです。

なので、上記パッチを適用した場合には japanese/font-ume をインストールする必要があります。自分の好みのフォントに設定したい場合には “Ume Gothic” の部分を好きな文字列に変更すればそれで OK です。

で、このパッチを適用したフォントのダイアログはと言うと、

Okular_font3.png

んー。ちゃんと ume フォントが利用されていますね。そして okular でも日本語がバッチリ表示できるようになりました。いやー。良かった良かった。

もしかしたら /usr/local/etc/fonts/conf.avail/60-latin.conf はそのままで、パッチ適用後の 60-latin.conf を ~/.fonts.conf.d/ の下に置いても同じ動作をするかもしれません。が、私は試していません。

それにしてもこれで okular が無事にちゃんと利用できるようになりました。良かった。

4月 102011
 

こないだ ports-current に kde-4.6.1 が登場したばっかりなのに約一週間で 4.6.2 にバージョンアップされてしまったのでまたまた make し直し。けども今回は Qt のバージョンアップは無かったのでほぼ一晩で完了。って感じでしょうか;-)。

さてさて。ここ最近は KDE4 のこと、しかも kdepim4 のことを色々書いているのですが、今回ももう一回 kdepim4 関連のネタになります。すみません。

今回登場するのは KAddressBook と言うアプリケーションです。簡単に言うと「アドレス管理用アプリケーション」になります。

僕はデスクトップ環境としては MacOSX も利用していて、iPhone4 も持っているのでアドレス管理は MacOSX の アドレスブックアプリ (Address Book.app) で行っています。 iPhone4 から電話するときやメールを送信する時に利用しているので、”アドレスブック” で管理している情報はメールアドレスの他に電話番号なども含まれます。

登録している情報はメールアドレスだけの人とか電話番号のみの人があるわけですけども、一個のアプリで全てを管理できるのでそれはそれで嬉しいのであります。また、アドレスブックに登録しているユーザに写真などを設定していると登録してある人からメールが届くと Mail.app では写真が表示されたり、iPhone4 に電話がかかってくるとその写真が表示されたりしてくれて中々楽しいのであります;-)。

さて、この MacOSX のアドレスブックアプリ、中に入っているデータは vCard 形式で出力することが可能です。登録されている写真の情報なども vCard 形式の PHOTO;BASE64 タグで保持してくれるので写真ファイルをたくさん持つ必要も無いんですね。

さてさて。ここので MacOSX の アドレスブックアプリ について長々と書きましたが、こいつから出力した vCard 形式を KDE の kdepim に含まれている KAddressBook でインポートできるんですな。

kaddressbook_1.jpg

KAddressBook のキャプチャはこんな感じなんですが、[ファイル] から 「インポート」を選択して vCard 形式のファイルを指定するとおぉっ!! MacOSX 上で管理している情報そのままが KDE 上で再現されるのであります。上でも書いたように vCard 形式なので PHOTO;BASE64 タグがあるため写真もばっちり表示してくれるようになります。

その他に KAddressBook は LDAP とも同期してくれます。まぁ「LDAP と同期」と言ってはアレなんですが Microsoft の Active Directory と同期してくれる。と言えば良いかな。オフィスなどでユーザ情報の管理を Active Directory で行っている場合、 KAddressBook の LDAP の設定時に Active Directory の情報を指定してあげるだけでオッケー。みたいな感じです。後は「LDAP を検索」して、検索結果をインポートすればそれでグー。みたいな。

まぁ、それはある意味 Microsoft の Active Directory がちゃんと LDAP に準拠した作りになっているのがすばらしいのでありますが;-)。

vCard ファイルがインポートできて、LDAP とも連携できてインポートできる。すげーじゃないですか;-)。

もう一個だけ機能を書きましょうかね。今度登場するのは Thunderbird です。こいつも単体でアドレス帳を持っています。でもって Active Directory (LDAP) とも連携が取れます。が、vCard には対応していないんですね。 MacOSX のアドレスブックからのデータを Thunderbird にインポートできないんですよ・・。これは悲しい・・。

kaddressbook_2.jpg

これが Thunderbird のインポートの時のキャプチャ画面です。 vCard 形式には対応していないみたいですね。

そこで KAddressBook の登場です。KAddressBook は vCard 形式でインポートした情報を Thunderbird で利用できる形式である LDIF 形式にエクスポートできるのであります。おー。パチパチパチ。

と、言うことで、LDIF 形式でエクスポートしたファイルを今度は Thunderbird のアドレス帳に読み込んであげることで全てのアドレス帳のデータは同期できるようになるのであります。

ただ、一個だけ欠点があって、vCard 形式では写真まで情報を持っていってくれるのですが LDIF 形式 への変更時に写真データがバッサリと落とされてしまいます。それがちょっと悲しいところかな。などとちょっと思いますが。

以上、アドレスデータの変換機能として KAddressBook を利用するのであります。これはこれで非常に良い感じです。

ちょっと前までは携帯の情報は携帯上で、メールの情報はメーラで管理。って感じでしたが、iPhone が手元に来てから、また MacOSX を使うようになってからはすっかりとその二つのデータは統合される方向に進んで行ってしまいました。なので、アドレス帳の管理って実は簡単にやりたいなぁ。などと、最近は思うのであります。

そしてそんなときには KAddressBook が役に立つのであります;-)。

4月 012011
 

以前のエントリーで「kdepim4 を日本語化する。」と言うのを書きました。このとき書いた内容としては

・KDE-4.6.1 が出ました。
・しかし、kdepim は 4.4.10 です。
・なので、ja-kde-l10n-4.6.1 の ports/packages では kdepim4 は日本語が表示できません。
・それならは古い packages から「ポ・ファイル」 を持ってきてインストールしてしまいましょう。

って感じだったのであります。

現在 JKUG のサーバは計画停電と、言うか、電気をなるべく使わないようにしましょう。キャンペーン展開中で電源断しているので ML も動作していません。なのでメンバとは、少数の人々と Twitter で話しただけでまだ真剣には議論されていません。

と、言うことで、僕が先行して ja-kde-l10n-4.6.1 の ports を作ってみました。この ports は ja-kde-l10n-4.4.5 の kdepim の日本語テキストを抜き出して 4.6.1 にパッチとして組み込んだものになります。

現在の kidepim は 4.4.10 なのでちょっと古いとは思うのですが、 JKUG の ML が止まっているので、kdepim4 の最新の日本語テキストが手に入らないためです。

後、ja-kde-l10n-4.4.5 は kdepim の日本語「ポ・ファイル」が含まれている、KDE からリリースされた最後のものになるのでそこから引っこ抜いています。あ。kdepim の「ポ・ファイル」だけで、全部で 55 個あります。akonadi 関係のファイルもたくさんあります;-)。

以下の URL に ports を置きました。

http://icmpv6.org/Prog/FreeBSD_ports/ports-ja-kde4-l10n-20110331.tgz

これを /usr/ports/japanense/ 辺りで展開して make install してください。 kdepim4 を含めて KDE-4.6.1 が日本語で表示できるようになります。

今回のこの ports を作成するに辺り、kdepim4 の日本語化には二段回あると思ってます。

1. KDE 側でリリースしている kde-l10n-ja-4.6.1.tar.bz2 で kdepim4 を日本語化する。
2. FreeBSD の ports 側で kdepim4 を日本語化する。

1. に付いては上でも書きましたが ML が止まっている状態なので、現在議論することができていません。なので、2. として僕が先に ports としてリリースした状態になっています。

JKUG で話をして KDE 本家に取り込んでもらうか、Linux 方面の人とかどうしているの?とか話す必要があると当然思っています。 1. で無理そうだったら、今回僕が作成した ports のパッチを kde@freebsd.org に投げる予定でいます。

kdepim4 は楽しいのよー。日本語化されると嬉しいのよー。と、言うことで、ちょっと頑張ってみます。
今すぐに日本語化したい方は上記 URL から ports をダウンロードしてインストールしてください。

3月 312011
 

さてさて。前回のエントリで kdepim4 が日本語対応になりました。そーするともうっ!! すっかりと色々やってみたくなるのであります。

と、言うことで、今回登場するのは KOrganizer です。スケジュール管理のアプリですね。以前に 「Thunderbird+Lightning の日本語化。」というのを書いているのですが、今回は KDE アプリで DAViCal と連携してみたいと思います。

DAViCal についても以前「DAViCal サーバを FreeBSD で。」と「DAViCal サーバを FreeBSD で。そのに。」の二度にわたって書いているので是非参照して頂ければと思います。

なお、KOrganizer と言えば、更に以前に「KOrganizer と google カレンダーの sync。」というのも書いているのですが、そっちともビミョーにリンクしたりしますのでこうご期待;-)。

まず、事の発端は「KOrganizer は iCal サーバと同期できるんかい?」とか思って情報を収集するところからなのであります。
が、しかし、かなかな見つからない。でもって日本語化された KOrganizer で再度カレンダーと言うか akonadi が提供してくれるサービスを調べてみると・・。ふむ。それらしいのがあるじゃーん。となるわけです;-)。
ちなみに akonadi については「KOrganizer と google カレンダーの sync。」のところでチロッと書いているのでそっちを参照してください。

今回利用する API はこれ。「リモートファイルのカレンダー」と言うヤツですね。

korganaizer2_1.png

カレンダーを新規登録する時に指定します。すると次に以下の画面が表示されます。で、ここに DAViCal のカレンダーの URL を指定すれば OK です。多分 MacOSX Server の iCal サーバの URL も指定できると思います。

korganaizer2_2.png

“Download from:” は読み込み用、”Upload to:” は更新用と言う意味ですが、参照して更新するので同じ URL を指定しても全然問題ありません。後はデッドロックが発生しないようにするだけなので、その下のオプションを適意設定してあげれば大丈夫なのであります。

こっちは google カレンダーと連携するよりもずっと簡単に KOrganizer に表示してくれるのでありました。

って・・。ちょっと待てよっ!! 以前、google カレンダーと連携するために「KOrganizer と google カレンダーの sync。」ってネタを書いた時には ports から databases/akonadi-googledata というのをインストールして、それを利用して google カレンダーを読み込むようにしました。

しかし、今の goolge カレンダーって確か iCal でも提供していたよねぇ? っつーことは、ワザワザ akonadi-googledata をインストールせずとも「リモートファイルのカレンダー」を選択すれば登録できるのではないだろうか?などと思い、早速試してみました。

まずは google カレンダー側の情報を確認してみます。google にログインして「カレンダー設定」から以下の情報を取得します。

korganaizer2_3.png

今回利用した google カレンダー側の情報は “限定公開 URL:” の 「ICAL」ってヤツです。この緑のボタン(たぬきではない;-)をクリックして表示される URL を KOrganizer の 「リモートファイルのカレンダー」の設定のところに指定してあげるだけで・・。あぁらぁ・・。いとも簡単に KOrganizer に表示できてしまうのでありました;-)。はい。シューリョーみたいな。そんな感じでサクっと行くのであります。

と、言うことで KOrganizer は DAViCal サーバ(iCal サーバ)にも google カレンダーにも簡単に接続して、そして情報を持ってきてくれてしまうのでありました。すばらしー。と、言うか、akonadi。やるなおまえっ!! って感じなのであります;-)。

これは本当に kdepim4 が日本語表示してくれたからここまでやって、試してみよう。と言う気になるのであります。

ただ、JKUG の人とちろっと話した感じだと、kdepim4 で日本語表示できないのはどうやら FreebSD だけのようですね。この辺り、今後 JKUG 内でも色々話していってみたいと思います。

が、なんせ、日本語表示してくれると色々やってみたくなります。いやぁ。KDE4 はまだまだ楽しいことたくさんありますよー。皆さんも是非使ってみてくださいねー;-)。

3月 292011
 

kde-4.6.1 がリリースされましたなぁ。FreeBSD の ports-current を追いかけていると最新のモノが利用できるようになります。皆さん是非試してみてください。

kde-4.5.5 との違いは・・。まぁ、一言で言うとより安定版。と言う感じでしょうかf(^^;;。

後、気がついた点としては qt が 4.7.2 になりました。IRC クライアントの konversation が新しくなりました。Twitter クライアントの choqok がちょっとおしゃれになりました。日本語訳はちょっと怪しいですけどねぇ;-)。

さてさて。今回のネタは kdepim4 なのであります。 KDE4 における kdepim4 の立場は kde-4.5.0 になったら開発のペースがガタ落ちになったと聞いています。なので kde-4.5.1 がリリースされた段階で kdepim は 4.4.6 とか 4.4.7 とかそんな状態なのであります。

でもって kde-4.6.1 が FreeBSD でリリースされたときの kdepim のバージョンは 4.4.10 になっております。ふむー。もう KDE 本体とのバージョン追随はあきらめた雰囲気が感じられ、koffice みたいに独自バージョンを歩むのか?みたいにさえ思えてきます。

そして、困ったことに kdepim4 の日本語テキストがちぃともリリースされないと言う事態に陥っているのであります。 kaddressbook とか kmail とか kontact、korganizer などは日本語化されてないと全く使えない、使えたとしても利用したくない状態なのであります。困ったなぁ・・。

こちらが日本語を表示してくれない kontact のキャプチャです。

kontact_1.png

これじゃ、使う気にもならない・・。orz。

と、言うことで、今回は kdepim4 を日本語化させることにしましょう。

そもそも、最新の ports である japanese/kde4-l10n に kdepim4 周りの日本語テキスト(僕はこれを “ポ・ファイル”と言っていますが)が入ってないのがいけない。以前はちゃんと日本語を表示していたので、以前の ports/packages を持ってきてインストールすればええやん。となるのであります。

で、ウェブ上を探し回ったら以下の URL にありました。

http://ftp.riken.go.jp/pub/FreeBSD/ports/i386/packages-9-current/kde/ja-kde-l10n-4.4.5.tbz

このファイルをお取り寄せします。あ、早く取ってこないと無くなってしまうかもしれません。いつ無くなるかについては僕にはわかりません。
基本的には “ポ・ファイル” なのでアーキテクチャは特に問題ありません。僕は FreeBSD/amd64 8.2-STABLE を利用しているのですが、上記の packages を持ってきました。

以下はインストール方法です。

# cd /usr/local/src
# mkdir kde4
# cd kde4
# ftp -a http://ftp.riken.go.jp/pub/FreeBSD/ports/i386/packages-9-current/kde/ja-kde-l10n-4.4.5.tbz
# tar xvzfp ja-kde-l10n-4.4.5.tbz
# cd share/locale/ja/LC_MESSAGES
# cp kontact.mo /usr/local/kde4/share/locale/ja/LC_MESSAGES/kontact.mo
#

 
とりあえず kontact.mo フアイルだけをコピーしてみました。

その後、kontact を起動してみました。

kontact_2.png

おー。日本語が無事に表示できるようになりました。こんな感じで、自分が必要と思われるファイルをどんどんコピーしてあげれば良いだけですねぇー。

注意点としては既に /usr/local/kde4/share/locale/ja/LC_MESSAGES/ にあるものを上書きしてしまっては悲しいので cp -i とかでコピーしたほうが良いでしょうかね。kaddressbook.mo korganizer.mo kmail.mo (kmail* はいっぱいあるので確認しながらコピーしたほうが良いですね) などなど、自分が本当は利用する必要のある kdepim4 のアプリの日本語ファイルをコピーしてあげると無事に、順番に日本語を表示してくれるようになります。

ちなみに、”ポ・ファイル” が “モ・ファイル” になるので、 FreeBSD の pakcages を Linux に持って行ってインストールしても多分無事に表示できると思います。なので kubuntu や Vine を利用している人も多分そのままコピーしても大丈夫だと思います。

とわいえですよ。これってやっぱり JKUG でなんとかしないとダメだと思う。KDE の各リリースごとに kde-l10n-ja-4.6.1.tar.bz2 と言うのを作成しているんだけど、ここに kdepim の古いバージョンでも messages の中に kdepim のファイルを入れる必要が絶対にあると思う。

僕も JKUG の一員なので、この点についてはしっかりと対応して行きたいと思います。それまでの手段として、まぁ、今回の手がありますよ。と、言うことでf(^^;;。

10月 152010
 

前回のエントリーで「ThinkPad X100e がサスペンド/レジュームしない。」って書いたんだけど、FreeBSD/amd64 8.1-STABLE 自体はもうバリバリサスペンド/レジュームします。ただ、X の画面がエラー吐いてちぃとも復活しない。って感じなのであります。

ati ドライバ(の radeon)や radeonhd を試したり、後 vesa も試しました。 vesa の場合はレジューム後に X の画面が戻ってきて X が使える場合もあります。ただ、サイズが 1024×768 なのとレジューム後に利用はできるのだけどログを吐きまくっている状態なので使い続けるのはどうかな。などと思うのでありました。

こうなったら xf86-video-ati の radeon ドライバでバグが治ってくれるのを待つばかりですが、せっかくなので、絶えず最新版が利用できるような環境を用意しておこうなどと思ったのであります。

http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/

この辺りを見ていると、コツコツと更新はされているようです。で、snapshot は “master” と言う文字列が付加されて公開されているようなので、それ用の ports を作ってみました。以下に転がしておきます。

結構トリッキーなのでコミットはしません。また、もし利用するのであれば ports に詳しい人限定です;-)。
後、 automake-1.11.1 が必要です。利用する場合には portupgrade して automake のバージョンを上げてください。

http://www.icmpv6.org/Prog/FreeBSD_ports/ports-xf86-video-ati-master.tgz

このファイルをダウンロードしたら /usr/ports/x11-drivers/ 辺りに展開します。 そーすると xf86-video-ati-master/ と言うディレクトリができたかと思います。

ちなみに ports の雛形は x11-drivers/xf86-video-radeonhd-devel を参考にさせてもらっています。nork さんありがとー;-)。

# cd /usr/ports/x11-drivers
# tar xvzfp ~/ports-xf86-video-ati-master.tgz
# cd xf86-video-ati-master
# rm /usr/ports/distfiles/xorg/driver/xf86-video-ati-master.tar.bz2
# make NO_CHECKSUM=yes configure
# cat patch-man_Makefile | patch
# make NO_CHECKSUM=yes install

 
こんな感じですかねー。man がインストールできないので patch-man_Makefile を実行しますが、ports の Makefile で吸収することができませんでした。ダサくてすみません・・。

後、絶えず最新版の xf86-video-ati-master.tar.bz2 を取ってくるので make NO_CHECKSUM=yes します。 distinfo はオマケみたいなものですが、 xf86-video-ati-master.tar.bz2 がダウンロードできない時は distinfo の SIZE を書き換える必要があるかもしれません。

一回インストールしている場合は make deinstall してから make reinstall になると思います。

 
ThinkPad X100e のグラフィックスチップは RADEON HD 3200 の RS780M になります。フツーであれば x11-drivers/xf86-video-radeonhd を利用するのですが、最近の ATI ドライバには radeon ドライバが吸収されていてこっちのほうが進んでいるようです。

xf86-video-ati の ports は 6.13.0 なんですが、上記 URL が示すとおり最新版は 6.13.2 になります。 x11-drivers/xf86-video-ati の Makefile の PORTVERSION= を 6.13.2 にして make NO_CHECKSUM=yes install って手もあります。この場合 xorg.conf のドライバは Driver “radeon” にすると良いです。

で、xf86-video-ati のドライバを使うと何が良いか?と言うことなのですが、僕は持ってませんが DH5000 番台のグラフィックカードが利用できるみたいなんですね。

最新の ATI のグラフィックスチップを利用している人は xf86-video-ati の 6.13.2 もしくは開発中版の master を利用して、トライしてみるのもひとつの手かと思います。

ちなみに ThinkPad X100e の RADEON HD 3200 は前のエントリでも書きましたが、レジューム後に以下のメッセージが出力されて、利用できなくなります。

info: [drm] wait idle failed status : 0xA0003030 0x00000003

 
この文字列で gogo ってみると以下の URL が出てくるので、問題点については認識されていると思うので、早く改修されて、まずは master 版で提供されないかなー。

https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/608665

などと思っているのでありすます。

これからは一週間に一度位の割合で xf86-video-ati を更新するのであります;-)。

あ。もっと美しい ports を書いてくれる方、絶賛募集中;-)。

9月 242010
 

Evernote ってのが世の中にはあるみたいです。僕は iPhone4 ユーザなのですが、ファイルをクラウド上にアップして、色々な機器から利用できるみたいです。詳細については以下の URL を参照してください。

http://www.evernote.com/about/intl/jp/

さて、iPhone4 上ではデータを同期するクライアントがあります。あと、MacOSX とか Windows、他の携帯端末用のクライアントもあるのですが、Linux や FreeBSD のためのクライアントは無いようです。

Linux の人が頑張っているのは wine で Windows 版 Evernote クライアントを動かすと言うワザなんですね。FreeBSD でも ports に emulators/wine があるので早速試してみましょう。

まず、 ports から wine をインストールして、上記 Evernote のサイトから Windows 版クライアントをダウンロードします。その後、以下の要領で実行します。

$ wine ./Evernote_3.5.6.2848.exe
fixme:heap:HeapSetInformation 0x0 1 0x0 0
wine: Install the Windows version of Mono to run .NET executables
$

 
あいやまぁ・・。Evernote は .NET はレームワークを利用しているようです。しかし、 wine の default の環境では .NET はレームワーク が無いのでインストールできないみたいです。

ちなみに wine の環境は ~/.wine/ になり、 ~/.wine/drive_c/ が Windows で言うところの c:\ になります。それにしても .NET フレームワークをインストールする必要があるのでインストールすることにしましょう。

世の中を探しまわっていたら wine の環境をサクっとインストールしてくれるスクリプとがあるようです。

http://www.kegel.com/wine/ から winetricks と言うスクリプトをダウンロードしてくればよいみたいです。

$ ftp -a http://www.kegel.com/wine/winetricks
$ chmod 755 winetricks
# mv winetricks /usr/local/bin/
$ rehash
$

 
winetricks を実行するためには一個 ports をインストールする必要があります。 archivers/cabextract をインストールしましょう。これで winetricks を実行する準備が整いました。

オプション無しで実行するとウィンドウが一個現れたと思います。winetricks -h と実行すると、バババと文字が表示されたかと思います。ウィンドのメニューやオプションに dotnet30 を選択もしくは指定すると ~/.wine/drive_c/ に .NET Framework をインストールしてくれます。他にも色々インストールしてくれるヤツがあるので winetricks -h で表示されたものをじっくりと眺めてみても面白いです;-)。

と、言うことで今回は winetricks dotnet30 と叩くのでありました。

wine_evernote1.png

こんな感じでインストールが始まります。おぉっ!! これはラクチンだぁ;-)。.NET Framework がインストールするのをしばし待ちます。また、必要であればその他色々インストールしてみるのも良いかもしれません。

でもって今度はいよいよ次は Evernote のインストールです;-)。上で実行した wine コマンドを投入します。すると今度はインストーラが起動したようです。うひひひ;-)。

wine_evernote2.png

以降、フツーのインストールと同じように進むと無事にインストールが終わりました。おぉっ!!これは素晴らしい。

続いて早速実行してみることにしましょう。インストールされた Evernote.exe は ~/.wine/drive_c/Program Files/Evernote/Evernote3.5/Evernote.exe にあります。これを wine コマンドのオプションとして実行してあげます。

するとー。

wine_evernote3.png

orz。今日はこの辺りまでにしておきましょう・・。

筆者自身まだよく wine を把握しておりません。Windows ディレクトリにどういったものがインストールされているか、どういったものが必要なのか、Windows について、筆者はあまりよく知らないんですねf(^^;;。

今回の目的としては winetricks の使い方が解って良かったよねー。これ使うと wine の環境整えるのが楽だよねぇ。みたいな。そんな感じでこれにて終わるのでありました。

中途半端でどうもすみません・・。