2009年
7月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

セットアップ日記


2009年07月06日 emacs21 and emacs22

_ utf8に対応

以前はxemacs21を使っていたが、それまでのemacsとなんか違う気がして、emacs21に移行した。debian lennyとubuntu9.04になってから、emacs22というのがあることには気がついていたが、特に必要に感じなかったので、emacs21を使い続けていた。

Ubuntu Weekly Recipeでemacsのことが書いてあり、emacs22を薦めているようだったので、emacs22を使ってみた。すると、以下の二点でemacs21よりも使いやすいことが分かった。

まず、utf8に対応したということ。最近、utf8のテキストが増えてきていたが、emacs21では読めなかった。nkfで変換すればあまり苦労しなかったので、気にしてはいなかったが、当然読めた方が便利だ。

また、マウスのスクロールが使えるようになった。page up, page downはキーボードでもできるし、横のスクロールバーを使えば問題無かったのだが、他の多くのソフトでできることは、ついくせでやってしまっていた。

emacsの主な不満点が解消されたことになる。


2009年07月09日 Rでfitting

_ 多項式フィット

実験に必要なデータの処理は、rubyとRを使ってやっている。単純な計算はrubyで、グラフなどを扱うときにはRと使い分けている。カーブfittingもRで行うのだが、これが意外に面倒である。Rは統計のためのソフトなので、それほど複雑なfittingは想定していないのであろう。 まだ、Rに不慣れなためということもあるのだが、多項式でのfittingは、次数を変えるためにいちいち書き換えなければならなくて、煩雑に感じる。また、今回は、二変数でfittingしたかったので、さらに複雑になった。結局うまくいったfittingはこんな感じ。
result <- lm( z ~  
1+ x +I(x^2) +I(x^3) +I(x^4) +I(x^5) +
y+ I(y*x) +I(y*x^2) +I(y*x^3) +I(y*x^4) +I(y*x^5) +
I(y^2)+ I(y^2*x) +I(y^2*x^2) +I(y^2*x^3) +I(y^2*x^4) +I(y^2*x^5)
)
ここで、I()はfitting特有の式の解釈をしないために必要になるようです。result$coefで係数を取り出して、もとのデータとの整合性をチェックする。 あとはrubyで計算させれば良いわけだが、fittingに使ったxに関して五次、yに関して二次の式を計算するのに、rubyでは以下のように記述した。
coef=[
[ -1.741370e+00,  7.970617e+00, -4.912943e-01,  3.099862e-02, -6.283200e-04,  5.164492e-06 ],
[ -2.927893e-01,  7.592103e-02, -7.253879e-03,  3.186369e-04, -6.577961e-06,  5.171831e-08 ], #y
[ -1.592628e-02,  1.488542e-03, -3.180673e-05, -1.340528e-06,  6.018192e-08, -6.055244e-10 ], #y**2
]
sum=0.0
coef.each_with_index{|a,i|
  sum+=y**i*a.reverse.inject{|s,c| s*x+c}
}
このとき、injectを二回入れ子にしたら、エラーがでた。当然なのだが、一回目のときに、arrayと数値を計算しようとするためだ。しかし、これを回避する方法も思いついた。
coef=[
[ -1.741370e+00,  7.970617e+00, -4.912943e-01,  3.099862e-02, -6.283200e-04,  5.164492e-06 ],
[ -2.927893e-01,  7.592103e-02, -7.253879e-03,  3.186369e-04, -6.577961e-06,  5.171831e-08 ], #y
[ -1.592628e-02,  1.488542e-03, -3.180673e-05, -1.340528e-06,  6.018192e-08, -6.055244e-10 ], #y**2
0.0
]
coef.reverse.inject{|ss,a|
  ss*y+a.reverse.inject{|s,c| s*x+c}
}
として、最高次の項を0にしておけば、常に数の計算にできるので、多項式部分を単純にできる。しかし、どちらが良いのか微妙なところではある。今回はもう書いてしまったので、初めの方法で良いことにしよう。

2009年07月13日 xubuntu 9.04にlatexをインストール

_ latex-env

ubuntuでlatexをインストールするのには、latex-env-jaとかを使うと良いという話だったので、aptitudeで探してみたら見つからなかった。私の環境はxubuntuで日本語remixではなかったので、おそらくJapanese Teamによる追加パッケージにあるのだろうと思って、それを使えるようにした。
wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -
sudo wget https://www.ubuntulinux.jp/sources.list.d/jaunty.list -O /etc/apt/sources.list.d/ubuntu-ja.list
sudo aptitude update
sudo aptitude upgrade
そして探すと、latex-env-ja等が見つかった。というわけでインストール。
sudo aptitude install latex-env-ja latex-extra-ja
sudo jisftconfig add
sudo aptitude install ghostscript gs-cjk-resource gv
sudo aptitude install adobereader-jpn
こんなもんかな。しかし、debian lennyと同様に、revtexとは相性が良くないようだ。

_ 2009/7/20追記

参考のために、インストールされたパッケージを書いておこう。
latex-env-ja
  dvi2ps-fontdata-ja{a} dvipdfmx{a} dvipsk-ja{a} lacheck{a} latex-beamer{a} 
  latex-env-ja latex-xcolor{a} lmodern{a} pgf{a} prosper{a} ps2eps{a} 
  ptex-base{a} ptex-bin tex-common{a} texlive texlive-base{a} 
  texlive-base-bin{a} texlive-base-bin-doc{a} texlive-common{a} 
  texlive-doc-base{a} texlive-extra-utils{a} texlive-fonts-recommended{a} 
  texlive-fonts-recommended-doc{a} texlive-generic-recommended{a} 
  texlive-latex-base{a} texlive-latex-base-doc{a} 
  texlive-latex-recommended{a} texlive-latex-recommended-doc{a} 
  texlive-math-extra texlive-pstricks{a} texlive-pstricks-doc{a} tipa{a} 
  xdvik-ja 
latex-extra-ja
  cmap-adobe-japan1 dvi2ps{a} jbibtex-base jbibtex-bin jmpost 
  latex-extra-ja mendexk okumura-clsfiles ptex-jisfonts vfdata-morisawa5{a}
  vflib3{a} 

2009年07月15日 revtex4

_ debianとubuntuのrevtex

以前、debian lennyとubuntu jauntyのlatexでrevtex4を使いたくて、revtexを入れたが、依存関係がうまくいかなかった。どうやら、revtexではなく、texlive-publishersを入れれば良いということが分かった。実際にやってみたら、revtex4もうまく動くようになった。lennyでのtexのインストールは今のところこんな感じ。
aptitude -y install ptex-bin xdvik-ja dvipsk-ja prosper
aptitude -y install texlive-publishers okumura-clsfiles
aptitude -y install dvi2ps-fontdata-ja ptex-jisfonts
aptitude -y install dvipdfmx xpdf xpdf-japanese
aptitude -y install ghostscript gs-cjk-resource gv ps2eps
jisftconfig add
dpkg-reconfigure cmap-adobe-japan1 # select optional
jauntyはこの前書いたのに、texlive-publishersを加えた。しかし、インストールすべきパッケージに過不足がある気もする。しかし、とりあえずこれで、presentationの準備と論文書きができる。

_ 2009/7/24追記

eepicをつかうために、texlive-picturesも入れていた。


2009年07月16日 hp mini110

_ やっとhpからmini110が発売された。

海外ではずいぶん前から発売されていたが、遅ればせながらようやく日本での発売となった。期待していたlinux版は無いようだ。これで購入する可能性はかなり少なくなった。

あと気にくわないのは、ACアダプターのACコネクタが、ミッキータイプだということだ。日本でははやっていないし、かさばるので好きではない。

これらを考慮すると、dellのmini10vの方が勝っていると言えるので、これを買うという選択肢は無くなった。


2009年07月18日 dell mini10v

_ mini10vとmini9の比較

知人がmini10vを購入した。mini9との比較がしたかったので、少し触らせてもらった。やはり画面が大きいのは良い感じである。また、キーボードもファンクションキーの列があるのは安心する。しかし、Fnキーを押さないとファンクションキーとしては働かず、そのまま押すとLCDの光量調整などになってしまう。これは普通は逆なんじゃないかと思う。160GのHDDを積んだ機械だったのだが、若干振動を感じる。通常は気にならないと思うが、mini9に慣れていると少し違和感を感じる。

ACアダプタはmini9とほぼ同じ感じで19V。とりあえず、起動時間の測定。ubuntu8.04でログイン画面まで40秒ほど、パスワードを打ってからは16秒ほど。GNOMEだとこんなもんだろう。その後ubuntu9.04のnetbook-remixを入れてみたが、起動時間はそれほど変わらなかった。

XFCE4やLXDEを試してみようとしたが、netbook特有のランチャーが邪魔をしてうまくいかない。いろいろといじっているうちに、GNOMEも立ち上がらなくなったので、再インストール。10インチあると、ランチャーのメリットはほとんど感じられないので、クラシックスタイルに。netbook-launcherをremoveしようとしたら、ubuntu-netbook-remixも消されそうになったので、それは止めておいた。

今度はアプリケーションの最大化が邪魔になって取り除こうとしたけど、weekly recipeに書いてある方法では、セッションが見つからずに一旦断念したが、「自動起動するアプリ」にあって、働かなくすることに成功。でも、結局maximusをremoveした。

また、ネットワークマネージャーをwicdに入れ替えたが、今回もネットワークが切断されてそのままではうまくいかなかった。前回と同様に手動でネットワークを認識させてインストールした。

最後に苦しんだのが、アプリケーションの一覧である。gnomeのパネルを右側に持ってきていたが、そこに表示されるアプリケーションは、アイコンではなく「・・・」になってしまうのだ。幅を30pixel以上にするとアイコンが出てくることを発見するまでに、いろいろと試行錯誤を用した。

やはり、一つの環境を気に入るようにカスタマイズするのは難しい。


2009年07月19日 ubuntu 9.04のタッチパッドの設定

_ gsynaptics

ノートを使っていると、キーボードを打つときに、タッチパッドに触れて、カーソルが変な場所に行ってしまって不便なことがある。タッチパッドの設定を変更するには、若干面倒な作業が必要になるようだ。まず、gsynapticsをインストールする。
sudo aptitude install gsynaptics
そして、これを有効にするために/etc/hal/fdi/policy/preferences.fdiを編集して、<device>のところに以下を書き加える。
<match key="input.x11_driver" string="synaptics">
<merge key="input.x11_options.SHMConfig" type="string">true</merge>
</match>
そして、再起動すると、設定が可能になる。lxdeだと、gsynapticsと打って起動するが、gnomeだと、設定のメニューから行けるようだ。とりあえず、タッピングの時間を短くしてみた。偶然触ってしまうときには、ゆっくりだろうと予想しているのだが、しばらく様子をみよう。

2009年07月20日 mini9のタッチパッドon xubuntu

_ タッチパッドの細かい設定

昨日は、gsynapticsを使ってタッチパッドの設定を行ったが、 synclientを使うと、さらに細かい設定ができるようだ。これをhalに組み込めば、起動時に反映される。

まず、現在の設定を見るには、

synclient -l
とする。様々なパラメータが出てくるが、trueは1、falseは0に対応しているようだ。これを眺めていると、いくつか疑問が解けた。たとえば、RTCornerButton=2となっており、右上をタップすると、中ボタンが押されたことになる。入力中にいきなり変な文字列がペーストされることがあったが、これが原因のようだ。四つのコーナーにボタンを割り振ることができるので、
RBCornerButton = 3
LBCornerButton = 1
としてみた。すぐ下のボタンを押せば良い気がするのだが、しばらく使い勝手をみてみよう。

ほかに有用なパラメータを探してみたが、RightEdgeを変えると、VertEdgeScrollができる範囲が変わるようだ。VertTwoFingerScrollも試してみたが、よく分からなかった。 TouchpadOffは有用かもしれない。これを1にすると、タッチパッドが使えなくなる。文字入力のときに誤動作を防ぐことができる。これをショートカットに割り当てておけば便利かもしれない。PalmDetectで手のひらで触ったときの誤動作を防げるようだが、これもよく分からなかった。

このあたりのパラメータの意味を書いてあるサイトは無いかな。


2009年07月23日 実行できない。

_ noexec

メインのPCでシェルスクリプトを実行可能にして、実行すると、
bash: ./temp.sh: /bin/sh: bad interpreter: 許可がありません
と出て実行できないことに気がついた。データを保存するためのHDDの中で実行していたのだが、
cat /etc/mtab |grep noexe
とするとそのHDDが出てくるので、noexecとしてマウントされているのが原因と分かった。そこで、/etc/fstabに、execオプションを付け加えてみた。これで動くかな。

2009年07月26日 xubuntu9.04のprosperで日本語

_ gs-cjk-resourceがポイントらしい

最近、プレゼンテーションはlatexのprosperを使っている。prosperは比較的派手な視覚効果が使えるので、powerpointなんかを使う必要がなくなる。rb->dvi->ps->pdfと変換していて、rubyのソースを書き換えれば良いので、気軽に書くことができるのだが、psの中間ファイルが大きいのが難点である。

しかし、linuxで使うときには、日本語の設定で苦労する。debianのときにはjisftconfig addとすることと、dpkg-reconfigure cmap-adobe-japan1でoptionalを選ぶのが重要だった。普段はdebianで使えれば問題無いのだが、出張中に使おうと思うとnoteに入れているubuntuで動くと便利である。これまで、なかなかうまくいかなかったが、gs-cjk-resourceをインストールすれば良いようだ。2009/7/13の日記ではインストールしていたが、実際にはなぜかインストールされておらず、これを再度インストールしたらうまく行った。つまり、ubuntuのprosperで日本語を使うには、2009/7/13の通りで良いということだろう。