Ubuntu 10.04でPILを使う

easy_install pil だとPNGの扱いでトラブってしまったので、apt-getでインストールした。

sudo apt-get install python-imaging

これだけだと、Imageオブジェクトにsplit()したときに、以下のエラーが生じる。

AttributeError: 'NoneType' object has no attribute 'bands'

これを回避するには、/usr/lib/python2.6/dist-packages/PIL/Image.py を修正する必要がある。1494行あたりからsplitの実装があるので、最初のif文の直前に以下のコードを挿入する。

self.load()

元ネタはこちら。 http://www.alfersoft.com.ar/blog/2011/03/30/ubuntu-linux-how-to-convert-from-html-to-jpg/

Iliadの小技(1)

現在有効なセッションを強制的に閉じる方法

ILSessionManager current removeAllSessions

サーバーを止めてもセッションは閉じられないので注意。

PharoでIliad

新しいWebアプリケーションの開発のために、PharoでIliadを使っているが苦戦中。サンプルをちょっとだけ改造しているのだけど、すぐにフリーズしてしまう。イバラの道^2ということなのかしらん。

とりあえず、Pharo-1.3-13315-OneClickへIliadをインストールする方法だけメモ。

  1. Monticello Browserを開く。
  2. 右側のペインで「http://www.squeaksource.com/MetacelloRepository」を選んで、Openをクリックする。
  3. Repository Browserの左側のペインでConfigurationOfIliadを選び、Loadをクリックする。(Configurationのインストールが始まる)
  4. Workspaceを開く。
  5. 「ConfigurationOfIliad load」を入力してDo itする。(Iliadのインストールが始まる)

途中で「ParseTreeEnvironmentが無い」というWarningが出て来るが、とりあえず無視した。

動作確認はWorkspaceで「SwazooIliad startOn: 8888」をDo itして、ブラウザで「http://localhost:8888/browse」にアクセスすればOK。

逆に止めるのは「SwazooIliad stop」をDo itする。

ILCounterApplicationはありきたりなカウンタサンプルだけど、ILHtml5ApplicationExampleはCanvasのテストもあって面白い。新しいアプリケーションの為にILTodoListApplicationを改造しているのだけど、なかなかうまくいかない。

とりあえず新規にインストールしてやり直すつもり。(その途中でこの記事を書いた)

(追記)

ILHtml5ApplicationExampleは単にメソッド内にJavaScriptが書かれているようなものだった。

Pharo1.3での日本語表示と入力

ようやくPharo 1.3が正式リリースとなった。

http://www.pharo-project.org/home

日本語表示についてはMac, Windowsともにフォントの設定だけで表示可能になる。具体的には、[ id:nqthm:20110905:p1 ]と同様だが、DLLやプラグインのコピーは必要ない。(既にある)

入力についてMac(SnowLeopard)ではそのまま入力できるが、Windowsでは「栄」や「!」など特定の文字が入力できない。対応するには、TextEditor>>dispatchCommandOn:return:メソッドを以下のように変更すれば良い。

- asciiValue := aKeyboardEvent keyValue.
+ asciiValue := aKeyboardEvent keyCharacter charCode.

暫定的なパッチを以下で公開する。当然のことながら無保証である。

http://itolab.com/software/pharo/pharo1.3-japanese-input-patch.1.cs

いつものような「とりあえず」パッチなので、将来にわたって利用できるとは限らない。このところ入力関連のコードが頻繁に変わる状況では次のバージョンではまた違う対応が必要になる可能性が高い。

11.04での日本語入力

ROSのためにubuntu 11.04をインストールしている。特に日本語入力することもなかったので気づかなかったが、ゼミ学生の環境構築を見ていたときに日本語入力できないことがわかった。調べてみると不思議なことに、最近インストールした3台のうち1台は問題なく、残り2台で入力できない。

具体的には、Ctrl-Spaceを押してもanthyが起動しない。web上では入力メソッドがibusにならないといった事例はあったが、どうやら違う原因のようだ。もちろんanthyやibus-anthyはインストールされていし、入力メソッドは「システム(IBUS(Intelligent Input Bus))」になっている。

解決は簡単で、システム設定で「キーボード・インプットメソッド」を開き、インプットメソッドタブに「日本語-Anthy」を追加すれば良いだけである。

本来は自動的に設定されるはずが、インストール中に何らかの理由で設定されなかったのだろう。

これからubuntuのインストールが増えそうなので備忘として記録。

Adobe Reader Xで「アクセスが拒否されました」

Adobe Reader Xにアップグレードしたところ、CutePDFで生成したPDFが読み込めず表題のようなエラーが表示されるようになった。

これはセキュリティ強化によるものらしい。

メニューから編集-一般を選び、「起動時に保護モードを有効にする」のチェックを外してアプリケーションを再起動すれば読めるようになった。

通常時のプロセス

何も悪い事してない状態でのプロセスをメモっておく。

Delay class>>handleTimerEvent
the low space watcher
Input events fetching process
the WeakArray finalization process
the UI process
the idle process