2009年9月29日火曜日

halevtでマウント

仕事が暇になっちゃったので、久々にメモ

リムーバブルメディアのマウントについて色々みてみた。

S101ではpcmanfmファイラを使って、USBメモリとかSDカードをマウントしてた。

デスクトップで使っている場合、gnomeやkdeがいろいろと面倒をみてくれるし、それに乗っかってるのが楽だけれど、netbookのS101で遊ぶには、ファイラに依存したり、そもそも、Xを立ち上げてるかに関係なく、リムーバブルメディアを差したらマウントしてくれる方が便利。

ここで、整理しておくことは、システムが機器を自動的に認識する仕組みとマウントをする仕組みは別々に考えること。その上で、リムーバブルメディアのマウントについて見てみると次の様な方法がありそう。

(1)udev
 udevはデバイスファイルの作成とモジュールのロードを担当する仕組み。
 オプションの機能で外部プログラム呼び出しが出来るので、
 これでマウントをする事ができるかもしれない。

(2)hal
 halはホットプラグに関連して、デバイスの情報データベースを持って
 整理し、 これを利用してアプリケーションにデバイスの追加や削除を
 含んだ情報配信をしている。
 hal自体にオートマウントに機能は無い。(はず)
 主にX上のデスクトップアプリケーション(主にファイラ)が
 halからのD-busメッセージを経由して、自動的にマウントを行う。

(3)autofs
 autofsはそれ自体が、自動的にマウント制御をするもの。

(4)ivman
 halとD-busを利用したボリュームマネージャだったが、2007年頃から
 開発が停滞。halのアップデートに伴い、pathcが必要。
 archではAURのメンテナも撤退?
 現在、適切に動くかどうか不明(将来的にはオブソレート?)

(5)halevt
 ivmanの後継的位置づけ(?)

halを使わないなら、udevのみでも出来そうな気もする。
autofsはリムーバブルメディアよりも、ネットワークファイルシステムの
自動マウントに昔から使われている仕組みらしい。
で、結局うちで試してみたのはhalevt。

ホームページ:http://www.nongnu.org/halevt/
AURのページ:http://aur.archlinux.org/packages.php?ID=24244

ドキュメントとしては上のホームページに設定の仕方が載っているが、元のソースファイル農中にあるREADMEも参照すると分かりやすい。AURのパッケージをインストールするとその辺のドキュメントはインストールされないので、別途拾ってきて見る方がお勧め。

halevtはhalを利用してデバイスの検知を契機に、任意のアクションを起こす仕組みを提供してくれる。

とりあえず、使いたい場合は以下の設定をする。

1.パッケージインストール
 archではAURにあるので、パッケージ「halevt」をyaourt等でインストールする。

2.設定ファイル
サンプルの設定ファイルが/usr/share/halevt/examples/以下に配置されている。
examplesディレクトリにあるautomatic_sync_mount.xmlを
/etc/halevt/ディレクトリに置く

設定ファイル内のhalevt-mountの-mを000で読み書き実行全て可能

3.マウントの権限
/etc/PolicyKit/PolicyKit.confに以下を追加。

<config version="0.1">
<match user="halevt">
<return result="yes"/>
</match>
</config>


4.デーモン
halevtはhalを利用するので、rc.confのDAEMON配列にhalとhalevtを加える。

以上の設定をしておけば、とりあえず、差したらマウントしてくれる。

その他の方法としては、上の様にシステム側でのデーモンとして動かさないで、ユーザー権限で動かすこともできる。設定ファイルを書いていく上でのとっかかりとして押さえておくオプションは以下のもの。

-f オプションでフォアグラウンドで動く。
-i オプションでモニタモードで動く。
-c オプションで設定ファイルを指定する。

自分で設定ファイルhogehogeを書いて試すときは、次のコマンドでhalevtからの出力も見ることが出きるので調整しやすい。


$ halevt -f -c hogehoge


-cオプションが無い場合、以下の順番でディレクトリを検索。
(aurパッケージの場合)

$HOME/.halevt/
/etc/halevt/
/usr/share/halevt

これらのディレクトリの中で、.xmlで終わるファイルを設定ファイルと
みなして読み込んでくれる。
(同一ファイル名の場合、順序が先のディレクトリにあるものが優先)

xmlの事はあまり詳しくないけれど、設定の基本はmatch要素でデバイスを
マッチさせてそのターゲットについて、OnInit(halevt立ち上げ時),
Insertion(デバイス認識時),Removal(デバイス削除時)等に、
対応したコマンドラインを設定するらしい。

halevtパッケージにはhal経由でマウントしてくれるhalevt-mount等の
ユティリティが同梱していてこれを利用する。hal経由のマウントについては、
先の設定で紹介したように権限の問題があるので、ユーザー権限で利用する
場合は/etc/PolicyKit/PolicyKit.confにユーザーを登録する必要がある。

その他の注意というか勉強TODOとしては、halが管理する情報のコンフィグ
の仕方の情報ポインタがよく分からない、、
mountポイントの名前付けルール等はhal側の設定になってると思う。
権限の扱いに付いても、イマイチ、、、

自動でマウントは出きるようになった。
しかし、USBメモリを抜く前にumountすべきなんだろうけど、
どういう作法が良いのかよくわからない。
シンクロはしてるようなので、ファイル扱った後、
ちゃんと閉じて、暫くしたら気にせず、ぶっこ抜いとけばいいのかな?w

後はぁ、、halevtとgnome上のファイラとか機能がかぶってるとどうなるのか不明。
まぁ、そのときはhalevtデーモン切ればいいか。。

2009年8月31日月曜日

次スレが出来てた

2ちゃんのarchスレがいっぱいになって、次のスレに移行してた。

夏は結局仕事が忙しくて盆休みどころか、土日も無くトホホ。。。
その割には、仕事から帰ってから夜な夜なWiiのモンハン3にハマったw

s101の方は、相変わらず無線LANが繋がらなくて、どうにかならないものかと
ごちょごちょやってみてた。
デバイス自体はずっと認識されてるから、ドライバの問題なんだろうけど、、
acpi経由(?)でいったん、無線LANデバイスを落としてから、もう一度立ち上げて、
それから、接続手順を踏むと、たまに繋がったりする。
ちゃんと繋がってたカーネルのバージョンもあったので、モジュールのソースの違いを
確かめたらいいのかなぁ、、

で、仕事が一段落したので、なんとなく本屋さんにあったRubyの本を買ってみた。

2009年7月17日金曜日

texとか

最近、暑すぎる!!
仕事で外に出ることが多くてくたくた><

昔texで仕事の書類を作って見たことがあったので、またやってみようかなぁ〜とか思い、埃をかぶったLatex2eの本達を引っ張り出してきてツラツラ読んだりしてた。
当時使ってたのって、vineかDebianJPで日本のディストリだったから、勝手にインストールされてたんだけれど、、Archの場合、パッケージをインストールして、、ってわけにはいかないのね(^^;

なにやら時代はLatex3を通り越してtexLiveとかいうのに進化してるの??
そもそもtexそのものについて詳しいわけではなく、ディストリに入ってたLatexを使ってただけなので、なんのことかさっぱり分からん。Webで検索してみるとptexliveってのがあって、wiki上で日本のtexのこれからの方向性とか熱く議論されてた。んで、やっぱりわからんw

windozeで昔の本の付録についてるCDからインストールして使うのがお手軽かな

2009年7月2日木曜日

xtermでuim編集時の文字化け

IONノートの方にはなんとなくuim入れたんだけど、xterm上で使うと日本語入力してる最中の編集部分?が文字化けしてた。gtkアプリは問題ないみたい。

解決策はuim-jaっていうメーリングリストの「[uim-ja 142] Re: Mandriva 200 9.1 上でクラッシュ」で紹介されていた。

xterm*ximFont: -misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-0

を~/.Xdefaultsとか~/.Xresourcesとかで読み込ませる。


2ちゃんで質問してみたら、同じ症状の人とかいた。
だけど、多分、普段みんなDE付属のgtkとかqtベースのターミナル使ってるだろうし、今更xtermとかでの不具合に気がつかなかったのかもしれないw
文字化けしてないよーって人が自分の設定とか紹介してくれたけれど、うちでは上手くいかなかった。
結局、文字化けする人としない人の違いって何処だったんだろう?
vineからビットマップフォント流用してみてるって人のを試したら上手く行ったのかな?

XTerm*font: とXTerm*fontDoublesize: で適切なフォントしていしたらxterm*ximFont: もそのフォントになるのかな?リソースの階層?のこととかいまいちよくわからん。

それ以前に、xrdbってのをすっかり忘れてた。はじめ~/.Xdefaultsにカキカキしてて、あれれ??だった。
Xの起動の仕方によるんだろうけど、うちではstartxでxrdbされてるらしい。
.xinitrcの先頭で

xrdb -merge $HOME/.Xresources

して、リソース設定は~/.Xresourcesに書くようにした。

すぐ忘れるので適当にググってメモ
UNIXの部屋 コマンド検索: ~/.Xresourcesとか?

2009年6月30日火曜日

IONノート(その3)

すっかりとIONノートを気に入ってしまった。

このノートの画面サイズは12.1インチモニタで1368x768、S101の10.2インチで1024x600よりちょっと広いだけなんだけど、すごく広く感じる!!GNOME&Compiz Fusionの組み合わせも普通に動いてると思う。

不満は、、、無線LANがよく切れちゃうことかなぁ。。
lspciするとAtheros Communications Inc. AR9285 Wireless Network Adapterって出てて、ドライバはath9kでS101とおなじやつ。S101と違うのは、iwlistとかのスキャンはちゃんと出きるし、アクセスポイントにすんなり繋がるんだけど、暫くすると接続がきれちゃうっぽい、、windozeの方でも同じような感じで、こっちはS101の時よりも繋がりも通信速度もなんとなくイマイチ。。。
もうひとつは、ノート用の2Gメモリが一個余ってた。ドスパラのページのスペックみてみると、メモリ最大4Gとか書いてるから、メモリのスロットがもう一個あるんだろうとおもって、裏蓋あけてみたら、確かにメモリ用の空きスロットらしいところがあったので、取り付けてみたんだけど、どうも上手く認識してくれない、、、相性がわるいのかな、、、

2009年6月29日月曜日

IONノート(その2)



実はS101ではGNOMEを一回も試してなかった。S101のWikiとかみると、GNOMEとかやめといた方がいいよ的なコメントがあったから、、だから、入れたらどれくらいの重さなのかわからないんだけれど、とりあえずIONノートはグラフィック処理がお得意っぽいし、ATOM330はデュアルコアなので、ちっちゃいノートでもきっと大丈夫だろうと思いGNOME入れてみた!

Xorg導入して、GNOMEインストールして、UIM入れて、、割とあっさり、普通にブログには書き込める環境はできちゃった。例のCompiz-Fusionもちょこっと試してみるとデスクトップがクルクル快適に回った。

そういえば、カーネルが.30にアップデートされてて、またS101の無線LANが死んだ><

2009年6月28日日曜日

Nvidia IONのノート買っちゃった

少し前からドスパラからのメールで「日本初、NVIDIA® ION™搭載ノートパソコン」なんてのが紹介されていた。今日なんとなくドスパラのホームページを見たら「入荷しました!!」なんてかいてあるものだから、仕事帰りに寄って、、、触ってるうちに欲しくなって、衝動買いしてしまった(^^;

買ってみてあらためて気がついたのは、、、ほんとS101って静かなんだ、、、ってこと。
この新しいIONノートは音がするw多分、うるさいわけではないんだろうけど、初めて買ったノートがS101だったから、他のがこんなに音がするとは知らなかった!

逆にS101は薄くて軽くていい!!って思ってたけれど、多少厚みがあっても少し重くてもあんまり気にならなかった。

とりあえず、性能はS101より上っぽいし、画面も少し広くてDVDドライブもついてて、HDDで容量も多いからWindozeとデュアルブートにしてみた。
しっかし、もってたXPは出た当初のやつなのでインストールが面倒だった><
archもコアだけインストール完了!

んーー、、ノートの左側に排気されるみたいで、左手をパソコンの横に置くとすごーーく熱いなぁ。。後ろに排気してくれたらいいのに、、、っていうか、こんなに熱いんだ(^^;