FreeBSDからWindowsXPの共有をmountする

FreeBSD自体にはmount_smbfsがあるんだけど、-E optionによる文字コード変換で、utf-8対応がちゃんとなされておず、通常のままでは文字化けしてしまう。
http://www.mail-archive.com/freebsd-users-jp@jp.freebsd.org/msg03921.html
にあるようにpatchを当てれば使えるんだけどね。

で、今回はもっとお手軽に sysutils/fusefs-smbnetfs を使ってみた。
portsでinstallすると、あーせーこーせーとmessageを出してくれる。
で、今回やった事。

  • sudo sysctl vfs.usermount=1。ついでに、/etc/sysctl.confにも書き足す
  • fusefsがinit scriptを提供してくれてるんで、それを実行する。具体的には、/etc/rc.confにfusefs_enable="YES" を足し、sudo service fusefs starth
  • ~/.smbを作り、/usr/local/etc/smb.confと/usr/local/share/doc/smbnetfs-*/smbnetfs.confを~/.smbにcopy
  • ~/mountpoint を作る
  • smbnetfs ~/mountpoint でmount!!

って、あれ????うまくいかない。
smbnetfs.confのsmbnetfs_debugのloglevelを10まであげて再実行。
どうも、smbnetfs.confの最後で認証情報とホスト情報関係のファイルをincludeしてるのが無いと怒ってるっぽい。
とりあえず、~/.smb/smbnetfs.authと~/.smb/smbnetfs.hostをtouch。smbnetfs.authの方には

auth Windowsホスト名 vikke pass

を書いて、chmod 600しておく。

で再度、smbnetfs ~/mountpoint 実行。

fuse: failed to open fuse device: Permission denied

やっぱり怒られる。

/devを見てみるとfuse0というdeviceが生えていて、そのownerがroot:operator。
/etc/groupを編集し、vikkeをoperatorに追加して、一度logout/login。

で、smbnetfs ~/mountpoint でmount!!

出来た!!

chromeのprocess modelがわからない


ubuntu上のchromeが重い
chromeをずっと使ってると非常に重くなってくる。processのmemory使用量が2GB(40tab位開いてて、遷移もしている)に近づくと新規tabの作成や、既存で開いていたtabをscrollさせる時にひっかかりのような重さが出て来る。

そこで、起動時の引数に --process-per-tab を付けてみた。この引数を付けると各tabにそれぞれprocessが割り振られるらしい。processの肥大化が問題なら、これで緩和されたらいいなーと試してみた。

すると願い通り、非常に軽くなった。ただし、memoryの消費もはんぱ無い事になってる。限界を越えるとswapの嵐。vmstatで観察していると面白い。でも、とりあえずは(VirtualBoxとかを大きなmemory確保とかで動かさない限りは)限界に到達しないんで、しばらくはこれで良いかなーと思ってる。


ちょっと調べてみる
chromiumのdocument を読むと、それぞれのtabはそれぞれのprocessになると読めるんだけど、下の絵のように、chromeのタスクマネージャーを見ると1processが複数tabを持っているように見える。

うーん。良くわからん。

ちなみに、ちょっと話がずれるけど、マニュアルのprocess-per-tabの弱点についての記述も、よく意味がわからない。

Leads to undesirable fate sharing between pages. If the user navigates a tab in a browsing instance to a different web site, the new page will share fate with any other pages in the browsing instance.

すごい意訳だけど、

page間でいやんな運命も共有しちゃうよ。もし、あるbrowser instanceのあるtabで別siteに遷移すると、新しいpageは、そのbrowsing instanceの別のページと運命を共有しちゃうよ。

このbrowsing instanceって、このdocの上の方で述べている、site毎のrender processって事かな?で、運命って言い回しは、ようするに資産共有しちゃうんで、crashとかすると巻き込まれるよと。tabでは無く、pageと言ってるのが、ちょっと良くわからない。1tabに表示出来るのは1pageなわけで、そのpageが壊れるって、tabが壊れるってのとは同義じゃないの?

わざわざこう書いてるって事は違うんだろうけど。


結論

  • よくわからないんで、時間をかけてちゃんとchromiumのdocumentを読んでみる必要がある。
  • そもそもdefaultの設定で、たかだか40tab位で遅くなるってのがおかしい気がする。なんか僕の環境おかしいのかな?
  • 英語力無さすぎ。

とりあえずそんなかんじ。

virtualbox内のWindowsでiTunes使えた

wifiが繋がらなかった件も解決したんで、メインPCの環境をubuntuの10.04LTSから12.04LTSへ変更にした。移行では無く、新規install。/homeのpartitionは/とかと別に切ってるんで、手間はそんなに大きくは無かった。

今回12.04へ移行した時に一番期待していたのが、iPhoneへの音楽同期や、fsへのaccess。10.04では、libmobiledeviceとかを色々弄ってみたけど、結局上手くできずに、windowsとのdual bootで対応していた。結果から言うと、fsへのaccessは非常に上手く出来るけど、音楽の同期はRhythmboxやgtkpodを使ってみたが、なんか上手く出来ない。結局iTunes on Windowsは必要になっている状態。

では、そのWindows環境を、どのように準備するか。
以前、dual bootも面倒なので、VirtualBoxで運用しようとしたが、iTunesとiPhoneの同期が遅くて話にならなかった。
今回改めてvirtualboxのpageを見ていた所、Downloadのpageに、

VirtualBox 4.1.14 Oracle VM VirtualBox Extension Pack All platforms
Support for USB 2.0 devices, VirtualBox RDP and PXE boot for Intel cards.

と言う記述を見付けた。
以前遅かったのは、USB1.0だか1.1だったからっぽい。ちょっと試してみた所、ばっちり同期出来た。
これは嬉しい。
10.04LTSから移行したのはiPhoneの使い勝手だけだったんで、この事を知ってたら12.04への移行はもう少し後になってただろうな。

あとVirtualBoxとは関係無いけど、gnome terminalが256color対応にいつのまにかなってた。8.04LTSの頃には対応してなかったと思う。そんなわけで、自分でurxvtに256color patchをあてて使ってた。gnome terminalで全然問題無いんで、しばらくこれで行ってみよう。

ubuntu 12.04 LTS(あるいは11.10でも) on X201i でwifiが使えない時対処

X201iとか、intelのwifi controller使ってるいくつかのPCで、無線LANが、APは見えるけど通信自体が遅い、あるいは全然繋がら無いという現象が起きてる。bug reportは Bug #836250 “8086:4238 Intel Centrino Ultimate-N 6300 poor netwo...” : Bugs : linux package : Ubuntu にある。
どうも802.11nで通信しようとすると駄目らしい。
なんで、本質的解決じゃ無いけど、driverを組込む時にそれをoffにする事で使えるようにする。32bit版と64bit版でmodule名が違うみたい。

で、具体的な対処。
/etc/modprobe.d/配下に適当にfileを作り(ここではコメント番号#23にならい、intel-6200.confとしておく)下記内容を書く。
32bit版

options iwlagn 11n_disable=1

64bit版

options iwlwifi 11n_disable=1

あとは

# modprobe -r (iwlagn|iwlwifi) && modprobe (iwlagn|iwlwifi)

でmoduleを組込み直せばOK。

8.2RでIntel Graphicのドライバが無いので断念

FreeBSD(PC-BSD)に僕の使ってるThinkPad X201iのwifiドライバ iwn がいつのまにやら乗ったらしいので、ubuntuからFreeBSDに変更しようと思って、PC-BSDの8.2を入れてみた。


結局あきらめたんだけど、理由として、X201iのgraphicであるIntel GraphicのX用ドライバが無く、VESAの汎用ドライバを使わざるを得なかったから。一応1024/768 24bitカラー出るんだけど、とにかく描画が遅い。書き換えてるのが見える位。


調べると、色々記述が出てくる。
http://forums.freebsd.org/showthread.php?t=21852
http://www.phoronix.com/scan.php?page=news_item&px=OTEzMg
http://www.freebsdfoundation.org/project%20announcements.shtml#Kostik (しかしURLにスペースってちょっとびくりだ)


要するにGEMの実装/KMSの移植してますよと。それで新しいDRIドライバを書くよと。iXsystemsからのスポンサーも受けてるみたい。commiterの大地タソによると、確かcurrentには入ってた気がする(未確認情報)なんで、相当期待出来そう。楽しみだ。

muttで日本語ファイル名の添付ファイル名がISO-2022-JPでエンコードされたままの場合。

set rfc2047_parameters

する。
日本語patchで対応されている物と思って(set create_rfc2047_parametersていうoptionが日本語パッチで追加されてたんで)、そこらへんのドキュメントとか引っくり返してたんだけど、わからずMLで質問して教えてもらった。デコードに関しては本体で対応していたらしい。
ただし、厳密に言うとrfc違反。なんで、defaultではoffってあるそうです。