2009年
5月
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年05月01日 ubuntu netbook remix

_ mini9でubuntu 9.04

ubuntuの9.04を試してみようと思って、どれかにしようか迷ったけど、netbook remixにした。SDにデータをバックアップして、日本のページにはnetbook用が無かったので、www.ubuntu.comからimgをdownloadして、フラッシュにimgを
dd if=ubuntu-9.04-netbook-remix-i386.img of=/dev/sda bs=1M
としてboot用にコピーした。 0を押してフラッシュから起動すると、インストールしないでも試してみれるようだったので、とりあえずそれを実行。読み込みに時間がかかるので、起動が遅いのはともかくとして、自分の期待したものとはあまりにも違っていて唖然。 まず、ランチャーみたいなのが全面に立ち上がって、それから抜けることができない。ターミナルも立ち上げるのに苦労した。ようやくクラシックスタイルを見つけて、それに変えてみたものの、こちらではターミナルさえ見つけることができずに断念。 良かった点としては、firefoxでFn+ZでF11を押すと、titleバーに加えてmenuバーまで隠せて、画面全体をbrowserとして使えたということがある。このあたりはgnomeがやっているのかな。LXDEではできないだろうか。 ubuntuの日本語remixも挑戦しようと思ったが、こちらはCD用でフラッシュからは起動できなかったので、保留。いずれにせよ、gnomeになってしまうので、これをなんとかしないといけない。xubuntuを入れてからLXDEにする方が良いのかな。それともminimalインストールが選択できると良いのだが。 まあ、mini9はもうしばらくはdebian lennyで行きそうだ。

_ 2009/5/13追記

firefoxでF11を押すと画面全体をbrowserとして使えるようになるのは、firefox自身の機能のようだ。ただし、LXDEの場合にはopenboxがF11でtitle barを隠すというshort cutになっているので、それが働いてしまう。LXDEで使うときには、メニューの表示のところで、全画面を選ぶ必要がある。しかし、これは面倒なので、.config/openbox/lxde-rc.xmlを編集して、F11をF12に変えた。F12には何も割り当てられていないようだったので。F11を押すとfirefoxの全画面、F12でopenboxの全画面になるようになった。


2009年05月08日 rubyのsymbol

_ シンボルクラス

ある文字列で指定されたメソッドを呼び出すときに、これまではevalを使って、
eval('"test".%s'%["size"])
などとしていた。evalはバグの原因になりやすいので、あまり使いたくはないのだが、これ以外の方法が分からなかったので、仕方なくそうしていた。 しかし、symbolというのを使うと、次のようにもっとスマートにできるようだ。
"test".send("size".to_sym)
"test".send(:size)
文字列で管理していたものを、symbolで管理して、必要に応じて文字列に変換するようにすれば良いように思われる。 1.8.7では動いているが、いつからあったのだろう。クラスを定義していて、インスタンス変数を外部からアクセスするために、
attr_accessor :name
などと書いているときに、コロンはなんだろうと思ってはいたが、実はこれはシンボルを表すものだったのか。

2009年05月09日 xubuntu9.04をmini9に

_ 4度めのOSの入れ替え

そろそろmini9のOSを変えたくなって、xubuntu9.04でLXDEにすることにした。

実際に作業する前に、これまでの環境で起動時間を測定。debian lennyのLXDEでは、電源のスイッチを押してから、ログイン画面が出るまでに42秒。実際には、grubが数秒待っているので、40秒といったところか。パスワードを打ってからが3秒ぐらいだった。ちなみに終了には20秒ぐらいを要した。

xubuntu-9.04-desktop-i386をdownloadしてから、CDに焼く。電源を入れて0を押してCDから立ち上げ、日本語を選択し、インストールを選んで開始。USAのキーボードを選んで、キーボードのテストをすると、Fnを使うキーのいくつかが入力できないが、気にせず続ける。swapを使わないようにするために、手動でパーティションをするが、このとき、ext2の方がSSDには良いらしいので、ext2をマウントポイントは/で選んで、swap無しという警告が出るのを確認して、インストールをスタート。

10分ほどでインストールが完了したので、とりあえず起動時間の測定。debianの楽々の勝利だと予想していたが、ログイン画面が出るまでは、33秒と速い。一方、パスワードを打ってからは18秒もかかった。ちなみに終了は17秒とあまり変わらない。

LXDEに入れ替えるために、aptitudeをupdateしてから、lxdeをインストール。もう一度、起動時間の測定。当然ログイン画面までは変わらないが、sessionをLXDEにすると、パスワードを打ってからは、3秒と高速。なかなか良い感じなので、自分なりのカスタマイズを。

まずは、基本的な設定。まずはパネルを右側に持っていく。外観の設定でフォントを7ポイントに。openboxの設定でappearanceのフォントをすべて7ポイントにし、desktopを四つにする。デスクトップ設定で壁紙を削除。terminalの設定の外観からフォントを7ポイントに。firefoxの表示をカスタマイズして、アドレスをメニューの横にもっていって、すべてのツールバーを削除。音がでるように、/etc/modprobe.d/alsa-base.confを以前の日記のように書き足す。

あとは日本語がつかえるようにする。manpages-jaをインストール。system toolsの中の言語サポートから、日本語をインストール。再起動すると、anthyから日本語が使えるようになる。

さて、残った問題はFnと共に押すキーである。一部は有効になっているのだが、これはハードウェアの問題だろう。押せない文字は`~|\の四つだが、これらは比較的よく使うので、このままではいけない。`は全角半角として認識されているようで、どこかで日本語のキーボードという設定がされているらしい。dpkg-reconfigure xserver-xorgで設定しているとjp106となっていたが、これをpc101にしても、何も変わらない。結局、dpkg-reconfigure console-setupでpc101にして、再起動したらうまくいった。いったい、設定ファイルはどこにあるんだろう。


2009年05月10日 LXDE on xubuntuのnetwork

_ wicd

昨日インストールしたxubuntuであるが、xfceではあまり問題ないようだが、LXDEでは少し問題があることが分かった。ネットワークの設定ができないのだ。/etc/network/interfacesをいじれば良いかと思っていたが、このファイルにはloしか記述が無い。eth0とかはどこにあるのかと探してみたが、見つからない。

いろいろと調べていたら、network-managerがそのあたりの処理をやっているらしい。しかし、LXDEからの立ち上げ方が分からない。xfceで設定して、logoutしてLXDEに入ればうまく動いているようだが、これではまるで意味が無い。そこで、wicdを入れることにした。

wicdをインストールしようとすると、network-manager-gnomeがはずれるが、気にせずそのまま進めたら、うまくインストールされなかった。おそらく、wicdを取得する前に、networkが切断されたようだ。しかし、network-managerがアンインストールされているので、networkにつなげない。しかたがないので、/etc/network/interfacesを編集してから、立ち上げ直して、インストールしたらうまくいった。

panelにwicdを入れてそこから設定すると、うまくいっているようだ。無線LANにも問題無くつなげることができる。あとで自宅の固定IPにつなげるかを試してみよう。

_ 2009/5/11追記

固定IPもうまく動いた。ただ問題なのは、DHCPと切り替えると、IPの情報が失われてしまうので、毎回IPを指定しないといけないことだ。どこかに設定が残っていないのかな。


2009年05月12日 プログラミング言語Ruby

_ 1.8と1.9の違い

先日、図書室にいったら、rubyの本があったので、手に取ってみた。とりあえず、発行日を調べたら、今年の一月だった。けっこう新しいなと思って中を見てみたら、面白そうだったので、買ってみた。「プログラミング言語Ruby」という本で、著者には一応まつもとゆきひろが入っている。

少し読んでみたが、1.8と1.9に関しては、普通の拡張なのかと思っていたが、結構大きな変更があるようだ。特に文字列の操作に関しては、マルチバイト文字への対応の関係だと思うが、かなり変わっている。

"abc"[0]

とした場合に、ruby1.8だと、一文字目の文字コード97が返ってくるが、ruby1.9.0では、文字"a"が返ってくるらしい。しかし、debian etchのruby1.9だと97が返ってくるな。debian lennyとubuntu9.04のruby1.9.0だとちゃんと"a"になる。

rubyでbinaryを扱う場合には、この違いは非常に重要である。文字として取り出すときには、1.8では

"abc"[0,1]
"abc"[0].chr

のようにしていたが、これらは1.9でも動くようだ。一方で、数字で取り出したいときには、1.9では

"abc".getbyte(0)

とするが、これは1.8では動かない。両方に互換性にある書き方をできないのかな。また、binaryを扱うときのopenの仕方も、

open("file.dat","rb")
open("file.dat","r:binary")

と変わったようだ。"rb"でも動くようにしてくれないかな。

今後、binaryを扱うプログラムをどのようなコードで書くかを検討しないといけない。

_ 2009/5/30追記

第一版のP110に間違いを見つけた。 「真」を「進」と書いているだけなのだが。


2009年05月14日 SDへのxubuntuのインストール

_ 2Gでぎりぎり

Windowsで動いているeeepc 901で、ubuntuも起動できるようにするために、SDにインストールを試みた。用意したのは2GのSD。これでは容量が足りないかも知れないとは思ったが、とりあえず決行。まずは、ubuntu9.04のnetbook remixを試したが、これはあっけなく容量不足で失敗。60%代でエラーが出る。xubuntuなら、1.5Gぐらいだという噂を見て、次に挑戦したが、あと一歩ということろで断念したが、とりあえずその記録をしておく。

まずは、xubuntuで、partitionerでSDを指すsdcを手動でext3の一つのファイルシステムにしてルートをマウントポイントとして指定する。これでとりあえずインストールは完了したのだが、二つ問題が生じた。

一つは、やはり容量の問題だ。インストール直後は問題なかったが、日本語環境を設定したら、SDの使用率が100%になってしまい、これ以上は無理と判断した。aptitude cleanをしたり、不要なapplicationを消したりしたが、なかなか厳しい。まずは、日本語を入れる前に、かなり容量を削って、そして日本語を入れるのが良いようだ。

次に問題だったのが、grubがSDDにインストールされてしまったことだ。普通は聞かれるだろうと思っていたが、何も聞かれずに無断にインストールされてしまった。よくよく調べてみると、advancedを選んで、grubをSDに入れるように指定すれば良いようだ。これは今度試してみよう。SD無しではWindowsが立ち上がらなくなってしまったので、どうしようと思っていたが、XpのCDROMで修復を行ったら、MBRを元に戻すことができた。具体的には、XpのCDROMから立ち上げて、修復を選択、Cを選んで、fixmbrを実行する。

まあ、この練習を踏まえて後日再挑戦する予定です。


2009年05月17日 lennyのxscreensaver

_ バグかな

PCを長時間使って無かったときには、xscreensaverが働いているが、lennyのものは、ときどきハングしているようだ。最初はlinux自体が止まったのかと思ったが、X無しでは動いていたので、別のターミナルからxscreensaverをkillしたら、動き出したので、おそらくxscreensaverがハングしていると結論した。etchの時にはこんなことは経験しなかったが、lennyになってからだろう。


2009年05月24日 PCManFileManager

_ lennyとxubuntu

lennyのPCManFileManagerでCDROMにアクセスしようとしたら、簡単にはできなかったので、結局コマンドからmountして使った。また、その後いろいろといじっていたら、ドライブの自動認識部分が死んでしまったようだ。どうやって復活させるのだろう。

別のPCだが、xubuntuでは、CDROMは自動で認識された。その当たりはubuntuの方がきちんとしているのだろうか。


2009年05月26日 PCの不調

_ 家のPCの一台が起動できなくなった。

問題のPCは、二番目に速いマシンで、使用頻度は一番高いものだった。HDDも三つぐらい積んでいたと思う。しかし、最近はmini9を家に持ち帰って使っていて、立ち上げる回数が減っていたので、すねてしまったのかも知れない。

発見した初日は、途中まで立ち上がって、いきなり再起動を繰り返すという症状だったが、今はbootの初期画面で止まってしまうようになった。最初は、電源が不調になって、途中で供給電力が不足してrebootするのかと予想したが、今は初期段階で止まるようになったので、マザーボードを疑っている。もしかするとHDDの問題かもしれないが、それならそのようなコメントが出る気がする。電源はいくつか予備があった気がするが、故障しているものもあるので、正常なものをいくつ持っているのか定かではない。近い型番のマザーボードもどこかにあった気がするが、捨ててないことを期待する。ほとんど同じマザーボードなら、うまくいくとOSも再インストールしないでそのままつかえるし。

良い機会なので、中身から一層して、組み直すべきかもしれない。しかし、そんなことをしている時間も気力も無いかもしれない。

_ 2009/6/15追記

なかなか寝付けなかったので、問題のPCを開腹してみた。電源を別のものにつなぎ変えても症状は変わらないので、電源はとりあえず大丈夫だと判断した。マザーボードにも一見何の異常も無い。そこで、メモリを疑うことにした。メモリは四枚挿さっているが、これをいろいろと挿し替えると、起動することを確認して、これが原因であることが分かった。一つのメモリが死んだのかと思って、一つ一つ挿して調べてみたが、どうやら死んでいないようだ。マザーボードの仕様としては、四枚挿す場合には、二つずつ同じ規格のものを使わなければならない。しかし、そのPCを立ち上げた時には、良いペアが見つからなかったので、その辺りを適当にしていた。しかも、512M*3+256Mという構成である。メモリをあさって同じ規格のものを探すと、512M*2+256M*2のペアが見つかったので、これに付け替えると、無事起動するようになった。まあ、メモリの量は減ってしまったが。


2009年05月29日 lennyのtex

_ ptex-jisfontsとrevtex

論文を書くためにaptitudeでrevtexを入れたら、文句を言われた。ptex-jisfontsとかちあうとかなんとか。すると、platexが使えなくなってしまった。まあ、英語の場合はlatexで問題ないだろうが、日本語のprosperが動くのか心配だ。

texのパッケージも日々変化していると思うので、lennyになったときにどれを入れようかと迷って、結局ptex-bin, xdvik-ja, ptex-jisfonts, gs, gv, gs-esp, gs-cjk-resource, xpdf, xpdf-japaneseを入れた。しかし、revtexを入れたことによって、ptex-binとptex-jisfontsがはずれたはずなので、何が残っているのやら。

いつか、インストールすべき適切なパッケージが何かを調べなければ。


2009年05月30日 n進法表記

_ linuxでの16進数の計算

WindowsとLinuxのソフトを比較すると、多くの点でLinuxの方が使いやすい。しかし、標準で入っているソフトの中で、唯一Windowsの方が勝っていると感じるのが計算機である。binaryをいじっていると、16進数の計算をしたくなるが、Windowsのcalcでは計算できるが、Linuxのxcalcだとできない。kcalcだとできるようだが。

そこで、rubyを使って計算することになる。これまでは、

ruby -e 'p "%x"%(0xa+0xb)'

とやっていたが、実はもっと便利なmethodがあることを知った。to_s(n)で、n進数の表記に変換できるのだ。すると、

ruby -e 'p (0xa+0xb).to_s(16)'

とすれば良いことになる。でもこちらの方がbyte数が多いな。ちなみに、1-zまでで表せる36進数まで対応しているようだ。99じゃなくてffの表を作るプログラムはこんな感じ。

n=16
for i in 1...n
  for j in 1...n
    print "%2s "%(i*j).to_s(n) 
  end
  puts
end 

これで、nを変えるだけでzzの表まで作ることができる。