1月 232013
 

ちょっと前の FreeBSD-users-jp な ML で USB マウスが動かなくなる。と、いうスレッドがありました。PS/2 マウスと USB マウスの二つがあった場合、そのうちの一個が動かなくなる。と、いうのものでした。

僕の場合、USB マウスではなく、 PS/2 マウスとタッチバッドの組み合わせなのですが、マウスのほうが動かなくなって悩んでいたのであります。

僕が持っているのは ThinkPad X100e で、こいつは Windows OS で言うところの UltraNav です。キーボードの真ん中に赤ポッチがあるのが、 FreeBSD 的に言うと /dev/sysmouse でこいつは ports 的 には x11-drivers/xf86-input-mouse で認識して動作します。タッチパッド側は /dev/psm0 で x11-drivers/xf86-input-synaptics で認識してタッチパッドとして利用できます。右側を上下になぞるとちゃんとスクロールもしてくれるように設定しています。

が、この状態において、僕の環境では赤ポッチとそれに付属するポタン類が一切動作しない状態で、上記スレッドを参考に色々試したのですが、やはり動作しないので放置していたのでありました。

今回、環境を 9.1-RELEASE にしたのでもう一度試してみたのですが、やはり動作しません。悲しい・・。

以下は僕が利用している 赤ポッチマウスとタッチバッドマウスの xorg.conf の設定です。一応 hal に関係する設定も書いておきます。

Section "ServerFlags"
Option    "AllowEmptyInput" "off"
Option    "AutoAddDevices"  "off"
#       Option    "AllowEmptyInput" "on"
#       Option    "AutoAddDevices"  "on"
EndSection
Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/sysmouse" Option "ZAxisMapping" "4 5 6 7" EndSection
Section "InputDevice" Identifier "Touchpad0" Driver "synaptics" Option "Protocol" "psm" Option "Device" "/dev/psm0" Option "SHMConfig" "on"
Option "TapButton1" "1"
Option "VertTwoFingerScroll" "1" Option "HorizTwoFingerScroll" "1" Option "VertScrollDelta" "200" Option "HorizScrollDelta" "200" Option "MinSpeed" "0.1" Option "MaxSpeed" "0.2" EndSection

 
この設定を書いても赤ポッチ側が動作しません。ps で hal と moused のプロセスを確認すると以下のようになっています。

$ ps -ax | grep mouse
1120 ??  Is     0:04.49 /usr/sbin/moused -p /dev/sysmouse -t auto
1332 ??  I      0:00.01 hald-addon-mouse-sysmouse: /dev/psm0 (hald-addon-mouse

 
moused は /dev/sysmouse 側をコントロールしています。 hald のほうは /dev/psm0 をコントールしています。 xorg.conf の設定では /dev/sysmouse は赤ポッチマウス、 /dev/psm0 はタッチパッドマウスです。まぁ、タッチパッドが無事に動作しているのでいーやー。とか思っていた時期が長いんですけどもね。

で、色々設定を見なおした結果、両方とも動作することが確認できました。上記 xorg.conf は何も問題がありませんでした。問題があったのは /etc/rc.conf で設定する moused の設定だったのであります。

以下のように設定すると 両方のマウスが無事に動作することが解りました。

moused_nondefault_enable="NO"
moused_enable="YES"
#moused_port="/dev/sysmouse"
moused_port="/dev/psm0"

 
今までは hald が /dev/psm0 をいじっているなら moused は /dev/sysmouse だろ。とか、勝手に思っていたのですが、moused のほうも /dev/psm0 に変更したらあぁら不思議。両方のマウスが動き出した。ということなんですね。 ps で確認すると以下のような感じ。

 $ ps -ax | grep mouse
33230 ??  Is     0:04.49 /usr/sbin/moused -p /dev/psm0 -t auto
33232 ??  I      0:00.01 hald-addon-mouse-sysmouse: /dev/psm0 (hald-addon-mouse

 
なんか、非常に違和感あるんですが、これで無事に二つのマウスが動作しております。考えてみると xf86-input-mouse がバージョンアップして以来赤ポッチマウスが動作していなかったので、随分と久しぶりに両方動きだした。ということになります。

いやー。良かったです。 xorg.conf が正しい設定であるならば rc.conf の moused の設定を変えてみてはいかがでしょうか。なお、今回は /usr/local/etc/hal/fdi/policy/ にはマウスの設定は入れていません。 xorg.conf の設定がそのまま X11 で有効になっていると思います。

ちなみにタッチパッドのほうは xf86-input-synaptics で動作しているので UltraNav みたいな動作が一応できます。 Synaptics を試してみたい方は参考にしてみてください。あ。細かい説明は一切ナシですけどもね;-)。

6月 052012
 

KDE や Qt、あげくの果てには png のバージョンアップがあったりして最近の ports 回りは大変でしたなぁ・・。でもって libreoffice 、 ports 的には editors/libreoffice になるわけなんですけども、こいつは最近まるっきり make が完走しないのでホトホトいやになっていた。

libreoffice は make にも時間が掛るのでなおさら使いたくないモノだ。などと思っていたのですが、 make が通らなくなったのでキッパリと諦めることができた;-)。では、代わりに何かないかな?と探し回っていた思いついたのが KDE 由来のオフィススイート。

ついこの間、ports から okffice が全部削除されましたね。で、代わりに calligra というのになった。 koffice から calligra に名前を変更した。と、いうことですね。

と、いうことで libreoffice の代わりに calligra にインストールをしました。インストール自体は libreoffice の 1/3 程度の時間で済んだかな?結構早く make が終わったので嬉しい;-)。

さてと。日本語テキストの ports はあるかな? と探してみたら、あたた・・。無いようですね。 JKUG (Japan KDE Users Group) の翻訳担当の人に Twitter で聞いてみたら「手が回って無い状態です。」とのこと。そらそーですよねぇ。本体で手一杯のような気がします。お疲れさまです。

と、いうことで、calligra の日本語テキストを起こしてみました。

幸い koffice の日本語化は 2.3.2 まで進んでいるようでソースコード自体は koffice-l10n-ja-2.3.2.tar.bz2 としてリリースされています。このファイルを calligra に対応させてみました。あくまで対応させただけで、個別に追加の翻訳などは一切していません。

以下の URL にあるので利用したい人は試してみてください。 koffice-2.3.2 相当の日本語は表示してくれると思います。

calligra-l10n-ja-2.4.2.tar.bz2

あと、FreeBSD 用の ports も作りました。以下の URL にあります。

http://icmpv6.org/Prog/FreeBSD_ports/ports-calligra-l10n-ja-20120605.tgz

ダウンロードしたら /usr/ports/editors 辺りで展開して中に入っている calligra-l10n-ja-2.4.2.tar.bz2 を /usr/ports/distfiles/KDE/calligra-l10n/ にほーりこんだら make install でインストールされます。

やはり同じく koffice-2.3.2 相当の日本語は表示してくれると思います。

せっかく作ったので、一応 JKUG の ML には連絡してみたいと思っています。 KDE 本家に取り込まれるか、そして FreeBSD の ports として提供されるようになるかですねぇ;-)。

5月 072012
 

お遊びで ports 作りました;-)。

最近、jail で遊んでいるのですが、jail の動作確認のために jls ってコマンドを良く打ちます。でもって ls ってのを間違えて sl とか打ってしまうと SL がターミナル上を走るのですが、それの jsl 版があってもいいんじゃね? とか思った次第です;-)。

とは言いつつ、しょせんはお遊びなので ports の games/sl をインストールすると do-install: のところで合わせて sl と jsl の両方をインストールするように Makefile を改修しただけです;-)。

こーいうのって ports のメンテナの方にも送るのもアレなので、ここにノラ ports として置いておきます。

僕も私もインストールしたい。と、言う方は、ports の Makefile を覗いてみてください。あ。当然 pkg-plist も更新しているので make deinstall にも対応しています。

http://www.icmpv6.org/Prog/FreeBSD_ports/ports-sl-20120507.tgz

ほんとうにどうでも良い ports ですね;-)。 4/1 に出すべきだったかぁ?

2月 142012
 

僕は普段から KDE4 使いなんだけども、KDE4 を利用しているとターミナルソフトといういうのは必然的に konsole になるわけであります。

しかし、もう何回もこのブログに書いているんですが、 konsole というのは一個のプロセスが起動して、何個も konsole の画面を開いても一個のプロセスで動作する。つまり、表示される konsole のウィンドはスレッドとして動作しているんですな。

これがまたあーた。一個の konsole ウィンドが変な挙動をするとそのプロセスがおかしくなるということで、表示されている全ての konsole のウィンドはスレッドで動作しているんだけども、それら全てを道連れにお亡くなりになる、もしはフリーズしてしまう。という、それは非常にヒサンな状態になるわけですね。

こんなのは使いたくないよ。一つのウィンドは一個のプロセスのターミナルソフト使いたいよ。ってんで、/usr/ports/x11 の下辺りを ls -d *term* などとして色々物色するんですね。で、今回中々良いのが見つかったのでそれについてちょっと書いてみたいと思います。

今回取り上げるのは gtkterm2 です。 ports 的には x11/gtkterm2 になるんですけどもね。とりあえず make してみると、ターミナルソフト的には vte というのを利用しているみたいですね。 ports 的には x11-toolkits/vte になるみたいですが。ここに GTK2 を利用してタブの機能を盛り込んだみたいな感じです。

利用してみると一つのウィンドで一つのプロセスとして動作するようで中々良い感じですね。では、早速カスタマイズして自分好みの環境で利用してみましょう。

実は gtkterm2 をインストールして、カスタマイズしようとしてあまりにもその設定方法が書かれたウェブが無いのでいっちょ書いてみるか。ということでこのエントリを書いているわけですけどもね;-)。

gtkterm2 の設定ファイルは $HOME/.gtkterm2rc になります。 gtkterm2 を一回起動するとホームディレクトリに設定ファイルが生成されます。そしたらエディタで編集すれば良いでしょう。

それにしてもこの設定ファイル、 gtkterm2 を起動するたんびに毎回 gtkterm2 が更新してくれます。非常にややこすぃー・・。毎回エディタを再起動してあげる必要がありますが・・。

とりあえずフォントの設定から。以下の部分を変更すると自分の好きなフォントになります。

terminalFont= MS Gothic 10

 
上記設定は MS ゴシックを 10 ポイントの表示で利用する場合。フォント名は GTK2 の記述形式ですね。以下のコマンドを実行するとフォント名が抽出できると思うのでそれを記述します。

% fc-list | awk -F, '{print $2}' | awk -F: '{print $1}' | sort

 
MS ゴシックが無い人は “Ume Gothic C4” とか指定すると良いかもですね。

まぁ、上記のようにフォントの指定は色々なウェブ上で書かれているので割と設定は簡単でしょうか。

問題は色のほうです。こいつは解らない・・。orz。また、ウェブを探しまわっても全く見当たらないんですね。でもって $HOME/.gtkterm2rc には以下のように不気味な設定が書かれている。

red=0xff00 0x0000 0x0000 0xaaaa 0x0000 0xaaaa ...
grn=0xef00 0x0000 0x0000 0x0000 0xaaaa 0x5555 ...
blu=0xef00 0x0000 0x0000 0x0000 0x0000 0x0000 ...

 
red=、grn=、blu= の後に 0x0000 が全部で 17 個並んでいます。これが何を意味しているのかが全くわかりませんでした。しょーがないのでソースコード眺めましたよー。src/prefs.c 辺りで色についての記述がありますね。まぁ、読むのも大変なんですけども・・。

で、 grn= の後の一個目のパラメータはバックグラウンドの色の指定になります。二個目のパラメータはカーソル、X11 用語では foreground ってことですけどもね。の指定になります。一個目と二個目の設定だけが特徴的で残りの 15 個はファイルの色になります。この辺り、僕にもわかりません。実行形式ファイルの色は赤とか、ディレクトリは青とか、symlink の色はピンクとか、そんな設定になります。

まぁ、今回は background と foreground の色を変えてみましょう。それにしても RBG カラーってのは # のあとに六桁指定するのにどうして四桁なんだ?と思うのでありますが・・。

例えば background の色を #FFEFEF という、ちょっとピンクっぽい色にしたい場合は以下のように指定します。

red=0xff00
grn=0xef00
blu=0xef00

 
red、grn、blu で RBG の色を前から二桁に指定し、余った後ろの二桁は “0” を指定する。って感じですね。

文字とかカーソルの色は黒にしたいので #000000 になります。その場合は以下になります。

red=0xff00 0x0000
grn=0xef00 0x0000
blu=0xef00 0x0000

 
0x00 の前二桁の部分に “0” を設定し、後ろの二桁は default の “0” を設定します。これで自分の好きな色に設定できると思います。そして、三個目以降、残りの 0x???? は全部で 15 個ありますが、これは default の設定でひとまず試してみてください。 ports の make config ときなんかは不気味な色になりますけどねぇ;-)。

とまぁ、こんな感じで設定すれば自分の好みのターミナルになるのではないかなぁ。と思われます。

自分的に一点変えたいと思っているのが新しいタブを開くとき。 default では CTRL+N なんだけど、CTRL+SHIFT+N に変更したいなぁ。と思っています。ソースコードを変更してしまうのが一番早いかなぁ。などとちょっと思っていますが、機会があったら試してみたいですね;-)。

さーっ!! そんなこんなで、ようやっと一つのウィンドがひとつのプロセスとして動作するターミナルソフトを手に入れた。インストール時に入るのは vte くらいのなので KDE4 を使っていても余計なモノを入れない(インストールしない)のが気に入っています。

gtkterm2 の設定が解らないときはここを参照してください;-)。

2012/02/16 加筆
以下の部分を改修した ports を作りました。

・日本語 po ファイルを書いたのでメニューは日本語表示できるようになります。
・Ctrl+n は emacs とバッティングするので新規タブは Ctrl+t に変更しました。

以下の URL から ports がダウンロードできます。

http://icmpv6.org/Prog/FreeBSD_ports/ports-gtkterm2-20120216.tgz

12月 272011
 

以前のエントリで「Thunderbird+Lightning の日本語化。」というのを書きました。 FreeBSD の ports からインストールされる Thunderbird のアドオンとして動作する Lightning は日本語化されていないので日本語化するための方法を書いたわけですけども。

それにしても最近の mozilla は 12 週間に一回メジャーバージョンアップすることにしたので、 Thunderbird をインストールすると Lightning も合わせてインストールできるようになったのは嬉しいんだけど、それにしてもバージョンアップの頻度が高すぎるX-(。

毎回 Windows のディレクトリから手動で持ってくるのはもうイヤだ。ってんで、自動日本語化スクリプトを書きました。以下の URL に置いときます。

http://icmpv6.org/Prog/lightning-ja-20111227.tgz

展開すると二つのファイルがあると思います。一個はシェルスクリプト、もう一個は設定ファイルへのパッチです。

動作については lightning-ja.sh の中を見て頂ければと解ると思いますが、簡単に説明すると以下の通りです。

まず、前準備ですが、既に Thunderbird と Lightning がインストールされている場合、lightning アドオンのバージョンを自動で取ってきます。もし、正しいバージョンが取れないようだったらスクリプト中の lightningversion 変数に指定します。

そしてコマンド実行;-)。

1. mozilla.org の lightning アドオンのサイトに Linux 版を取りに行きます。
2. 取ってきて展開後、中から必要なファイル二つをインストールします。
3. chrome.manifest を更新します。

以上で Lightning が日本語化されます。非常に簡単です;-)。

これだけで日本語化できるので、どなたか ports など作って頂けると嬉しいのですけどねぇ。 japanese/lightning 辺りに。ただ、12 週間に一回 ports を更新しないといけないので誰も ports 作りたくないですよねぇ・・。解ります。その気持ち・・。

Thunderbird の ports のどこかでこれを吸収してくれると嬉しいのだけどなぁ。誰かやってくれないかなぁ・・。

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月 242011
 

Firefox が 12 週間に一回バージョンアップするというとんでもない所業に出て、つい最近 Firefox6 が出たんですが、こいつがなんかむちゃくちゃ CPU を食いまくる。起動直後なんて一人で一個の CPU を使いやがる。ってんで Firefox の利用は最近断念しつつあります。

と、言うことで何か別のブラウザを捜すべ。とか思って色々調べてみたのですが、 QT ベースのブラウザってのは結構色々あるんですね。 arora だとか rekonq とか QtWeb (これは ports になってない) とか。

けど、結局 QT ベースブラウザってどうあがいても emacs キーバインドが利用できないみたい。

ちょっと話はそれますが KDE4 のアプリケーション群の中で emacs キーバインドが設定できるのは kwrite だけなんですよね。で、こいつの設定の「ショートカットを設定」を見ると 「Kateコンポーネント」ってのがあって、これが編集時のショートカットキーの変更を可能としている。

ちゅーこって KDE4 ではショートカットの設定のところで「Kateコンポーネント」を全てで編集できるようにすれば emacs キーバインドが可能になるのになぁ。と思うのでありました。どっかで呼びたせたりしないのかなぁ。

 
で、ここで話はブラウザ全般のネタに戻るのですが、以下ちょっと色々書いてみます。

 
・chromium
QT ベースのブラウザは emacs キーバインドが利用できないので www/chromium をインストールしてみました。 Chrome のオープンソース版と言えば良いのかな? こいつは Firefox6 よりも CPU 利用率が低いみたいなのでまぁ常用できるかもしれない。

それにしても chromium で emacs キーバインドはできないのかな?とか調べたら GTK2 側で emacs キーバインドの設定をすれば良いと言うことが解ったので早速やってみました。

% cd /usr/local/share/themes/Emacs/gtk-2.0-key/
% cp gtkrc ~/.gtkrc-2.0

 
これだけ。普段 KDE4 とか利用していると GTK2 のこととかほんとにわかんない。僕だけかもしれないけど。で、この設定を入れるとほぼ全ての GTK2 アプリは emacs キーバインドになるみたいです。Firefox の場合はアドオンで firemacs 入れているので気にならないのですが、 Thunderbird3 とかも emacs キーバインドになってくれたりします。すげー;-)。

 
・midori
GTK2 的なブラウザとしてはもう一個 www/midori を試してみました。インストールしてから起動すると・・。ふむー。随分と前時代的な雰囲気を醸し出していますf(^^;;。細かい設定は「設定」→[エクステンション]として全て項目にチェック付けてと・・。とかします。

ツールバーの設定などはブラウザではできなくて、~/.gtkrc-2.0 に項目を追加していくと言ういかにも UNIX ライクな設定方法ですf(^^;;。そして、見かけは本当に”GTK2 ベース”って感じです。多分常用はしないと思われますが pkg_delete もしていません;-)。

 
・arora
QT ベースのブラウザです。まぁ、非常に質素である意味 midori に通じるものがあるかもしれません。konqueror の不要な部分を全部削ぎ落して軽量化したって感じのブラウザです。けどもまぁ、QT ベースなので KDE4 上で利用する分には割としっくり来ますかね。

フツーに問題なく利用できます;-)。

 
・QtWeb
QT ベースのブラウザです。Windows 版もバイナリで配布されています。arora と一緒で本当に質素・軽量なブラウザです。 FreeBSD では ports になってないので自分で make して、チロッと起動して動作確認などをしただけです。

FreeBSD で make するには QT4 の CJK なプラグインが必要になります。 japanese/qt4-codecs-jp 相当の中国・韓国・台湾版をインストールします。まぁ、ソースを変えて libqjpcodecs.so しか呼ばない(リンクしない)ようにすれば良いだけなんですけどね。 一応 make は通って起動はできます。ただ、 ports する意味あるの?って感じがするので僕は ports を作ってませんが;-)。

 
・rekonq
僕的には本命のブラウザですなぁ www/rekonq 。名前的に「konqueror よ再び。」みたいな感じ、車輪の再開発とか。 konqueror の悪いところを削ぎ落して再度作り直しましょう。みたいな感じのブラウザらしいです。

とりあえずキャプチャなどを。下が konqueror 、上が rekonq です。

rekonq.png

見た感じ・使った感じは Safari と Chrome の良いところを取り込んで konqueror の悪いところがちょっと残った。と言うような感じでしょうか;-)。

機能も konqueror 程度にはあるし、何よりも konqueror よりも安定している感があります。 kubuntu では rekonq が default ブラウザになったんだっけか?

FreeBSD では ports からインストールしても日本語対応していません。 ja な mo ファイルが無いんですな。あいや・・。しょーがないので kubuntu のを持ってきてしまいましょう;-)。

以下の URL から language-pack-kde-ja-base_10.10+20110618_all.deb を拾ってきます。

http://pkgs.org/ubuntu-10.10/ubuntu-proposed-main-i386/language-pack-kde-ja-base_10.10+20110618_all.deb.html

そのあとは以下の要領でインストールすると rekonq の日本語化ができます。

% mkdir deb
% cd deb/
% mv ~/language-pack-kde-ja-base_10.10+20110618_all.deb ./
% ar -vx language-pack-kde-ja-base_10.10+20110618_all.deb
% tar xvzfp data.tar.bz2
% cd usr/share/locale-langpack/ja/LC_MESSAGES
# cp rekonq.mo /usr/local/kde4/share/locale/ja/LC_MESSAGES/

 
一部翻訳されていないところも有りますがほぼ問題ないほどに利用できるでしょう。

利用した感想ですが、konqueror よりは遙かに良いと僕は思います。これが default ブラウザでも問題無いと思います。「KDEシステム設定」の中の「デフォルトのアプリケーション」のブラウザとして設定しましたが、各アプリの URL をクリックするとスルスルっと konqueror よりも軽やかに起動するみたいな感じでしょうか。

ただ、本当に KDE4 のアプリと言うか QT ベースなのでやはり emacs キーバインドは利用できないですね。長文書く時、僕はダメです。

と、言うことで Firefox6 と言うか、 Firefox がこれからドンドン変な方向に進んで行きそうなのでそろそろ潮時かぁ? とか思いブラウザを試してみましたが、サイトを見るときは rekonq 、文章を書く時には chromium 。って感じになりそうです。

あ。最後にですが、筆者は Flash などいうのはまるで見ません。プラグインインストールしていません。ブラウザの設定で「プラグインはロードしない。」をわざわざ選択しています。iOS ユーザにとって Flash プラグインは必要無い。みたいな;-)。

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 が無事にちゃんと利用できるようになりました。良かった。