4月 162014
 

ちょっと前に「WindowsPhone8 update3」と、いうエントリを書きました。ようやっと Lumia Black 対応になって画面の横向きを停止できたりとか、色々な恩恵を受けられたんですけども。

その後、2014/04/02 に開かれた Microsoft Build Developer Conference 2014 において Windopws 8.1 Update と一緒に Windows Phone 8.1 が発表され、今回、僕の持っている Nokia Lumia 620 に Windows Phone8.1 開発者向け Preview 版が降ってきました。

上のエントリのところでも書いていますが、僕自身がデベロッパ登録して、 Lumia 620 自体も開発者向けアンロックされている端末なので「設定」->「電話の更新」メニューから調べてみると、アップデートがあってバババと、ほぼ一晩かけてバージョンアップが完了しました。

まず最初に多分 Windows Phone 8.1 対応のために電話機側のバージョンアップが必要だったのでしょうねぇ。三回くらいバージョンアップを繰り返しました。しかし、それでも Windows Phone 8 のままで・・。
その後、大規模な更新が入って「お。いよいよ Windows Phone OS 本体のバージョンアップ開始かぁ?」などと思いバージョンアップしつつ力尽きて寝てしまいました。

次の日に起きて確認すると Windows Phone 8.1 になっていて、最後にデータを最適化してバージョンアップが完了です。

20140416_1

さてさて。Windows Phone 8.1 になってどこが変わったか? Windows Phone 8 からどう変わったか? などについてちょっと書いてみたいと思いますが、まずはダメな点から。

 
1). Windows Phone 8 から引き続きダメな点
o. ヲレヲレ SSL な https:// サイトの対応がダメだぁ・・。
今後のブラウザアプリで更新されるのかもしれないけど、ヲレヲレ証明書の SSL を通過できるブラウザは IE だけ。と、いうお粗末さ。アプリストアからダウンロードしたサードパーティー製ブラウザは根こそぎヲレヲレ証明書な SSL サーバにアクセスできません。

IE を利用したとしても「永久に信じる」ってのが無いので毎回確認する必要があります。Windows Phone 8.1 になってもダメなのでいいかげん何とかして欲しいような気がします。

けどもまぁ、セキュリティのことを考えると、これはしょーがないのかなぁ・・。

o. DHCP は相変わらずだぁ。
Wi-Fi で接続した時に DHCP アドレスしか取得できないというのも以前バージョンから変わっていませんね。
僕は自宅では Wi-Fi 環境でも固定アドレスを利用しているので Windows Phone の場合には dhcp サーバで Mac アドレスの設定を入れ、固定アドレスを配布するように設定しています。

o. いい加減 Bluetooth キーボードに対応してくれぇ・・。
今回のバージョンでは Bluetooth キーボードは「接続完了」状態にはなったんだけど、文字が打てない・・。orz。 Bluetooth キーボードは二個持っているんだけど、どっちも利用できない。
今回のバージョンでは Bluetooth キーボードは対応してくれたのかなぁ?

 
2). WindowsPhone 8.1 になってダメになった点
o. 「自分アプリ」って言うんですかねぇ? 投稿時の動作が・・。
Facebook と Twitter などを統合して表示してくれるアプリがあるのですが、記事を書くときに以前のバージョンだと、一個の文章を Facebook と Twitter の両方に投稿することができたんだけど 8.1 になってからどっちかにしか投稿できなくなったみたい。

同じ文章を Facebook と Twitetr の両方に投稿できなくなったのはちょっと痛いかなぁ。

o. 「バックグラウンド」メニューはどこに行った?
僕がまだ見つけられていないだけかもしれませんが、 Windows Phone 8 でバックグラウンドで通信を行うアプリを制限できたんだけど、そのメニューがなくなってしまったようです。バックグラウンドで通信やアプリの制限をかけたいんだけどどこで制御するんだろ?

 
3). Windows Phone 8.1 になって気がついた点
o. NFC が「設定」メニューに登場
以前は「ファイル共有」とかそんな感じのメニューだったんだけど、 Windows Phone 8.1 からはちゃんと「NFC」と書かれるようになりました。

設定できる項目的にはまだ少ないんだけど、Windows Phone の仕様としては NFC タグからは連続して特定のアプリを起動できないらしいんですね。例えば、

Wi-Fi オン -> Bluetooth オン -> サードパーティ製音楽再生アプリ起動

と、いう一連の流れを一個の NFC タグで行おうとした場合、最後のアプリ起動が許可されていないんですね。が、しかし、今回の 8.1 以降ではその仕様が変わる可能性がある雰囲気はあります。今後に期待。でしょうかねぇ。

あ。ここに書いて良いのかわかりりませんが、メニュー的には “VPN” というのも出来ました。利用してないので機能的にどうなのかわかりません。

4). Windows Phone 8.1 になって増えた機能
これは色々なところで色々な人が書くと思うのでここでは取り上げなくても良いとは思うのですけどねぇ。

o. 通知センター(Action Center)ができた
上からスワイプすると、Android のメニューみたいなのがベロンと出てきます。

20140416_2

表示されるメニューは選べます。あと、メールとかスケジュールも表示されるので他の OS にだいぶ近づいてきた感じがするかなぁ(と、いうコメントもあちこちのレビューサイトで書かれていますね)。

o. Wubdiws Phone UI がぁーーっ!!
Lumia 620 は画面がちっこいのに横に並べられる四角いメニューが 1.5 倍になりました。今までは 小四個が最大だったのに今度は小六個まで並べることができるようになります。
当然、どっちにするかは設定メニューで選べますが、僕は今までどおり小四個で行くことにしました;-)。

バックグラウンドに写真が貼り付けられるようになったのは有名な話ですよね;-)。

o. コルタナ(Cortana)?
これも有名ですよね。 iOS の Siri のように賢くなったと言われていますが、日本語版についてはまだ動作確認はしていません。

以前は Windows ボタンを長押ししたら起動したんだけど、あれ? 動かなくなったなぁ。

ただ、Windows Phone 8.1 にしたときにメールというか SMS が飛んできたのですが、その文章をいきなり読みだしたのには驚きました。中々良い感じでメールの本文を読んでいました。日本語版もそこそこ充実して来たのかな?

20140416_3

 
と、いうことでパっと触ってみた Windows Phone 8.1 について書いてみました。 僕の持っている Lumia 620 は安い端末で見た感じ結構ちゃちぃですが、ハードウェアと OS の相性は中々良いと思います。サクサク動くし、ベンダの対応も早くデベロッパー用の OS バージョンが利用できたりするし。

マニアな人向けでも構わないですが、今後はもう少し流行っても良い感じがしますね。

 
あと、最近ボクが思っていることをちょっとだけ書くと、僕自身、スマートフォンというのは、初代 iPod Touch が出た時にすぐに購入しました(あ。スマート”フォン”ではないな;-)。そのあと、周りの人より随分早く iPhone3G を購入して、自称ですが当時時代の最先端をドヤ顔で歩いていたと思っています;-)。

しかし、今の時代、スマートフォンの最新鋭・高機能満載機種の iPhone・Android を持っていてもドヤ顔はできません。今ドヤ顔で利用できるのは Windows Phone だけだと思っています(自分が持っているし;-)。

今の時代、ドヤ顔するなら絶対に Windows Phone です;-)。

4月 042014
 

最近は IME に関するエントリが多いですが、もう一回書いてしまおう。でもって、最近の連続する一連のネタは多分これが最後でしょうかねぇ;-)。

いきなり手前味噌で大変申し訳ありませんが、そもそも mozc.el な(ノラ) ports は僕が一番最初に作成して NakataMaho さん がコミットしてくださり、その後 mozc-server のメンテナの方が取り込んでくださった。と、いう経緯があります(japanese/mozc-el/Makefile の一番上見てね;-)。

mozc 自体には当初から emacs 対応の mozc.el がバンドルされていたけど mozc-server の作者が「僕、emacs 使ってないしぃ。」と、いうとこで mozc.el が ports にならなかったし、インストールされなかったんですけども。

で、現在は mozc の最新版は mozc-1.13.1651.102 ですが、 FreeBSD の ports 的には 1.11.1502.102 のままです。まぁ、 mozc を FreeBSD に対応させるためには随分たくさんの改修を行いパッチを作成しなければ make が通らないという、その苦労はよぉーく知っているので現行バージョンである 1.11.1502.102 でも一応、問題はありません。

が、しかし、 mozc-1.11.1502.102 な mozc.el には以下のようなバグがあって困っていたんですね。

 
X11 の emacs 上 (emacs -nw ではない状態) で mozc.el 経由で日本語を入力しているときに mozc のサジェストがウィンドから飛び出ると入力した文字が消えてしまう。
確定前の文字が消えるだけなら良いのですが、それ以前に入力した文字まで消えてしまう。

 
結構悲惨な状態で、それがいやでしばらくの間は ibus.el (ports 的には textproc/ibus-el です)経由で mozc を利用していました。

ところが、ibus-1.5.5 になって ibus.el が ibus-daemon と通信できなくなったので、いよいよ mozc.el を利用しなければならなくなった。

mozc.el を利用しいるとき emacs のウィンドの上のほうで文字入力をしている分には問題ないのですが、下のほうに来るとサジェストがウィンドの下を突き破るようになるので入力した文字が消えてしまうんですけどね。

 
何か回避策はないものかいのぉ。とかと思い、mozc の最新版のソースコードを持ってきて mozc.el を /usr/local/share/emacs/24.3/site-lisp/mozc/ にほーりこんでみましたよ。そしたらあーたっ!!

いやー。最新版の mozc に付属の mozc.el もしっかり更新されていて日本語入力中のサジェストは、ウィンドの下辺りで入力している場合にはカーソルのある入力行の上に表示されるようになり文字が消えてしまうというバグが改修されているんですね。これを利用しない手はないっ!!

 
ってんで、やっとここからが本題です。

mozc-server 自体は現行バージョンで良いし mozc.el インストール時に mozc_emacs_helper (バイナリ)が一緒にインストールされるのですが、これも現行バージョンのモノで良い。ただ単に mozc.el のみ最新になってくれると随分と幸せになれます。

と、いうことでパッチを作成しました。以下の URL に置いておきます。

http://icmpv6.org/Prog/FreeBSD_ports/patch-unix_emacs_mozc.el-20140402

このパッチを以下の要領で japanese/mozc-server/files/ の中に入れてください。

# cd /usr/ports/japanese/mozc-server/
# cp ~/patch-unix_emacs_mozc.el-20140402 files/patch-unix_emacs_mozc.el
# cd ../mozc-el/
# make && make deinstall && make reinstall
#

 

既存の mozc.el のパッチのみを置き換えるとこによって 1.13.1651.102 の mozc.el が利用できるようになります。ダウンロードしたパッチは 1.11.1502.102 と 1.13.1651.102 の mozc.el を diff しただけです。

非常にお気楽に、そして簡単に emacs の mozc 入力が最新になります;-)。

FreeBSD の ports の現行バージョンの mozc.el で困っている方いましたら是非ともトライしてみてください。

コミッタの方、どなたかこのパッチを吸収してくれないかなぁ。まぁ、パッチは差分だけなので簡単に作成できると思うのですけどね;-)。

4月 022014
 

以前のエントリで FreeBSD で利用する ibus-1.5.5。 というのを書きました。
要は ibus が 1.4.2 から 1.5.5 になったら随分と使い勝手が悪くなったねぇ。と、いうことで、どうしたらちゃんと利用できるようになるか? ってネタなんですけどもね。

そのエントリには僕自身がコメントしたのですが、この際 fcitx-mozc でも試してみるかねぇ。って書いていて、早速試してみました。が、実際には以下の通りの動作で、実質的にしゅーりょー。な状態だったのであります。

 
fcitx をインストールして japanese/fcitx-mozc のコンパイルを通しても正常に動作しないのですが、考えられる原因としては mozc-1.11.1502.102 に対応する japansese/fcitx-mozc のパッチは多分 fcitx-4.2.8 用で、 FreeBSD の ports は fcitx-4.2.6 となっており chinese/fcitx 本体と japanese/fcitx-mozc のバージョンに差異が発生しているため、上手に通信が行なえように思われます。

 
試してみるとまさしくその通りで、そのエントリのコメントを読んでくださった Hiroto Kagotani さん が chinese/fcitx を最新のハージョンである fcitx-4.2.8.3 にしてくださいました。

それならば fcitx-mozc は動くべー。とか思い、試してみました。

結論から書くと fcitx-mozc は fcitx を最新版にすることにより、サクっと動作しました;-)。以下その顛末を書いてみたいと思います。

 
1. fcitx-4.2.8.3 のインストール
ports の chinese/fcitx は古いバージョンなので Hiroto Kagotani さん が作成してくださった最新版の ports を以下から拾ってきます。

https://github.com/HirotoKagotani/freebsd-fcitx/tree/master/chinese/fcitx

git clone で取ってくるのが良いでしょうかねぇ。 git についてはここには書きませんが、僕は mew のソースツリーを持ってきているので git はそこそこ使っています;-)。それとほぼ同じやり方で一式を持ってきました。

あとは ports の chinese/fcitx を置き換えて make install しておしまいです。

ちなみに Hiroto Kagotani さん は、作成した ports はメンテナの方に連絡するそうなのでもうしばらくすると fcitx-4.2.8.3 が ports-current に降ってくるのではないでしょうか。

 
2. japanese/fcitx-mozc/Makefile の改修
これは簡単。 IGNORE= の行をコメントアウトします。

 
3. japanese/mozc-server を更新
japanese/fcitx-mozc を make すると japanese/mozc-server の Makefile の中が走るのでその部分を一部改修します。
既に改修した ports を以下の URL に置いたのでご利用ください;-)。

http://icmpv6.org/Prog/FreeBSD_ports/ports-mozc-server_add_fcitx-4.2.8.3_fcitx-mozc-20140402.tgz

既存の ports からの変更点は fcitx_mozc で BUILD するときに持ってくるパッチ先とパッチを変更しています。
ダウンロードするパッチは fcitx-4.2.8.3 に対応するパッチです。パッチ本体は以下の URL からダウンロード可能です。

http://icmpv6.org/Prog/FreeBSD_ports/fcitx-mozc-1.11.1502.102.1_fcitx-4.2.8.3.patch

fcitx-mozc は mozc のバージョンが 1.11.1502.102 でも fcitx のほうは最新版である 4.2.8.3 を利用する必要があります。 mozc-1.11.1502.102 に対応する 4.2.6 用のパッチがない (mozc-1.11.1502.102 に対応する 4.2.8.3 のパッチはある) ので japanese/fcitx-mozc は IGNORE= 状態になるんですね。

なので今回の場合は japanese/fcitx-mozc が悪いワケではなく、中々バージョンが上がらなかった chinese/fcitx のおかげで IGNORE= になった。と、考えるべきでしょう。

さてさて。ダウンロードした ports で japanese/fcitx-mozc を make するとサクっとインストールしてくれると思います;-)。

あとは、表示される pkg-message の内容に設定して、一旦ログアウトしてからログインし直します;-)。

 
4. KDE4 利用時の GUI について
インストールが無事に完了して、ログインしたら動作確認です。僕の場合は KDE4 を利用しているのですが、fcitx を起動するとパネルに何やら表示されます。 mozc をオンにするにはデフォルトでは 全角/半角 キーを押します。すると日本語入力が可能になります。
GNOME は利用してないのでわかりません。ごめんなさい。

右クリックでメニューが表示されますが [設定] をクリックするとエディタが立ち上がります。あたたた。
KDE4 で GUI な設定ウィンドを表示するには kcm-fcitx というのが必要なようです。 FreeBSD の ports にはなってないようなので、僕が ports を作り、以下の URL に置きました。必要な方はダウンロードしてください。

http://icmpv6.org/Prog/FreeBSD_ports/ports-kcm-fcitx-20140402.tgz

どこに展開して良いかわかりませんが、 textproc/ 辺りに展開して make && make install してください。 LIB_DEPENDS= などかぁなりいい加減であやすぃーです。本当は KDE とか Qt 辺りも書かなければダメなのだろうと思うのですが、僕の環境では既にインストールされているので・・f(^^;;。

正しく書きなおして、コミットしてくれる方、絶賛募集中です;-)。

で、インストールした kcm-fcitx は起動するとこんな感じで GUI で fcitx を設定できるようになります。

kcm-fcitx

色々設定変更してみてください。

あ。ちなみにエディタで設定ファイルを編集する場合には $HOME/.config/fcitx/config というファイルになります。

 
5. 利用してみた感想
では、実際に fcitx-mozc を利用してみた感想ですが、まず一番驚くのがカーソルに日本語を随時表示してくれない。と、いう点でしょうか。以前ちょっとだけ Windows 上で利用したことがある「Baidu IME」みたいな雰囲気で、日本語入力専用窓が出てそこでベコベコ打って、確定したらカーソルに反映される。と、いう感じです。
これが好きか嫌いかについては意見の別れるところではありますね。

あと、mozc のサジェストの「意味の機能」(だっけか?)が利用できないです。”語” 対する説明文が表示されません。

スクリーンセーバにパスワードロックがかかっている場合に日本語入力状態になってしまいます。

状態パネルを表示すると怪しいところに出たりとか;-)。

文字入力時の UI 部分に違和感が多少あるのみで、文字の入力自体は特に問題なく一応は行える。と、いう感じでしょうかね。

 
と、いうことで(僕が初めて利用する)新しい日本語入力である fcitx と、そこからエンジンとして利用する fcitx-mozc について、今回は書いてみました。

ports の chinese/fcitx が最新版にアップデートされると、多分追随して japanese/fcitx-mozc と japanese/mozc-server も対応していくと思われます。そー考えるとこの記事の内容というのは先が短い記事である。と、いうことですねぇ・・f(^^;;。

まぁ、それはちょっと置いといたとして、人よりもちょっと早く新しいかな漢字入力の動作確認ができるぜい。って感じですね;-)。

このエントリを読んで今すぐに試してみたい。と、いう人はいるんかなぁ? f(^^;;。

4月 012014
 

いやね。もう随分と前から KDE4 で VirtualBox を起動して、仮想マシンを作成するときに、インストール用の ISO イメージがマウントできない。と、いう状態が続いているんですね。以下のようなダイアログが表示されるんです。

klauncher_dbus_err

原因としては VirtualBox を起動した(もしくは VirtualBox から起動された(原因は特定していない状態f(^^;;)) KLauncher が D-Bus と接続できないぜぃ。って話らしいんですね。

色々調べたのですが ubuntu 方面では dbus のバージョンを 1.4.8 辺りに落とせば良い。ってのがあったのですが、今の FreeBSD では dbus-1.6.18 になっているのでそれはちょっと考えられなしいし、その話題が出ていたのは dbus が 1.5 系のころで、さすがに 1.6 系になっても dbus がおかしい。なんてのはちょっと考えられない。

と、いうことでその案はしゅーりょー。まぁ、実際にバージョンを落として試してみたことはあるのですがダメだったですね。

 
そもそも上記のエラーが出るのは仮想マシンに ISO イメージをマウントするときだけです。ただ、 ISO イメージがマウントできないと OS のインスールができないわけでして・・。
OS のインストールが完了した仮想マシンがある場合には一般ユーザ権限でも VirtualBox はガシガシ動作してくれるのであります。

と、いうことで今回は “Could not start process Cannot talk to klauncher: Not connected to D-Bus server.” と、いうメッセージが出た時の回避策を書いてみたいと思います。そのためにはまず前提条件からですね。

 
1. 前提条件
o. KDE4 を利用していて VirtualBox を起動しようとする
o. 今回のバージョンは kde-4.12.3 と virtualbox-ose- 4.3.10 にしましょう
o. 普段は一般権限のユーザで VirtualBox を起動する

この状態で VirtualBox から ISO イメージをマウントすると一番上のエラーが出るんですね。あたたた。

 
2. root で起動
一般ユーザ権限で上記のエラーが出るので root 権限で起動するとどうなるのー?と、いうことで root で起動する準備を整えます。

まず、一般ユーザ権限のディレクトリを root のホームディレクトリに symlink します。

$ sudo -s
# cd /root/
# ln -s /home/takachan/.VirtualBox
#

 

次に root で ssh ログインできるように /etc/ssh/sshd_config を変更します。

#PermitRootLogin no
PermitRootLogin yes

 

パスフレーズでログインする場合にはこの設定は必要ありません。また、セキュリティがことごとく低下するので自己責任でお願いします。
あとは /etc/rc.d/sshd restart して準備は完了です。

続いて、ローカルホストの root に対して一般ユーザから ssh して VirtualBox を起動します。

$ ssh -CY -2 root@localhost
Password for fqdn:
# setenv LC_TIME C
# setenv LANG ja_JP.UTF-8
# setenv LC_CTYPE ja_JP.UTF-8
# VirtualBox
        :

 
VirtualBox を起動したときに言語が英語になっている場合には LANG で自分で利用している文字コードを setenv してあげます。
VirtualBox を起動したら仮想マシンの設定を開いてすかさず ISO イメージをマウントします。あぁら不思議。と、いうかさすがは root 権限ですね。特に問題もなくスルっと ISO イメージがマウントできました。

ISO イメージがマウントできたら root 権限での VirtualBox はサクっと終了して ssh も抜けてしまって大丈夫。 /etc/ssh/sshd_config の設定をもとに戻して完了。ってところでしょうか。

 
3. 一般ユーザの環境をもとに戻す
/root/ に symlink した $HOME/.VirtualBox/ は root が情報を書き込んでいるので一般ユーザでただちに VirtualBox を起動すると無事に動作してくれません。環境を整える必要があります。

$ sudo -s
# cd /home/takachan
# chown -R takachan:user .VirtualBox/
# chown -R takachan:user /data/VMs/
#

 

$HOME/.VirtualBox/ の他にも仮想マシンのディスクイメージが入っているディレクトリのオーナ・グループも変更する必要があります。僕の場合は /data/VMs/ に仮想マシンのディスクがありますのでそのオーナ・グループも変更します。

これで準備は完了。あとは一般ユーザで VirtualBox を起動して ISO イメージからブートして OS をインストールすれば良いでしょう。

 
それにしてもどーして root でしか dbus にアクセスできないのでしょうか? dbus-daemon は通常 messagebus ユーザ messagebus グループで動作しているようです。と、いうことは /etc/group の messagebus に一般ユーザ名もしくは VirtualBox のユーザである vboxusers を書いたら良いんじゃね? とか思えるのですが、それを試してもダメだったのでありました。あたた。

と、いうことで現状、僕の知る限りでは ISO のマウントのみ root 権限で実行するしか手はないのかなぁ・・。などと思った次第であります。

ちゃんとした解決法をご存知の方いましたら教えて頂ければと思います。