Top Page Index Mail Form

Linuxメモ Ubuntu 8.10 (Intrepid Ibex)

 最終更新日 2009.1.23

 とりあえず箇条書きのものを公開。ubuntuに限らない内容も載ってる一方、勘違いもあるかも。

S.M.A.R.Tで HDD監視

 うちの機械の HDDは S-ATAで、Seagate製でファームウェアの不良で起動できなくなる可能性のある製品でした。orz 2009年1月末現在、どうやら HDD内部の S.M.A.R.Tのエラーログが 320件になった時点で再起動すると二度と起動できなくなる というものらしいです。ログの記録エリアは 320個で、321個目のエラーが発生したら1番目のエリアに書き込んで、その状態なら起動できるとのこと。つまり、ファームウェアの不良でかつ、HDDの書き込みエラーとかが頻発する、あるいは、エラーは頻発しなくても長期に使ってエラーが溜まると起動できなくなりやすいということみたいです。

 まず、使っている HDDの状態を調べます。Ubuntuの場合、$ sudo apt-get install smartmontools で S.M.A.R.Tの状態確認ツールがインストールできます。$ sudo smartct -i /dev/sda とやると現在の HDDのモデルやシリアル番号、ファームウェアのバージョンなどがわかります。

 HDDが怪しいようなら $ sudo smartctl --log=error /dev/sda などとやると現在のエラーログが表示されます。うちは「No Errors Logged」と言われたのでしばらくは大丈夫そうです。これが多いようなら早めに HDDを交換した方がいいでしょう。

 更に心配な場合は smartdを起動して監視させます。こちらの情報に従って /etc/defaults/smartmontoolsと /etc/smartd.conf のパラメータを有効にして smartdを常駐させます。

EEE PC 701で OSDと無線LANの ON/OFF

※ちょっと不具合があるので以下の内容は保留にしといて下さい。m(__)m

 [Fn] + [F1]〜[F9]で液晶の明るさや音量調整などを行った時にディスプレイ上にそれを一瞬表示するようにするには 7.10の時と同じ eee-osdが使える(ただし、Array.orgのカーネルが必要だと思う)。しかし、無線LANの ON/OFFについては 8.04から EEE PC用の ACPIモジュールが eeepc-acpi から eeepc-laptop に変更になっており、それに伴って無線LANのコントロールが /proc/acpi/asus/wlan から /sys/class/rfkill/rfkill0/state に変更になっている。そのため、[Fn] + [F2] を有効にするには eee-osdをインストール後、/etc/acpi/eee-wifi-on-off.sh の該当個所を変更する必要がある。

Anthyにパッチ当て

 かな漢字変換 anthy で、個人用学習データを活用して変換結果の改善を目指すパッチを当てる。以下は 2ch Anthyスレッドより。

適当なディレクトリを作ってパッチをダウンロードする
anthy-9100e.patch3 の 1〜12行削除
$ apt-get source anthy
$ cd anthy-9100e
$ patch -p1 < ../anthy-9100.patch3

この後、本来なら

$ debuild -d -us -uc
$ cd ../
$ sudo dpkg -i *.deb

でビルド・インストールする所だが、こうするとアップデートマネージャが純正パッケージを上書きインストールするように促してくるので

$ ./configure --prefix=/usr --sysconfdir=/etc/anthy
$ make
$ sudo make install

で野良ビルドして無理やり上書きインストールする。anthyのバージョンアップがあった場合は最初からやり直すこと。

 パッチ当ての前に必要に応じて cannadic改とか適用してもいいかも。

Eee PC 701の無線LAN

 Eee PC 701は Array.orgのカーネルでは ath5kで無線LANが動作する……と思ったのだが、うちの場合はなんか安定して動作しない。しかたが無いので madwifiを使う。こちらでは安定して通信できた。ただし、導入に手間がかかる。

  1. 開発環境のインストール。$ sudo apt-get install buiild-essential
  2. 現在使っているカーネルの headersもインストール。$ sudo apt-get install linux-headers-2.6.27-8-eeepc とか
  3. madwifiは 0.9.4はコンパイルエラーになるので snapshotの物を使う。うちは madwifi-hal-0.10.5.6-r3875-20081105 を使った
  4. $ makeして $ sudo make install でいいのかな? /lib/modules/2.6.27-eeepc/net に ath_pci.ko があればいいと思う
  5. /etc/modprobe.d/blacklist に blacklist ath5k を追加
  6. /etc/modules に ath_pci を追加

 これで再起動すれば使えた。カーネルを入れ替えた場合はコンパイルをやりなおしてモジュールをインストールしなおすこと。

 なお、サスペンド・リジュームすると、ハードウェア的には無線LANもちゃんと再起動してるっぽいのだが、なぜかいつまでも無線LANのパスワードを聞いてくる。一旦、$ sudo madwifi-unload で無効化し、$ sudo modprobe ath_pci で再度モジュールをロードし、ネットワークマネージャアプレットで無線LANを有効にするとまた使えるようになる。/etc/acpi/resume.d にスクリプトを作ってなんとかできないかなあ。

キーボードの Ctrlと Caps Lockを入れ替える

 X.Orgがバージョンアップして /etc/X11/xorg.conf の InputDeviceを使わなくなった。/etc/default/console-setup の方を使うようになったとのことで、そちらに設定を追加する。XKBOPTIONSに ctrl:swapcaps を設定する。

XKBMODEL="us"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="ctrl:swapcaps"

 なお、うちの Eee PC(中国語キーボード仕様・ハードウェア的には英語キーボードと同じ)でキーボードタイプ US(ただし、言語は日本語)でインストールしたら、XKBMODELが jp106になっていた。これを usに変更したら記号の入力ができないなどの不具合が解消された。

Atmel Flipを使う

 Atmelの開発ツール FlipAVR-MOD-AT162(AT90USB162)を動かしてみる。Javaが必要だが、OpenJDKだとメニュー表示がおかしくなるみたいなのであらかじめ Sun Java(sun-java6-jre)を入れておく。

 次に、Ubuntuは 7.10以降、デフォルトで /proc/bus/usb が空になっているので手作業でマウントする。

$ sudo mount -t usbfs /dev/bus/usb /proc/bus/usb 

 必要なら /etc/rc.local に記述するといいだろう。

 Flipを起動するにはあらかじめ FLIP_HOMEと JAVA_HOMEの設定が必要。

#!/bin/sh

export FLIP_HOME=/home/ユーザー名/flip.3.2.1/bin
export JAVA_HOME=/usr/lib/jvm/java-6-sun

./flip.sh

などとスクリプトを書いて起動するといいだろう。なお、今のところデバイスのパーミッションの関係で rootでないとアクセスできない。後で udevのルールを書くことにする。

Eagleでキーボード入力ができない

 SCIM関係の設定によっては Cadsoftの回路図・基板CAD Eagleでキーボード入力が効かないことがあるようだ。その場合、環境変数 XMODIFIERS をクリアして起動するといいようだ。$ XMODIFIERS= eagle (環境変数をクリアする意味なのでイコールの後に必ずスペースを入れる)として起動する。あるいは、以下の内容の /usr/local/bin/eagle を作り、そちらから起動する。

#!/bin/sh
XMODIFIERS=
/usr/bin/eagle $1

 ちなみにこちらの設定は現在は必要ない。

 追記:現在では直っているようです。

cannadic改を入れてみる

 Anthyで使う(cannadic改)の手順ほぼそのままだが、古い alt-cannadicの Makefile.amも新しい alt-cannadicにコピーする必要がある(記入もれ?)。また、anthy.dicのコピー先は /var/lib/anthy 。Anthyのソースは公式サイトからとってくる。

10月21日のアップデート以降、SCIMが起動しない

 今後のアップデートで直る可能性もあるが、うちの環境では 10月21日のアップデートをして以降、SCIMが起動しなくなった。ただし、Emacs22では起動するという状態。あんまり理解していないのだが、$ sudo update-alternatives --config xinput-ja_JP で scim-bridge から scim に切り替えたら入力できるようになった。これによるメリット・デメリットがよくわからないが、頃合いを見て戻したりした方がいいのかもしれない。

 $ im-switch -c で scim-bridgeを設定したり色々やったら直ったみたい。やっぱりよくわからないが、現在の $ im-switch -l の出力を書いておくが、これが最適とは限らないので注意。

Your input method setup under ja_JP locale as below.
=======================================================
The configuration "/home/yuki/.xinput.d/ja_JP" is defined as a link pointing to
scim-immodule
This private configuration supersedes the system wide default.
=======================================================
The system wide default is pointed by "/etc/alternatives/xinput-ja_JP" .
xinput-ja_JP -状態は manual。
 リンクは現在 scim-bridge を指しています
scim - 優先度 50
scim-immodule - 優先度 0
scim-bridge - 優先度 60
現在の `最適' バージョンは scim-bridge です。
=======================================================
The available input method configuration files are:
default default-xim none scim scim-bridge scim-immodule th-xim 
=======================================================

 追記:現在では直っているようです。

EPSON LP-800で印刷

 Ubuntu 8.10では LP-xx00 汎用 ESC/Pageドライバが無くなった。だが、LP-800では LP-1800用のドライバ(Epson LP-1800 Foomatic/eplaser-jp)が使える。デフォルト設定でいいようだ。

¥(バックスラッシュ?)が効かない

 PostgreSQLの psqlのメタコマンドなど、ASCIIコード 5Chを入力するつもりで日本語キーボードの BackSpaceの左側の「¥」を使うとエラーになる。これはどうやらキーボード入力で半角の¥とバックスラッシュを区別するようになった為らしい。キーボード右下の「ろ」が書いてある方のバックスラッシュを使うとちゃんとバックスラッシュ(ASCIIコード 5Ch)が入力される。

D945GCLF2でチップの温度やファンの回転数をモニタする

 $ sudo apt-get lm-sensors でツールをインストール。$ sudo sensors-detect で設定。色々と尋ねられるが、D945GCLF2では全部デフォルトで OK。最後に「この内容を /etc/modules に追加しろ」と言われるのでそうする。それらを全て $ sudo modprobe … で組み込むか、再起動すると $ sensors で温度や回転数が表示される。ちなみにうちのはこんな感じ。

smsc47m192-i2c-0-2d
Adapter: SMBus I801 adapter at 2000
+2.5V:       +2.54 V  (min =  +0.00 V, max =  +3.32 V)   
VCore:       +1.16 V  (min =  +0.00 V, max =  +2.99 V)   
+3.3V:       +3.28 V  (min =  +0.00 V, max =  +4.38 V)   
+5V:         +4.95 V  (min =  +0.00 V, max =  +6.64 V)   
+12V:       +12.31 V  (min =  +0.00 V, max = +15.94 V)   
VCC:         +3.28 V  (min =  +0.00 V, max =  +4.38 V)   
+1.5V:       +1.57 V  (min =  +0.00 V, max =  +1.99 V)   
+1.8V:       +1.77 V  (min =  +0.00 V, max =  +2.39 V)   
Chip Temp:   +37.0°C  (low  = -127.0°C, high = +127.0°C)  
CPU Temp:    +50.0°C  (low  = +48.0°C, high = +55.0°C)  
Sys Temp:    +47.0°C  (low  = -127.0°C, high = +127.0°C)  
cpu0_vid:   +2.050 V

smsc47m1-isa-0680
Adapter: ISA adapter
fan1:       1981 RPM  (min = 1280 RPM, div = 4)
fan2:       2533 RPM  (min = 1280 RPM, div = 4)

ケースは BM639だが、チップセットファンには LM317を入れて 5.5Vで駆動してるので 2500RPMくらいになっている。8cmのケースファンを追加しているので fan1: の回転数が 2000RPMくらいになっている。なお、騒音防止とケースファンの効率を上げるために電源直上の穴は DIY店で買ったゴム板でふさいである。