FC2ブログ
2014/09/20

Openindianaの日本語入力を強化 G-HAL版のanthy

Anthy-GHALとも言われる、Anthyの大幅な強化バージョンがあります。
これは、mozcが日本のLinuxコミュニティーを席巻する前は、パッケージもできてよく使われていたものです。
G-HAL版は普通に日本語を打てるまでに強化されており、話題のない最近のmozcのほうがこけるかもしれません。
元がanthyなので、移植性も高いのです。mozcができる前は一番強力だったanthy-utの開発が終了し、
現在もアップデートされているanthyはG-HAL版のみです。
G-HALの由来はネットユーザーの名前です。

■ かな漢字変換 anthy で、個人用学習データを活用して変換結果の改善を目指すパッチ

今回はpatch13の旧安定版をビルドします。新しい安定版ではtokyocabinetというある種のデータベースが必要です。
特段の考慮はいりません。配布ファイルがtarのLZMA圧縮?大丈夫、普通に解凍できます。
./configure --with-pic ; gmake ; gmake install ぐらいでいいでしょう。
もし足りなかったら、iconv周りのiconv/utf8やiconv/unicode、iconv/ja-extraなどをリポジトリから付け足すといいでしょう。

問題は、日本の皆さんのマシンにすでにanthyが入っていることです。
これを避けるため、/usr/localにインストールします。
ライブラリのパス、Solarisではこの辺の設定はバイナリです。
crleコマンドで/usr/local/libを/usr/libより前に指定することによって、G-HAL版を優先して呼び出せます。
crleコマンドは-lでライブラリのディレクトリを指定します。うっかり-lのあとを空っぽにするととんでもないことになります。

このように、Anthy-GHALはOpenindianaでも難なく入ります。これでOpenSolarisのATOKを失ったのを取り返せますか?
しかも、長文もうまく変換できるのですが、逆に長文の方がいいです。長い方が情報がいっぱいあるので変換候補が正確になります。

追記:このanthy-GHALのrelease版はデータベースの読み込み?がながくアプリの起動もしくは漢字変換のONが毎回遅くなることがあるかも。stable版なら大丈夫。
追記:Anthy-GHALをアップデートしたら、~/.anthyを削除した方がいいかもしれません。もし変換がおかしければそうです。
2014/08/06

Openindianaにmozcに近い日本語入力を入れる

Opensolarisが提供されていた頃は、Sunは大盤振る舞いするものだから、ATOKが入っていたのですよ!
それがボランティアベースのOpenindianaにはもちろんありません。ORACLEのSolarisにはついてます。
Linuxでは、mozcという先進の日本語IMEがありますが、Linuxだけで使える様で。
Openindianaの方では何もできないのか??

mecab-skkservとは?



mecab-skkservは、mozcの開発者、工藤拓氏がgoogleへ入社する前に作ったSKKサーバーです。
このころ彼は、日本語の言葉の品詞や、つながりを解析できる、mecabという形態素解析プログラムを作っており、
なんとiOSの漢字変換でも使われているが、Appleからは何も感謝もフィードバックもないので、非難しています。
mecab-skkservは半ばお遊びでmecabをIMEにしてみたものです。
mozcとmecab、ネーミングにつながりがあります。mozcが使えない環境では、mecab-skkservが快適です。
ただ、日本が「にほん」で出てこないなど、詰めが甘いところがあります。でもSKKの辞書登録機能が何とかしてくれるのか?

mecab-skkservは、SKKという独特の操作方法がいるIMEの裏で動きます。しかし文節区切りまで手入力のSKKが普通に連文節変換できるので、
文を打つ時最初に文字キーとともにShiftを押せば、それなりに普通に使えます。
しかし打ち間違いでへんなモードにはいるなど、SKKのマニアックな機能はそのまま使えるので、覚えるだけ入力が速くなります。

ではビルドしてみる


ネタバレ注意、苦労してビルドに成功したい人は読まないで

ibus-skkがOpenindianaに最適なSKKでしょう。
bashのhistoryが残っていないので、手短に説明します。
[NOTICE] すべての./configureに--with-picをつける。

ibus-skk-0.0.10をダウンロード ./configure --prefix=/usr --with-picでビルド インストール
SKK-JISYO.Lをダウンロード /usr/share/skkに入れる これをしないとibus-skkの設定画面が出ない
mecab-0.996をダウンロード ./configure --prefix=/usr --with-picでビルド インストール
(mecabの辞書、例えばnaist-jdicはmecab-skkservに辞書がついてるのでいらないと思うが、それが動かなければ、必要かも)
mecab-skkserv-0.03をダウンロード
cost-factor = 700
をdicrcの末尾に追加
mecab-skkserv.cppのgetopt.hへの参照をすべて削除
./configure --prefix=/usr --with-pic でビルド、インストール
mecab-skkservはwebサーバーのようなふるまいをするので、inetdから起動するのです。
skkserv         1178/tcp                        # SKK Kana Kanji Server

を/etc/inet/servicesに追記
skkserv stream tcp nowait nobody /usr/bin/mecab-skkserv %A

このような中身のファイルをinetconv -iで読んで、サービスに登録、起動
ibus-setupでSKKを使うようにする、language-panelを有効に、そこからibus-skkの設定画面をひらき、SKKサーバーをつかうように設定
再起動(もしくは再ログインでもいい?)
こんな感じです。

うまく行けば、変換精度がanthyよりも数段うえのIMEが手に入るはずです。
これで皆さんATOKを失ったのを少し取り返せますかね。
ただし単漢字が弱いのと、使い勝手に癖があるので、SKKの勉強がいります。例えば小さい「ぃ」はxiです。"li"では半角英語入力モードになります。そうなってしまったらCtrl+jです。
2014/07/06

Openindianaを開発版のhipsterに変えました

ISOを早速ダウンロード

ftp://ftp.nara.wide.ad.jp/pub/openindiana/dlc/isos/hipster/
から、できます。

緊急通知

2015年 Xorgがどうしようもない事になっているようです。まともに使えるのはnVIDIAだけで、その他のグラフィック機能では
VESAドライバがあてがわれ、動画の再生が困難と思われます。
もしR300までのATIとi965や初代HD Graphicsまでのintelの機能を動かしたいなら、旧版のDVDからhipster-2014.1リポジトリしかないです。
それはもうセキュリティ更新が止まっているのです。そもそもSolarisから動画を見たいと思う人がいるかです。
これでも文句が出ないと見た。まじでみんな無料版のプロプライエタリSolarisを使っているような感じでしょうか?
もうひとつ、GTKで日本語入力ができないときは、

# /usr/bin/amd64/gtk-query-immodules-2.0 --update-cache
# /usr/bin/gtk-query-immodules-2.0 --update-cache
# pango-querymodules > /etc/pango/pangorc

で治ると思います
compizは使えません。有効にしようとするとXサーバーまで落ちて再ログインです。

2016年:

最新リポジトリがまた変わったようです。
それからOracleがオープンソースのKMSカーネルドライバを公開した、
それをバックポート、
OpenSXCEという亜種から持ってきた、テスト中のドライバーdrm_gem_kmsでintelのグラフィック機能が使える可能性はある。
まだ問題がありnVIDIAと一緒とか、CPUにもチップセットにもGPUが入っているとかではだめ。

Openindianaは成長しない?

OpenindianaはまだLinuxの様な完全なものになっていないので、安定版でも/devというブランチですが、
/devってあるのにあの信じられないhartbleedの脆弱性が見つかってもパッチを当てないというぐらい
信じられないことになっています。
もはや普通のOpenindianaはまったく成長しません。

そのいっぽうで、/hipsterというブランチがあります。hipsterというのは英語の俗語で 流行に乗ってくる気の軽い奴という意味があるそうです。
このブランチは新しいものが次々と入り 何か不具合があるかもしれないと覚悟しておいてと説明があります。
そんなhipsterのほうには新しいDVDイメージがここのところ何回もリリースされています。つい7月1日にも出ました。
もはや普通のOpenindianaよりそっちの方をずっとやる積もりでしょう。おまえはArchLinuxか?

hipsterを導入してみる

/devの最新版、151a9からのアップグレードがなにかが(consolidationがなになに)引っかかってうまくいきません。
こういうときの為に、$HOMEをバックアップしました。
hipsterのDVDを焼いて、普通にインストールできます。このときパーティションは一旦再フォーマットされます。
で、いれたあと、なぜか長いけれど覚えやすいうちの無線LANのパスワードでネットに接続し、
最新の状態にアップデートしますが、なぜかまだ7月6日でも大量のアップデートが来ました。1.3GB以上、信じられない。
どうも、ヨーロッパの方にあるサーバーが空くのが日本では昼の11時からしばらく(3時アタリまで?)の時間あり、
それ以外の時間は結構ダウンロードが遅いかもしれません。しかも向こうのサーバーはいつまでも大きなファイルをダウンロードするのが辛いらしく、jreあたりでは速度がどんどん減って行きます・・・
最悪夜の7時より前に終わらせましょう。
しかし何かをインストールする前にアップデートして置かないと、後で不具合が起こるのは成長の早いArchLinuxなどを使っていればわかります。

hipsterはアップデートする時に注意

なんと、

# pkg image-update

をすると、自分で/usr/localに入れたプログラムや、サードパーティのリポジトリのプログラム、
自分で公式リポジトリから追加したgcc-48からcmakeなどのビルドツールが消えて、
$HOMEだけそのままの状態になる事態が一月に一回ぐらいあるのです。気持ち悪いです。
何が起こっているのか?
$ man pkgすると、何とimage-updateの説明がまったくありません。どういうことなのでしょうか?もうimage-updateはみんな使わないのかもしれません。
image-updateはどうやら環境を丸ごと変えてしまう。新規にhipsterを入れた後の最初のアップデートでのみするべきです。
hipsterはArchLinuxか?と思ったのですが、なんかちがう。BSD系でよくある安定指向が強く、firefoxはESRで一つ前のリリースが入る、色々なライブラリが相変わらず古い、些細なバグを直さない、ぐだぐだ?

hipsterは何が新しい

新しいセキュリティパッチが当たっている上に、gcc-48というパッケージがあり、新しめのgcc-4.8.3を使えます。
そのほかいろいろなカーネルの機能やライブラリが新しくなっているかもしれません。
色々な不具合が治っているかもしれません。ただ新しいハードウェアが使えるかは調べていません。
ですがGUIまわりは相変わらず古いままです。Xorgは1.7.7(2010年リリース)
Linuxなどがとっくに卒業したHALが入っています。

hipsterは肝心なサウンドが使えない

メニューバーの音量がミュートになっているのを見ました?使えないのです。

# pkg install pkg:/library/audio/gstreamer/plugin/base pkg:/library/audio/gstreamer/plugin/good

これでプラグインを入れて、再ログインしたらようやく使えるんじゃないかと。
ただgstreamerを使わないプログラムのサウンド機能は使えます。

hipsterでインストール直後から日本語入力を使う


2015-04-12 gdmのPOSTLOGINの設定がなく、
#!/bin/bash
for a in /etc/X11/xinit/xinitrc.d/*
do
if [ -x $a ]
then
. $a
fi
done

この様な記述を$HOME/.xprofileに書き込まないと、完全にGUIの準備がされません。
その後もう一回ログインすると、iiimfという仕組みからanthyが使えます。

相変わらずUSBメモリのアクセスがトロい

USBのSSDからバックアップデータを戻しますがハードディスクが暇をこいています。
zfs iostatでwriteが1.9Mとは?普通USB2.0でも30~60Mでると思うのですが?
本当にこういうのはまずいと思いますが、USBの転送は当てにならないかもしれません。
読み込みなら/etc/systemにmaxphys=262144をかいて再起動でで27Mbpsいきます。
USB3.0のサポートを待っている人が多いようですが、もともとのSolarisのドライバのSTREAMSの実装に問題があって、
それが原因でもし出来ても転送速度が出ないのだそうです?

肝心なサービスが起動していない

またホットプラグのサービスが起動していません。これはまずい。デスクトップ用途でいきなり機器を差し込んで自動認識なんて当たり前です。

# svcadm enable hotplug


相変わらず無線LANが不安定

nwamがよく失敗するのが治っていません。
簡単にとりあえず治す方法!
GNOMEのツールバーにあるnwamのiconをクリック、
rootになってnwamのGUIから無線LANのアクセスポイントの設定を 削除!
元に戻せない警告を無視してOK
しばらくするとネットワークの一覧が出る。そこで、今までつないでいたネットワークをクリックすると…
パスワードの入力なしでつながった!!

これからはhipsterをたよりにする

メーリングリストを読まないと何か問題に遭遇するカモと他のサイトにあったのですが、
とにかく、えーセキュリティ脆弱性がほったらかしなのも2010年のままのOSというのもしんどいので、
hipsterで行きたいと思います。はい。
しかも、なぜか開発版の割に不具合も少ないので、なかなかいけます!
2014/06/05

Openindianaが遅い!重い!これで解決

[完全リニューアル]本当に効果のある方法を教えます。

驚愕の事実

なんと、デフォルトでちゃんとしたタイムシェアリングが有効になっていない場合がある?
FX=固定配分だと? どうりでマルチスレッドのプログラムでも1cpu分しか使えないわけだ!
dispadminコマンドで確認し、

# dispadmin -d TS

で有効にできます。
FSSという新型のスケジューラーでは優先度に応じて公平に配分できるらしい。

え、そこを変えるの?

Solaris系のリソース管理は複雑で、特定のzone、もしくは、特定のprojectというもので管理できます。
projectってなんずら? 例えばこいつの10番はgroup.staffになっていて一般ユーザーということです。1番がrootで0番がsystemです。
何か目的毎にプロジェクトでリソース制限ができる。

# prctl -n project.max-contracts -v 12 -r -i project 0


Solarisの名残の「契約数」というパラメーター。これは購入ライセンス数ですが、もちろんOpenindianaだから、タダ。
これを自分のパソコン(2コア4スレッド intel Core-i3 350M)の3倍にした。これによってスケジューラーの動作が身の丈に合うものに。
本当に高速になります!!
しかしスレッド数の3倍ですよ? 売っているSolarisはライセンスを買い込まないとパフォーマンスが出ないのか?

# prctl -n project.max-shm-ids -v 2048 -r -i project 10
# prctl -n project.max-msg-ids -v 8192 -r -i project 10
# prctl -n project.max-sem-ids -v 2048 -r -i project 10


GUIや最近のプログラムだとメモリ共有のパラメータが128まででは遅くてしょうがないんじゃないの?
共有メモリとセマフォの設定項目は/etc/systemにも設定できる。しなくてはいけないのか?

I/Oを速くする


いまではデスクトップでもI/Oが大きいことがあります。もし、純粋なデスクトップ用途なら


#グラフィック
strmsgsz=262144
strctlsz=262144
#ディスク
maxphys=262144


これを/etc/systemに書いて再起動してみてください。USBデバイスのreadが快速に。
逆にサーバーではここまで大きくする余裕がないかもしれません。

デフォルトの設定がこんなに簡単なことすらしないの?

Linuxは、ハッカーのデスクトップの用途から始まり、サーバーに使われるようになったのでパラメーターチューニングが後で
CFQ、ミラクルパッチなどの設定なしでうまく処理をスケジューリングする機能が発達しました。
しかしSolaris系ではサーバー管理者が場合に応じて懸命にパラメータを変えるのが本来の有りかたなのです…
しかし上記の設定によりだいぶ動画がなめらかに再生できるはずです。
あと、なんかヤバいことを指摘した気がする。
2014/05/03

Openindianaを選ぶ理由…それは 雰囲気!

Openindianaを選ぶ理由、それは
UNIXの本元から別れた、高性能で多機能なSolarisになれているから、と言うのが
一番多い理由だと思うのですが、

自分は雰囲気で選ぶという、とてもありえないことをしています。
Openindianaの雰囲気というのは 大衆に思いっきり合わせてあるWindowsとか、
ハッカーOSで2007年ごろまでは思いっきりアンダーグラウンドな雰囲気のしていたLinuxとかと違っていて、
なぜか明るい上品な雰囲気がしますね。GUIはGNOME2を使っているはずなんですが。
本当はこの点Mac OS Xが一番いいのですが、Macは高すぎます。

俺たちは社会を根元から支える基幹サーバーにOpenindianaを使っているんだ、バカにするなと思ったでしょう。
しかしそういう人は私以外にもいて
http://toro.2ch.net/test/read.cgi/unix/1285876800/
例の2chのスレッドの過去ログです。
転載が禁止されているらしいので >>143 を読んで見てください。
極めて珍しい書き込みだと思います(BSD系ではありえないはず)が プロの管理者はこんなことがありえるのがOpenindianaだと思ってください。

さらにいうとこのブログのOpenindianaの記事はほとんどがluserの日常生活で使えるようにするためのもので、
ZFSでRAIDを組むとか、zoneで仮想サーバーを構築など、スキーで1080をキメるようなハックはすみませんがよそのサイトでお願いします。
このようなテクノロジーはいわば影分身の術で、雰囲気でいれた人には混乱するでしょう。

雰囲気でOpenindianaをいれたひとは

お金があるならそんなことよりまずMacbookやiMacでも買うことをおすすめします。なにもかも非常に優れているとのはなしです。
LinuxもBSDもOpenindianaもメカ好きこそうまく扱えます。無料で甘い話はありません。
UNIX系のOSの仕組みはコンピューターを分かっている人にはとてもわかりやすいのですが
まずは予備知識が必要なOSです。ノートパソコンを使う人でもパソコンを組み立てる本とUNIXやOpenSolarisの入門書を図書館で借りることをおすすめします。
このサイトのOpenindianaの記事を見るのはそれからです。
Windowsで「エラーでどうしようもない」ですむ問題が、色々な内部構造が明らかになっており検索するとよく出てくるので、知識があればあるほど自分で修理できるし、そうしたくなってしまうのです。
小難しいですがうまく勉強できればパソコンに自分の考えた雑用をさせることだってできます。UNIXはそういうことがしやすいのです。
それをするまではまずはとにかくUSBメモリをさしたら使用後電源が切れたときまで抜かないことをおすすめします。
エクスプローラー見たいなソフトのイジェクトボタンをおすと抜くことができるのですが、アップデート後にgvfsを入れないとそれすらでないかもしれません。

Openindianaはどうしてできたもの

Openindianaの歴史も知っておく必要があります。
Sun Microsystems(サンマイクロシステムズ)という業界で有名なハイテクIT企業があり、
無料、オープンソース、ボランティアによる構築のLinuxの隆盛で自分たちの作っていたUNIXの一種、Solarisが売れにくくなると、
Linuxの真似をして無料、オープンソースでSolarisの一部をOpenSolarisとして大盤振る舞いしました。
しかし、ほかにも色々大盤振舞いしたのかSunは潰れ、データベースで有名なORACLEが残骸を買うと、
金を失うOpenSolarisは手放され、それをボランティアの有志が手入れしているのがOpenindianaとその中核部分のillumosなのです。
公式ではillumosというネーミングはへんな意味はなく、Solaris(ラテン語で太陽)とおなじく照らし出すものilluminate+OSの意味があるそうです。
ORACLEの方でまだOracle Solarisが売られています。それも無料版(ただし自由には使えない)があるので、ややこしいことになります。双方のZFSは互換性がなく融通がききにくいのもきついです。
illumosコアのOSはあまり流行っていませんが、このような不思議な名前と(陰謀論はアメリカで根強い)不思議な経緯があるから(もらったようなOS)コミュニティのやる気に影響が出ているのかもしれません。

オカルト注意な話

Openindianaの良い雰囲気を保つには、
ビデオドライバのnvidiaかそれ以外かを選択するogl-selectサービスがあるので、それを止めないことと、
BIOSを一旦初期設定にしてみる、
ディスプレイを精密に色補正する xbrightness-rgbgamma 試験運用中なLinux備忘録・別館などが使えます、
GNOMEなどでデフォルトの設定を使う、
あまりファイルを散らかさないことがあげられます。
大量の個人ファイルの持っている雰囲気によって、最初の綺麗な雰囲気が違ってくるかもしれません。再インストールすると私の言ったことが分かるはずです。

ノートパソコンのタッチパッドのスクロールを使いたい

Openindianaはsynapticsのドライバーが入っているので
そのまま使えなくともちょっと設定をいれるとつかえます。バグトラッカーのhttps://www.illumos.org/issues/2697(英語)

Openindianaスタイリング


日本語の設定をしたのに、英語の表示が残っている


Openindianaはもちろん海外のソフトウェアなので開発者に日本語をしってる人がいるかどうか怪しい、
GNUやGNOMEのプログラムは翻訳メッセージが、ORACLE Solarisのと同じコマンドも翻訳メッセージがあります。
GNUやGNOMEのはかつて存在したパッケージで有効になっていたのですが、今回は同じことをこのコマンドでします。

# ln -s /usr/share/locale/ja /usr/share/locale/ja_JP.UTF-8


これでGUIのログインから日本語になる。/usr/localも同じようにできます。
なおhipsterでやってみたのですが、151a9でも使えますか?

ホームディレクトリが虚しい

ホームフォルダがDesktop/いがい空っぽです。
$ xdg-user-dirs-update
でWindowsXP風のセッティングをしてくれる。

外観

ログイン画面の青い壁紙はもう一度自分のパソコンの色補正をしたところくすんで見えることがなかったので、記述を修正します。すみません。
フォントまわりもpangoやfontconfigが入っているので、Linuxとまったく同じ要領です。ただしfc-cacheは/usr/bin/amd64にもあるので、両方実行してください。
普通にUNIXなので外観を変えるのに必要なGTK2、metacityのアイコンセットもテーマもLinuxと同じ感覚で入れることができます。
gnome-look.orgでよく自分にあったテーマを探すと作業態度がよくなって効率も上がるのでエンタープライズの皆さんも一通り検査してからチェンジしてみてください。たぶん/usr/shareでなくとも個人個人で入れられるはずです。
で、デフォルトではNimbusという不思議なテーマが使われますが、
設定メニューの外観のCustomizeを押していろいろするとウィンドウの枠だけNimbusやNimbus-darkにできます。これがかっこいい。
なおGTKのテーマエンジンをコンパイルする際には、64ビットのバイナリも必要だというのを忘れないでください。それを生成するには

bash configure --prefix=/usr --libdir=/usr/lib/amd64 CC='gcc -m64' CXX='g++ -m64'

このような設定が必要でしょう。



とにかく冒険心が大事です。ちょうどindianaが名前に入っています。