快適なlubuntu12.10onAZ
ubuntu12.04はAZではあまりうまく動かなかった。下調べした結果12.10はそれなりに良いらしいので、インストールした。まず、普通にインストールする。ここで良いのが、今回からはdefaultのデスクトップ環境がLXDEになったことだ。日本語は選択したが、キーボードの設定がでなかったので、設定-Lxkeymap-日本語(OADG 109A)とする。さらに.Xmodmapを2011/12/22のようにする。そして、設定-言語サポートから日本語関係のパッケージをインストールする。ディスプレイのドライバーを入れ替えるために、設定-SoftwareSources-追加のドライバーから、NVIDIAのドライバーを選択する。驚いたのは、スピーカーの設定などをしないでも音が出ることと、youtubeは普通に見れることだ。そして、flashとしてbrowser-plugin-gnashをインストールする。
GPIBからUSB-RS232Cへの移行
RS232Cのecho
以前はGPIBで制御していた装置を、USBから使おうと思って、USB-RS232Cを使って制御しようとしたら、かなり苦労してしまった。RS232Cにはそれなりに慣れているつもりだったのだが、まだまだ経験が浅いようだ。
まず引っかかったのが、ストレートとクロスの問題だった。これに気づくのに数日かかったのは、反省すべきところである。そして、ボーレートやパリティなどのところはうまく指定しているはずなのに、送信がすぐに文字化けしてしまうという問題に悩まされた。受信はうまくいくのに。
装置のマニュアルをいろいろと読んでいたら、「装置はPCよりも処理速度が遅いので、echoをするモードにして、一文字一文字echoを待ってから、次の文字を送る方が良い」という記述を見つけた。sttyでechoをするようにしてもうまくいかないので、rubyで次のように書いたらうまくいった。
strs.split(//).each{|s| @port.write(s) @port.flush @port.read(1) }
いつも、装置との通信には苦しめられることが多い気がする。こういう経験を通して、だんだんと慣れて行っているはずなのだが、まだまだ精進が足りないようである。
anonymousでftp
anonymousの設定は面倒
ftpからwebのデータをanonymousでuploadできるようにしようと思ったら、設定に思ったより苦しんでしまった。vsftpdを使っているので、/etc/vsftpd.confを編集して、以下を追加する。
nonymous_enable=YES no_anon_password=YES anon_root=/home/anon/public_html anon_upload_enable=YES anon_other_write_enable=YES anon_umask=777 anon_mkdir_write_enable=YES
そして、public_htmlをchmod go+rwとしておくと良い。結局はこれだけなのだが、anonymousに関する設定がいろいろとあって、そのどれが必要なのかを調べるのが面倒だった。
openofficeからlibreoffice
debian squeezeにlibreoffice
windowsのlibreofficeで作ったodpファイルを、debianのopenofficeで見たら、文字が大きくずれてしまったので、libreofficeを入れることにした。openoffice.orgを除去して、aptのsourceに
deb http://backports.debian.org/debian-backports squeeze-backports main
を加えて、libreofficeを入れた。依存関係の問題が生じたが、二番目の提案を採用したら、一応インストールには成功した。そこで、問題のodpを開いたら、ほぼ良い感じで読むことができた。フォントが違うのか、微妙に文字の大きさの関係でずれている箇所はあったが、まあ良いだろう。
余談だが、そのodpをwindowsXPのlibreofficeで作成している時には、拡張子をつけると、explorerが固まるという症状に悩まされた。そのファイルをシングルクリックするとハングして、libreofficeが立ち上がる以前に死ぬのである。あたかもlibreofficeを使うおうとする人を邪魔するような挙動である。拡張子をつけないとうまくいくので、libreofficeが悪いわけでは無いだろうし。世の中には不思議なこともあるものである。
C301dnで両面印刷
pcmanfmの自動認識
udiskかgvfs-fuse
先日停電があって、そのときに実験室のPCが一台お亡くなりになった。代わりになるPCを探していたら、少し古いノートがあったので、これにdebian squeezeのLXDEを入れた。しかし、USBで外部ドライブを接続したときに、pcmanfmから認識してくれない。dmesgでは認識しているようだが、何の設定が悪いのか分からなかったが、ようやく解決できた。不要な作業もあるかもしれないが、以下に書いておくことにする。
まず、インストールされていなければ、udiskとgvfs-fuseをインストールする。
aptitude install gvfs-fuse udisk
次に/etc/polkit-1/localauthority/50-local.d/55-pcmanfm.pklaを作って、以下を記述する。
[Strage Permissions] Identity=unix-group:plugdev Action=org.freedesktop.udisks.filesystem-mount; org.freedesktop.udisks.drive-eject; org.freedesktop.udisks.drive-detach; org.freedesktop.udisks.luks-unlock; org.freedesktop.udisks.inhibit-polling; org.freedesktop.udisks.drive-set-spindown ResultAny=yes ResultActive=yes ResultInactive=no
そして、再起動すれば認識してくれるようになった。でも、何をしているのかさっぱり理解していない。まあ、いいか。
okiのプリンター
Linuxからの印刷
プリンターが壊れたので注文していた、新しいプリンターが本日届いた。okiのc301dnというカラープリンターなのだが、レーザーじゃなくてLEDプリンターという種類らしい。
いつも問題になるのは、Linuxからの印刷である。古いプリンターだとppdがあって、印刷できることが多いが、苦しむことも多い。okiはLinuxと比較的相性が良いと思っていたので、楽観視していたが、最近はそうでもないようだ。
このプリンターはXPSとHiper-Cというプロトコルに対応しているらしい。前者はMS独自の規格、後者はoki独自の規格のようです。両方独自なので、嫌な予感がします。調べたところ、foo2hipercというものがあって、これを使うとうまくいきそう。CUPSのPPDの選択のところを見てみると、okiのでfoo2hipercを使っているものがいくつかある。c301dnは無いので、まずはc3100にしてみる。testページを印刷していみると、うまく印刷できた、と思いきや白黒になっている。なんとなくc5600にしてみたら、カラーもできた。しかし、今度は両面印刷がうまくいかない。
まあ、初日はこんなもんかな。
ADCのノイズ低減
AVRでSLEEP
AVR tiny261のADCを使って、電圧などを表示するようなものを作っていたのだが、ADCの読みが少し揺れるので、ノイズ低減のためにSLEEPさせたときにADCを読むことにした。まずは
#include <avr/sleep.h>
として、MCUCRのSM1,SM0とSEを設定する。USIやアナログ比較器も止めておいた。そして、sleep_mode()でSLEEPしてくれるようだ。ADCの終了で割り込みがかかるので、その中で適切な処理をして、メインルーチンに戻ったら、またすぐにSLEEPさせるという感じにした。あまりノイズは減った気はしないけど、無事に動いたからいいか。
AVRのADCは10bitしかないので、少し不足を感じるときがある。せめて、12bitぐらいあれば良いのに。また、読み取りを安定化させるために、積算したりしても、ノイズはそれなりに拾ってしまうのは、周辺の回路やグランドが良くないのかな。
ubuntu12.10が出たようだ
lubuntuのアップグレード
ubuntuを使っていたら更新できるようになったとのメッセージが出たので、更新してみた。通常はまだ不具合が残っていると嫌なので、すぐには更新しないのだが、少し前に12.04LTSにアップグレードしようとして失敗して、11.10と12.04のキメラ状態になってしまっていたので、良い機会だと思って12.10に更新した。本当はLTSにしておきたかったのだが、仕方ない。
やはり、一部のパッケージがうまく動いていないようだ。時間が解決してくれると良いが。でも、アンインストールせずにアップグレードできるのだから、楽である。
ubuntuの欠点は、更新が早いことだと感じている。半年おきに更新があるのは、新しいパッケージが組み込まれるのは良いことなのだが、ちょっとはやすぎる気がします。debianは、だいたい二年で更新で、このくらいのペースがちょうどよいように思う。次のwheezyが出るのは、半年ぐらい先かな。
意外に大変なインストール
windowsでruby-opengl
ruby-openglを使って書いたプログラムを、windows上で動かすために、インストールしてみたが、意外に面倒だった。まずはrubygemをインストールする。rubygems-1.8.24.zipを解凍してそのフォルダでruby setup.rbを実行。次にzlib-1.1.4-1-mswin32.zipを解凍してrubyフォルダのbinにzlib.dllだけコピーする。そして、ruby-opengl-0.60.1-x86-mswin32.gemをダウンロードして
gem install --remote ruby-opengl-0.60.1-x86-mswin32.gem
でopenglをインストールする。最後に、glut-3.7.6-bin.zipを解凍してglut32.dllをシステムフォルダーに移動すると、インストールの完了である。しかし、このままでは使えないらしく、rubyスクリプトの先頭に
require "rubygems"
と書かないといけないようだ。