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 の環境整えるのが楽だよねぇ。みたいな。そんな感じでこれにて終わるのでありました。

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

8月 232010
 

ちょっと前のエントリーで「ibus-mozc を使う。」ってのを書きました。 「もづく」を使うよ。でもって emacs23 からでも使えるよ。ってやつですね。

で、ibus.el の作者さんの 「irie @ ウィキ」を眺めていたら「scim-bridge.elのぺえじ 」 ってのもあるのに気づきました。

この scim-bridge.el をインストールして emacs23 から利用すれば scim と通信して日本語入力ができるようになるんかな?とか思った次第であります。

でもって、scim と言えば scim-bridge はあるし、scim-canna もあるし scim-bridge-qt4 もあるしで、いろいろあるので scim-bridge.el を利用すれば canna.el なしで Canna の入力が可能になるのかな?とか思い早速試してみました。

まずは scim-bridge.el の ports を作ってみました。参考にしたのは同じ作者さんの ibus.el の ports です。textproc/ibus-el があるのでこれを参考にして作ってみました。以下の URL に置いてあります。

http://www.icmpv6.org/Prog/FreeBSD_ports/ports-scim-bridge-el-20100823.tgz

これをダウンロードしたあとに /usr/ports/textproc/ 辺りに展開してインストールしてください。一応関連性としては textproc/scim と textproc/scim-bridge は付けています。あとは自分の好みで japanese/scim-canna や textproc/scim-bridge-qt4 などをインストールしてください。

~/.emacs に記述するサンプルはこの辺りに置いておきます。

(setq jaime “???”) の文字列で mozc を利用するか scim-bridge を利用するか決定してください。

scim の 設定方法については以前書いた「kde4-4.4.5+qt-4.6.3 環境の scim-1.4.7。」を利用してください。これで多分 scim-bridge.el が動くようになったかと思います。

scim-bridge.el を利用してみてまず驚くのが、ターミナルへの文字入力と一緒でディスプレー上に SCIM のメニューバーが表示されることですね。本当に「ネーティブに動作しているの?」って思うんですが、Ctrl が入力される場面とか、日本語入力ができない時にはちゃんと SCIM がオフになるんですね。この辺りすごい。まぁ、ibus-mozc.el でもその動作は一緒なんですけどね。さすが同じ作者さんだけあって、動作が統一されていてなかなか嬉しいです;-)。また、感激します;-)。ありがとうございます。

あと、emacs 起動時には以下のように IME を none にして起動しているのでこれは多分文句無しにネーティブで動いているんだろう。という感じです;-)。

env XMODIFIERS=@im=none /usr/local/bin/emacs --no-splash

 
さてさて。僕がどうしてこの ports を作ったかと言うと・・。ちょっと前のエントリーで「emacs-23.2+Canna な emacs の ports。」と言うのを書いているのですが、この時に書いたパッチは今の emacs のメンテナの Ashish SHUKLA さん にメールを送っていて、しばらくやり取りしたあと、彼は 06/10 に改定した emacs の ports を Giorgos Keramidas さん 宛に奥っているんだけど、それは今でもちっとも反映されていないんですね。

なので、emacs23 の make config 時のオプションに WITH_CANNA=yes ってのがなかなか現れない・・。orz。 半分諦めの境地ですかね。

あと、実はもう一点あって、Ashish SHUKLA さん から emacs24 (ports 的には editors/emacs-devel なんですが) の WITH_CANNA の パッチも書いてねー。とか言われて、ちょっと書き直し始めたのですが、これがまたあーたっ!! emacs24 の configure の形式とか Makefile.in とかがずいぶんと様変わりしてしまって、ソースコード治すよりもそっちのほうが大変。みたいな感じになっているのであります・・。orz 僕、 C は解っても autoconf/automake はいまいちよくわからないのよねぇぇ・・f(^^;;。

ちゅーこって、ことえり キーバインドに対応した ibus-mozc に走るか scim-bridge に走ったほうがよっぽど早いのであります。 scim-bridge は Canna に対応しているしねぇ;-)。

と、言うことで、僕は多分今後 Emacs 用の WITH_CANNA なパッチは書く事はないと思います。是非とも scim-bridge.el のほうを利用していただけれると嬉しいのであります。

それにしても scim-bridge.el かぁ。これを利用すると Canna キーバインドでの文字入力もサクっとできるし嬉しいのであります。あ、筆者の場合、Canna のキーバインドをかな入力で利用しています。ローマ字入力は試していません。けど、~/.emacs の (scim-define-common-key ?\C-* t) の “*” の部分の文字を任意のものに変更するといろいろなキーバインドが利用できるようになると思います。

8月 202010
 

ちょっと前のエントリーに「SCIM 動かなくなったよー。環境変数変えてみた。」みたいなこと書いたのですが、そもそも、IME 自体を変えてみることにしました。

僕は最近 MacOSX で ことえり を利用しています。正確に言うと ATOK for Mac 使っていてキーバインドを ことえり で利用しています。はたまた、Windows では「google 日本語入力」を利用してキーバインドはやはり ことえり を利用しています。

するっていと、FreeBSD でもそろそろ Canna のキーバインドを卒業して ことえり キーバインドに統一したいなぁ。と思うのが人情です;-)。

で、いろいろ調べてみたら uim には ローマ字->日本語 や ローマ字->カタカナ 変換のためのショートカットキーが用意されているんですね。で、試しにかな入力時のこのショートカットを ことえり 風に設定してみたら・・。あぁら・・。かな入力時には設定したショートカットキーが有効にならないのね。と、言うことでちょっとアングリ。orz。

それならば。と言うことで探していたら、IRC で教えてもらったのですが MacOSX や Windows 用には 「google 日本語入力」と呼ばれているものが Linux や FreeBSD では ibus-mozc(iBUS 経由で利用できる「もづく」) としてリリースされているのですねぇ。

ports 的には japanese/ibus-mozc になります。これを make install したあと pkg-message で表示される環境変数を設定して、再度 X にログインし直せばもうばっちり mozc が利用できるのであります。

iBUS と言うのは僕も良く知らないのですが、インプットメソッドとの通信をやりとりする規格みたいなものです。例えば Canna は cannaserver と port 5680 でやり取りしますが、これを iBUS 経由に置き換えると ibus-canna とか言う名前になるんだろうなぁ。と思います;-)。

で、本題に戻ってと。まずは iBUS で mozc を利用する設定をします。 KDE4 を利用している場合、kickoff メニューの「設定」に “iBus の設定” と言うメニューがあるのでそれを起動します。python で書かれた ibus-el-agent と言うのが多分プログラム名だと思います。

ibus-mozc_1.png

これで mozc を指定してあげます。これで iBUS は mozc と接続するようになります。ちなみに、KDE4 を利用しているとシステムトレイに iBUS のアイコンが表示されるようになると思います。

続いて mozc の設定をします。 MacOSX や Windows の「google 日本語入力」でよく見る設定画面ですね。コンソールから mozc_tool_config とタタきます。表示されたウィンドウで自分の好きな設定をします。

ibus-mozc_2.png

これで設定は完了。あとは [半角/全角] キーを押してベコベコ日本語を入力するだけなのであります;-)。僕は ことえり キーバインドのかな入力にしました。これで MacOSX、Windows、そして FreeBSD においてはすべて同じキーバインドになりました。やったーっ!!

なお、mozc の変換効率は少なくとも Canna よりは賢いと思います;-)。まだ使い込みがちょっと足りないですが・・。

あ。「google 日本語入力」にはいつまで経っても治らないバグが一個あります。文字を確定する前に漢字が表示されるプルダウンメニュー(これを「サジェスト」と言うのかな)が表示されますが、この「サジェスト」がマウスカーソルの上に表示されるとその段階で文字が勝手に確定されてしまいます。なので、文字を打つときにはマウスカーソルは画面上の全然関係ない場所に置いておくことをオススメしますX-(。

あと、かな入力時の “ー” 問題ががありますね。 Shift+| でないと “ー” が打てない。そんな場合は xmodmap で設定します。以下の設定で Shift キーなしで “ー” が打てるようになります。

keycode 133 = bar bar bar bar

 
ただしっ!! そーすると今度は “\” キーが打てなくなるのですが、これは “ろ” キーのところで打てます。 \rm * とか打つときに |rm * になってしまいますが、どっちが良いかは自分で判断してみてください。

さて。まだ一点残っております。 emacs23 ですね。こいつの IME はどうすんべ。とか思うのであります。僕自身は emacs23 用に Canna パッチを書いたので Canna を利用していたのですが、そもそも emacs23 だけが Canna キーバインドだと大変だぁ・・。と言うことになるのですが、ちなみに umeさん が ibus.el を ports にしてくださっているのでそれを利用することにします。ports 的には textproc/ibus-el になります。

あとは、~/.emacs の編集になりますが、ibus.elのぺえじ を参照すればその設定方法が分かります。でもって比較的容易に emacs23 を ibus 対応にすることができるのであります;-)。

つい最近 0.2.0 と言う最新版がリリースされました。これを利用すると良いでしょう;-)。

僕が利用している ~/.emacs は dot.emacs.fontSetUp として置いとくのでよかったら参考にしてみてください。 emacs23 がアンチエイリアスを利用しても遅くならないフォントの設定も一緒に描いておきました;-)。

これで本当にすべて、キーバンドの統一が出来ました。嬉しいですねぇ;-)。でもってemacs23 用の Canna パッチは書いたんだけども、emacs24 用のパッチは多分書かないと思います。けど、それはそれでしかたがないことなのかなー。と、自分では思っていますが・・。

8月 182010
 

MacOSX には Spotlight というのがありますが、これは利用している Mac のファイルの情報をデータベースに突っ込んで、それを後から検索できるようにしたものです。

これと似たようなことが、最近の KDE4 では利用することができます。strigi と言うものですね。ports 的には deskutils/strigi です。こいつは KDE4 をインストールすると比較的容易に利用可能で、KDE のスタートメニューの検索や、システム設定での検索などで利用されています。

strigi 自体は FreeBSD 中のファイルの情報を収集してデータベースにほーりこんで検索できるようにしてくれますが、その時に NEPOMUK を利用して、検索しやすい索引情報を付加します。ちなみに NEPOMUK は ports ではなく、KDE4 の一部として、ports では x11/kdebase4-runtime に含まれています。

しかし、KDE4 をインストールして早速 Spotlight みたいにデータベース作って検索可能にするぜぃ。と思ってみても FreeBSD の ports では KDE4 を全部まるまるインストールしても、データを格納するデータベースがインストールされないので default で strigi を利用することはできません。

KDE4 のシステムトレイの 丸 “i” マークの所に「virtuoso がインストールされてないので strigi は利用できないよん。」とメッセージが表示されます。つまり ports 的には databases/virtuoso をインストールして初めて利用することが可能になります。

それはつまり、KDE4 の ports と virtuoso は関連性が切られていると言うことですね。ワザと切っているのかたまたま忘れただけなのかはビミョーですね。関連性を付けてしまうと「デスクトップ検索なんざいらねーぜ。」って人の環境でも動作してしまう。と言うことななるので・・。

自分から進んで databases/virtuoso をインストールしたら一旦ログアウトして再度ログインしましょう。これで strigi を利用する準備が整いました;-)。

既にバックグラウンドで strigidaemon と nepomukserver が動き出したかもしれません。データ収集開始ですね。

どこのディレクトリ、どのファイルを収集するかは「システム設定」の [詳細] タブの「詳細なユーザ設定」の中にある「デスクトップ検索」で設定することが可能です。

strigi_1.png

[基本設定] タブでは両方にチェックを付けます。検索を止めたい時はこのタブのチェックを外します。 [ファイルのインデックス作成] タブではディレクトリとかファイルの設定を行います。左側のメニューでどのディレクトリを検索対象とするか、右側でどのファイルを検索対象とするかを指定します。

後はひたすら待つばかりです。システムトレイに時々情報が表示されるのでまぁ、気がついた時に確認してみましょう。

インデックスの作成はけっこうこまめに起動しています。救いなのが一個の CPU しか使わないのでマルチコアの PC の場合にはそんなに苦痛は感じないのではないかと思われます。あ。けど、ディスクアクセスが気になる場合もあるかなー。 1Core な CPU や回転数の遅い HDD を利用している場合には stringi 自体は利用しないほうが良いですね。databases/virtuoso をサクっと pkg_delete するのが良いかと思われます;-)。

さてと。strigi と nepomukserver で集めたデータは $HOME/.strigi/ に格納されます。 clucene/ と言うディレクトリの中に入ります。雰囲気的には qdbm みたいな感じでしょうかね。ただ、サイズが気になるところではありますが。

データ収集はこんな感じで、続いて実際に検索結果を表示したい所ですが KDE4 を利用していない人は strigiclient と言うコマンドがあるのでそれを利用してみてください。検索結果が表示できるかと思います(後、検索パスも指定できます)。

KDE4 を利用している人は K メニューから「ファイル/フォルダを検索」を指定して起動してください。 kfind と言うコマンドが起動されます。後は [名前/場所] や [内容] のタブでそれぞれ検索すれば結果が表示されるようになります。

strigi_2.png

これでデスクトップ検索ができるようになりました;-)。

もし、検索しても何も表示してくれない場合にはもしかしたら kfind を以前に起動したことがあるからなのかもしれません。$HOME/.kde4/share/config/kfindrc を削除して kfind を再実行してみてください。

パッと思いつくのは Thunderbird や mew などのメーラ(MUA) で、こいつらは独自の検索システムを持っていてそれぞれ個別にデータベースにその情報を突っ込んだりしていますが、それも必要ないかなー。デスクトップ検索でメールの情報もパスに入れてしまえばデータを保持する場所は一個で済むし。みたいな感じでしょぅか・・。

とは言いつつやはり、デスクトップ検索のデータ収集中(インデックス作成中)はそれなりに CPU とメモリを持っていかれるのでちょっと贅沢なマシン環境で実行するのが良いかなぁ。と、僕も思うのであります;-)。

まぁ、あるものは使ってみた。と言う感じでしょうか;-)。

ちょっと前に書いた「KOrganizer と google カレンダーの sync。」の記事もそうなのですが、今まで X と言うのはマルチウィンドウでターミナルと emacs を利用する。みたいな感じだったのですが、最近はコッテリとした “統合デスクトップ環境” の各機能を使いこなしても面白いなぁ。などと思うようになってきました。

KDE4 の アドレスブック(kaddressbook) と AdtiveDirectry を連携させてみたり、MacOSX 上のアドレスブックの情報を vCard で出力して KDE4 の アドレスブックに食わせたりとか。

なんか、ようやっと “統合デスクトップ環境” を使いこなせてきたぞぉ。みたいな感じがしてきました;-)。これからもちょくちょく書いていきたいです;-)。

7月 142010
 

FreeBSD の最新の ports-current を追いかけていたら KDE4 は kde4-4.4.5 に、 qt4 は qt-4.6.3 になったのだけど、あるときから scim-bridge で日本語の入力ができなくなってしまった。それ以前のバージョンではちゃんと動作していたのになぜなんだよぉ・・。orz

GTK アプリの Firefox とか Thunderbird には日本語が入力できるので KDE4 か QT4 がちょっとあやすぃ。などと思い textproc/scim-bridge や textproc/scim-bridge-qt4 などを再インストールするのだけど、ちぃとも復旧しない。おかしい・・。orz。入力できないのは KDE のアプリと、後 Java アプリで日本語入力ができない状態となっていました。

そして、色々環境変数を見直した所以下の設定で kde4-4.4.5+qt-4.6.3 でも scim-1.4.7 で入力できることが解りました。

o. 動作しない今まで設定していた内容

export QT_IM_MODULE=scim-bridge
export GTK_IM_MODULE=scim
export XMODIFIERS="@im=SCIM"
exec /usr/local/bin/scim -d &

 
この内容を ~/.xsession に書いていたわけですね。あ。僕は KDE4 の利用時に ~/.xsession を利用するってのは以前書いているのでそちらを参考にしてください。

さてと。この設定では scim で KDE4 アプリに文字入力できない。なので設定を見直してみました。

o. 見直した新しい設定

export QT_IM_MODULE=scim-bridge
export GTK_IM_MODULE=SCIM
export XMODIFIERS="@im=SCIM"
export XIM=SCIM
export XIM_PROGRAM="scim -d"

 
「scim」と小文字で設定したのを大文字で「SCIM」と記述し、新たに XIM な環境変数を追加してみました。

そして、今までは ~/.xsession で起動していたものを 「KDE システム設定」の [詳細] タブにある「自動起動」に登録して KDE4 側で自動起動するように設定してみました。そしたらなんとっ!! 無事に復活して KDE4 アプリでも scim で文字入力できるようになりました。良かった良かった。

ちなみに ports が scim のインストールに必要なものは textproc/scim textproc/scim-bridge textproc/scim-bridge-qt4 と、後、僕は Canna 使いなので japanese/scim-canna をインストールしています。

それにしても復活して良かった。このためにまるまる二日を費やしてしまったではないか・・。orz。

5月 122010
 

KDE4 を普段からデスクトップで利用していると、kdepim-4.3.5 なんてのがインストールされることがあります。”PIM” と言うのはそもそも Personal Information Manager/Management の略で利用者個人の情報を管理しています。 kdepim-4.3.5 をインストールすると KMail や KNotes (ポップアップメモ)、KJots (メモ帳) などかインストールされますが、それと一緒に KOrganizer と言うスケジュール管理ツールもインストールされます。

KOrganizer と言うのは MacOSX で言うところの iCal、Windows で言うところのなんだろ? みたいなものです。普段、スケジュールを利用している人は「google カレンダー」を利用している人が多いのではないでしょうか。

僕は MacOSX 使いでもあるのでスケジュールは iCal で管理して iPhone3G と sync しているので特に困ったりはしないのですが、 KDE4 を利用していて google カレンダーを利用している人は「KOrganizer が google カレンダーと同期できたらいいなぁ。」と思ったことのある方、いるのではないでしょうか。

今回は KOrganizer と google カレンダーを同期させてみたいと思います。 gppgle カレンダー側で書いたものを KOrganizer へ、 KOrganizer 側で書いた情報を google カレンダーに反映できるようになります。

さて、それを実現する前に kdepim4 についてちょっと書いておきましょう。kdepim4 をインストールすると、こいつはなんとデータを MySQL で管理するようになります。個人情報を管理するためだけに mysqld が、ログイン直後から起動していると言う、なんかスゲー信じられない現象が、今の KDE4 では起きています。邪道だ・・。orz。

ドキュメントを読んでみると「sqlite3 ではマルチタスクマルチスレッドの動作時にデータの保証ができないので MySQL 使うよ。」みたいなことが書いて有りました。ふむむむ。

さて、話を本題に戻しますが kdepim4 が利用しているデータは MySQL の中に入っていることがこれで解ったかと思うのですが、 google カレンダーの情報も google から取ってきて MySQL の中に突っ込んだら KOrganizer から見えるんでないかい?となります。

kdepim4 で MySQL との窓口(API って言って良いのかなぁ?)となっているのが akonadi というものです。こいつが一手に引き受けていてくれるんですね。でもってこいつについて、もちっと踏み込んで調べてみると FreeBSD の ports として databases/akonadi-googledata と言うのがある。ふむ。なんか名前からして怪しいじゃん;-)。とりあえずこいつを packages/ports からインストールしてしまいましょう;-)。

インストールが完了した時点で準備完了です。それでは設定に移ってみましょうか;-)。まず、akonadi の設定をします。ターミナルから akonadiconsole とコマンドを叩いてみましょう。

akonadi_1.png

そーするとこんな感じのウインドが表示されたと思います。そしたら [+ADD] ボタンを押すともう一個画面が現れます。この画面から Akonadi Google Calendar Resource と Akonadi Google Contacts Resource の二つを追加します。追加すると一覧に表示されるようになるのでそこでクリックすると google カレンダーの ID とパスワードを入力するよに急かされるので入力します。

後は Akonadi を再起動して Akonadi 自体への設定は完了です。

動作は(ソースコードを追ってないので)良く分からないのですが、MySQL と情報をやり取りする Akonadi が 今回インストールした二つのリソースで横から google カレンダーをつついてデータを取りに行ったり、データを更新したりするんだ。と言う感じでしょうか。 KOrganizer 的には「おめー、バックグラウンドでやっているんだからエレーよ。」となるんでしょうなぁ;-)。

続いて KOrganizer 側での設定です。こいつは簡単です;-)。KOrganizer を起動すると左下に「カレンダー」と言うメニューがあるかと思います。これの [+] ボタンを押します。

korganizer_1.png

するっていとこんなのが現れるとかと思います。

korganizer_2.png

KOrganizer ってのは色々な所からカレンダーデータを持ってくるモジュールが用意されているのねぇ。などと関心させられますが、使い方はどれもイマイチ解らなかったりしますf(^^;;。その中で「Akonadi (Akonadi のカレンダーフォルダに保存されているカレンダーへのアクセスを提供します)」を選択して OK を押します。そうすると「カレンダー」のメニューに google カレンダーへのアクセスが登録されます。

表示されたら真ん中のボタン「カレンダーの設定を編集」ボタンですね。を押して設定画面を表示します。白枠の中に akonadi_gcal_resource_0 などとあったらそれを選択して [Manage Calendar Sources] ボタンを押します。そこでメニューが出てくるので [追加] ボタンで 先ほど akonadiconsole コマンドで登録した二つのリソースを追加し、編集して google カレンダーの ID とパスワードを設定します。

korganizer_3.png

一応これで作業は完了です。一旦 KOrganizer を再起動してみましょう。再起動後に google カレンダーの情報が表示されるようになりましたか? もしされたら新規にイベントを書き込んでみましょう。約 10 分位後に google カレンダー側に反映されたか確認してみましょう。

もし、ダメな時ですが、先ほどの [Manage Calendar Sources] ボタンを押した時に表示されるウィンドで 緑の丸いののが表示されその横に “Online” と表示されているか何も表示されていない場合には OK です。 “Offline” と表示されている場合には [編集] ボタンを押して再度 ID とパスワードを入力してあげるとオンラインになったりする場合があります。

この辺り、何回も追加・削除・編集をしていたら僕の akonadi_gcal_resource_? は 7 まで行ってしまいましたf(^^;;。

とまぁ、こんな感じで KOrganizer は google カレンダーと同期が取れるようになりました。しかし、本当に使えるかはまだまだ良く分からないです。しばらく使い込んでみたいとですかねぇ。

ってか。皆さんも KDE4 使ってみてください。色々楽しいですよ;-)。

3月 192010
 

前回の「FontBook ライクなフォント表示ツール。」の続きです。

「GUI が欲しいなぁ。」などと README.txt の中に書いているのですが、考えてみたら pango-view.sh ファイルを走らせるシェルスクリプトにフォント名を付けて、それをファイルマネージャからダブルクリックして実行すれば良いだけじゃん。などと、ヒジョーに安直な考えが頭に浮かびました。で、それを実戦したのがこんな感じ;-)。

from_dolhin.png

僕は KDE 使いなので Dolphin を利用しているワケですが、とあるディレクトリに MS_ゴシック.sh と言うファイルを作ってそれをクリックすると pango-view.sh が動作するようにするだけ;-)。こうすることで自分の環境にインストールされているフォント名とその書体が一目瞭然となる;-)。

え? そんなん必要無いって?(^^;;。 デスクトップとして利用していてフォントをたくさん突っ込んでいると書体を確認したい時ってあるのよー。

で、fc-list からフォント名が付いたシェルスクリプトを吐き出すのは perl で書いてしまいました(^^;;。大体こんな感じ。これを cron とかで定期的に実行すればたえず最新のフォントを閲覧できるってわけですね。ってそんなに頻繁にフォントをインストールしないか;-P。

#!/usr/bin/perl
use strict;
my $fc_list_cmd = "/usr/local/bin/fc-list"; my $sort_cmd = "/usr/bin/sort"; my $sh_cmd = "/PATHTO/pango-view.sh"; my $fontsize = 120;
my $command = $fc_list_cmd . "|" . $sort_cmd; open(CMD,"$command|"); while(<CMD>) { s/\\//g; my (@t1) = split(",",$_); my ($fontname,@t2) = split(":",$t1[0]); my $filename = $fontname; $filename =~ s/ /_/g; # print $fontname . "\n";
my $outfile = "./Fonts/" . $filename . ".sh"; open(OUT,">$outfile"); print OUT "#!/bin/sh\n"; print OUT "$sh_cmd \"$fontname\" $fontsize\n"; close(OUT); chmod(0755,$outfile); } close(CMD);
exit 1;

 
けど、僕の中ではかぁなり、フォントの扱いが楽になったんですけど;-)。

あ。pango-view.sh の中身は相対パスから絶対パスに書き換えています。さむないと Dolphin が認識してくれなかった。

3月 182010
 

恥ずかしながら FreeBSD 上で Java なアプリを初めて使う機会に恵まれました。今まで必要性を全く感じなかったのですが、OOo をインストールする時に Java が入るので、java/diablo-jdk16 は入れていたのですけどね。

では、どんなアプリかと言えば、Twitter 用のアプリなのですが「なにかないかなぁ?」と思い探していたら PeraPeraPrv と言うのを見つけました。まず先に MacOSX にインストールしたんだけど、それとは別に Java で書かれているので FreeBSD でも動作するらしいのであります。

と、言うことで早速試してみました。とはいいつつ、僕は Java については全くと言っていいほど解らない。とりあえず P3_4_18 をダウンロードして起動してみました。おぉっ!!

javaApp_1.png

無事に起動しましたが、文字化けしている模様です。けど、MacOSX 版で大体の場所を把握していたのでフォントの設定を先にします。すると、無事にアンチエイリアスが有効になって表示されたのでありました。パチパチパチ。 Java って pango とか cairo をリンクしているのかな?

後、起動中は KDE のパネルのシステムトレイにちゃんと乗っかってくれるのも嬉しいかなぁ;-)。

javaApp_2.png

細かい話を少々しますと、PeraPeraPrv の設定ウィンドでは「表示」タブに “GTK の Look and Feel を使用する” ってチェックボックスがあるんだけど、僕は(KDE4 上で使用する) GTK の Look and Feel はあまり好きではないのでチェックを外てみました。そしたら今度はピュア Java な環境で文字を表示するようになったのかな? 見事に文字化けしてしまいました。けど Look and Feel は美しいのよ;-)。

なので、以下のコマンドを打ってみました。

# cd /usr/local/diablo-jdk1.6.0/jre/lib/fonts
# ln -s /usr/local/lib/X11/fonts/FONTDIR fallback

 
そしたらメニューの部分は Java 側がフォントを表示してくれるようになりました(よく分からないのですが、そー言うことですよね?)。アプリケーション自体は設定ウィンドの「フォント」タブから指定したものが有効になっています。

後は、起動ファイル(と言うか、起動用のスクリプト)を書いて KDE4 のメニューに登録して作業は完了。って感じなのでありました。

いやぁ。本当に FreeBSD で Java が動作するんですねぇ。嬉しいですねぇ。

それにしても、これなら ports にできそうだぞぉ;-)。

3月 172010
 

pango-view を利用したフォント表示ツールを作りました。ただのシェルスクリプトなんですけどね。

以下の URL に置きました。もしよかったら使ってみて感想など教えて頂けると、張り合いが出るって感じでしょうか(^^;;。

http://www.icmpv6.org/Prog/FontBook.pango-view.tgz

自分の PC にインストールされたフォントで MacOSX SL の FontBook みたいな文字を表示するスクリプトです。 GUI ではありません(^^;;。

一応、キャプチャ画面だけ載せておきます。

FontBook_pango-view.png

ちなみに表示されている物語りは宮沢賢治の「ポラーノの広場」だと言うことは以前に教えていただきました

配布の形式は tar 玉にしていますが、全然たいしたことないです。その中のスクリプトを実行するとこんな感じのウィンドが表示されます。

オプションや詳細については tar 玉の中に README.txt があるのでそれを読んで頂ければと思います。

それにしても pango-view はちょっとだけ期待ハズレだったかなー。

追伸。
「テキストファイルのセンタリング」ですが、pango-view のオプションに “–align=center” と言うのがありました・・。orz 教えていただいた皆さんありがとうございました。