2009年4月13日月曜日

PCManFMでUSBメモリとかマウント

X上で動く軽いアプリケーションの紹介がLightweight Softwareにある。通常のファイル管理はEmacsのdiredモードでもいいんだけど、なんかUSBメモリとかいちいちマウントするのはやっぱり面倒なので勝手にやってくれるというファイルマネージャを使ってみた。LXEDを入れてみたときに入ってたPCManFileManeger。このファイルマネージャを使うときには事前にfamというデーモンを動かしとかないとダメらしいので、/etc/rc.confのデーモン配列に入れておく。

で、起動してみると、Windozeのエクスプローラライクな感じで良い。
しかし、、、目的のUSBメモリとかをクリックしてみるとエラーダイアログらしきものがでて使えない。なんとなく、デバイスの権限関係っぽい。rootで起動してみるとちゃんとマウントしてくれるっぽい。

調べてみるとフォーラムで話題になっていた。halデーモンのデフォルトのポリシーの問題らしい。というか、この手の質問が沢山あってよく分からない(^^;;

とりあえず、I won the struggle against hal and policykitが解決策っぽい。電源部分は必要ないので、/etc/Policykit/Policykit.confに以下の内容を入れてみた。

<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->

<!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN"
"http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd">

<!-- See the manual page PolicyKit.conf(5) for file format -->

<config version="0.1">
<match user="$storage_users">
<match action="org.freedesktop.hal.storage.*">
<return result="yes"/>
</match>
<match action="hal-storage-mount-fixed-extra-options">
<return result="yes" />
</match>
<match action="hal-storage-mount-removable-extra-options">
<return result="yes" />
</match>
</match>
</config>


$storage_usersグループの文字列は、該当ページのシェルスクリプトで作成して変数としてエクスポートしとけばOKなので、そのスクリプトをデーモン配列の中でhalの呼び出しの前にしとくようにかかれている。面倒なので、うちでは直接ユーザー名をそこに入れた。nekoがユーザー名なら下の通り。複数いるなら"|"で区切っておけば良い。

<match user="neko">

halやfamを再起動しても変わらなかったが、PC自体再起動したらユーザー権限でめでたくUSBメモリがマウントされた。

0 件のコメント:

コメントを投稿