AZにlubuntu12.10

快適なlubuntu12.10onAZ
ubuntu12.04はAZではあまりうまく動かなかった。下調べした結果12.10はそれなりに良いらしいので、インストールした。まず、普通にインストールする。ここで良いのが、今回からはdefaultのデスクトップ環境がLXDEになったことだ。日本語は選択したが、キーボードの設定がでなかったので、設定-Lxkeymap-日本語(OADG 109A)とする。さらに.Xmodmapを2011/12/22のようにする。そして、設定-言語サポートから日本語関係のパッケージをインストールする。ディスプレイのドライバーを入れ替えるために、設定-SoftwareSources-追加のドライバーから、NVIDIAのドライバーを選択する。驚いたのは、スピーカーの設定などをしないでも音が出ることと、youtubeは普通に見れることだ。そして、flashとしてbrowser-plugin-gnashをインストールする。

Read more...

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)
}

いつも、装置との通信には苦しめられることが多い気がする。こういう経験を通して、だんだんと慣れて行っているはずなのだが、まだまだ精進が足りないようである。

Read more...

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に関する設定がいろいろとあって、そのどれが必要なのかを調べるのが面倒だった。

Read more...

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が悪いわけでは無いだろうし。世の中には不思議なこともあるものである。

Read more...

C301dnで両面印刷

foo2hipercのバージョン 先日到着したプリンターC301dnで、Linuxから両面印刷ができないのが、不満だったので、再挑戦してみた。Debian Squeezeで foo2hiperc-wrapper -V としたら、以下のように表示された。 $Id: foo2hiperc-wrapper.in,v 1.15 2009/05/11 17:35:55 rick Exp $ $Id: foo2hiperc.c,v 1.25 2009/03/08 00:35:31 rick Exp $ $Id: foo2zjs-pstops.sh,v 1.13 2008/12/05 02:46:35 rick Exp $ 思ったよりも古いようだ。そこで、新しいfoo2hipercを入れるために、以下のようにした。 wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz tar zxf foo2zjs.tar.gz cd foo2zjs make sudo make install そこで、同じようにバージョンを確認すると、新しくなっている。 $Id: foo2hiperc-wrapper.in,v 1.25 2011/01/31 12:23:43 rick Exp $ $Id: foo2hiperc.c,v 1.32 2011/06/09 13:35:06 rick Exp $ $Id: foo2zjs-pstops.sh,v 1.
Read more...

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 

そして、再起動すれば認識してくれるようになった。でも、何をしているのかさっぱり理解していない。まあ、いいか。

Read more...

okiのプリンター

Linuxからの印刷
プリンターが壊れたので注文していた、新しいプリンターが本日届いた。okiのc301dnというカラープリンターなのだが、レーザーじゃなくてLEDプリンターという種類らしい。 いつも問題になるのは、Linuxからの印刷である。古いプリンターだとppdがあって、印刷できることが多いが、苦しむことも多い。okiはLinuxと比較的相性が良いと思っていたので、楽観視していたが、最近はそうでもないようだ。 このプリンターはXPSとHiper-Cというプロトコルに対応しているらしい。前者はMS独自の規格、後者はoki独自の規格のようです。両方独自なので、嫌な予感がします。調べたところ、foo2hipercというものがあって、これを使うとうまくいきそう。CUPSのPPDの選択のところを見てみると、okiのでfoo2hipercを使っているものがいくつかある。c301dnは無いので、まずはc3100にしてみる。testページを印刷していみると、うまく印刷できた、と思いきや白黒になっている。なんとなくc5600にしてみたら、カラーもできた。しかし、今度は両面印刷がうまくいかない。 まあ、初日はこんなもんかな。

Read more...

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ぐらいあれば良いのに。また、読み取りを安定化させるために、積算したりしても、ノイズはそれなりに拾ってしまうのは、周辺の回路やグランドが良くないのかな。

Read more...

ubuntu12.10が出たようだ

lubuntuのアップグレード
ubuntuを使っていたら更新できるようになったとのメッセージが出たので、更新してみた。通常はまだ不具合が残っていると嫌なので、すぐには更新しないのだが、少し前に12.04LTSにアップグレードしようとして失敗して、11.10と12.04のキメラ状態になってしまっていたので、良い機会だと思って12.10に更新した。本当はLTSにしておきたかったのだが、仕方ない。 やはり、一部のパッケージがうまく動いていないようだ。時間が解決してくれると良いが。でも、アンインストールせずにアップグレードできるのだから、楽である。 ubuntuの欠点は、更新が早いことだと感じている。半年おきに更新があるのは、新しいパッケージが組み込まれるのは良いことなのだが、ちょっとはやすぎる気がします。debianは、だいたい二年で更新で、このくらいのペースがちょうどよいように思う。次のwheezyが出るのは、半年ぐらい先かな。

Read more...

意外に大変なインストール

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"

と書かないといけないようだ。

Read more...