オタク日記
(Mac と Linux)
目次
2010-12-29 (Wed): Pocket WiFi と My Home Server2010-12-25 (Sat): MacBook Air でオタク(その 2)
2010-12-18 (Sat): 機上の WiFi
2010-12-11 (Sat): OP25B 再訪
2010-12-04 (Sat): MacBook Air でオタク(その 1)
2010-11-30 (Tue): ThinkPad 不調(その 2)
2010-11-25 (Thu): ThinkPad 不調
2010-11-20 (Sat): Python と Unicode
2010-11-06 (Sat): ThinkPad あれこれ
2010-10-27 (Wed): Ubuntu-10.10 フリーズ
2010-10-23 (Sun): Ubuntu-10.10
2010-10-10 (Sun): Namazu の復活ならず
2010-10-09 (Sat): オタク稼業は開店休業
2010-09-11 (Sat): MLterm-3
2010-09-08 (Wed): 知らぬまの Upgrade
2010-08-29 (Sun): 捨てる神有れば……
2010-08-14 (Sat): BasiliskII 讃
2010-08-07 (Sat): Emacs-23.2 (その六)— もういいか……
2010-07-17 (Sat): 留守宅サーバ
2010-07-03 (Sat): iPhone アップグレード
2010-06-19 (Sat): Emacs-23.2 (その五)— もう一息
2010-05-29 (Sat): Emacs-23.2 (その四)— フォントに嵌る
2010-05-22 (Sat) Emacs-23.2 (その三)— Aquamacs
2010-05-15 (Sat) Emacs-23.2 (その二)
2010-05-08 (Sat) Emacs-23.2 リリース
2010-05-01 (Sat) Ubuntu 10.04 LTS
2010-05-01 (Sat) Cocoa Emacs (Emacs-23.2)
2010-04-24 (Sat) 今更ながら Time Machine、その後
2010-04-17 (Sat) 今更ながら Time Machine
2010-04-10 (Sat) 色々
2010-04-03 (Sat) サイトのページを全面的に Unicode に
2010-03-20 (Sat) Google CSE/Chrome と Unicode 化
2010-03-13 (Sat) Google Custom Search を試す
2010-03-06 (Sat) Msearch による全文検索
2010-02-27 (Sat) 自分で思っている程には……
2010-02-20 (Sat) なかなかやるじゃん、MacPorts
2010-02-11 (Thu) ちょっと感動もの(Wanderlust コミュニティ讃)
2010-01-30 (Sat) なんだかなぁ
2010-01-23 (Sat) X200 BIOS Update
2010-01-09 (Sat) Ubuntu/ThinkPad ピンチ
古い日記 (2009)
古い日記 (2008)
古い日記 (2007)
古い日記 (2006)
古い日記 (2005)
古い日記 (2004)
古い日記 (2003)
古い日記 (2002)
古い日記 (2001)
2010-12-29 (Wed): Pocket WiFi と My Home Server
留守宅サーバ H/W 更新はさらに延期
この夏に、自宅サーバ(ThinkPad X22)の Ethernet チップのあたりが過熱するようになり、 さすがにもう寿命だと思えたので、今回の帰国では、 置き換えるべく X200 を持ち帰ったのだった。 が、まだ何とか持ち堪えているし、X200 に他の役目ができたし、 もうちょっと、X22 に頑張ってもらう事にした。Pocket WiFi の設定
「設定」といっても、製品 (D25HW) の初期設定が非常に良いし、SIM カードなどは販売店で挿してくれているので、大して迷うところはない。- D25HW をパワーオン。(十分充電されてないようだと、AC アダプタに継いで作業した方が良いかも。)
- パワーオンして 10 秒もすると、D25-HW が Internet に繋り、かつ PC から WiFi AP として認識される。
- 一覧からその ESSID をクリックして、 お店でもらったディフォルトの Password(5 桁の方)を入れる。
- 接続が確立したら、好みの Web ブラウザで 192.168.1.1 にアクセス。
- ログイン画面で、Username: admin, Passowrd: に 「上記のパスワード」を入力。
- 上のログイン・パスワードと、WiFi の認証のためのパスワード、ESSID を変更する。 (ログインと認証で別々に設定する要あり。) 自分は認証方法を WPA2 に変更した。
また、他の設定も弄る必要は無さそう。で、ちょっと感想:
- とっても良くできているのに、 態々解り難くしている観が有る…… 例えば件のドライバ。 (自分が HDCP サーバになる機能が有り、HTTP で設定させる製品ならば、相手側にドライバなど必要無い筈。 —— まあ、無線ルータ他、どれもやたら強要する傾向があるが。)
- Power ボタンの長押しで無線機能の On/Off、 普通に押したら LCD 表示のみ On/Off というのは、とても良い UI だと思うが、最初はなかなかこれが解らなかった。
- 電池寿命が 4 時間というのはなかなか良い(MBA とほぼ同じ。)
- おまけでもらった携帯ケースは、本体をこれに入れると USB ケーブルが挿さらない:-(
- 「充電専用」と見るなら、附属の USB ケーブルは短かすぎ。 また、Internet への接続時は、USB ケーブル越しに充電しない、 というのは訣が解らない。
D25HW の評価
どの PC/PDA にも問題なく繋がるようだ。- MBA: 問題なし。D25HW に接続したまま放っておいたら、知らぬ間に家庭内 WLAN に繋がっていた、という事があった。多分、D25HW の WiFi が寝てしまい、MBA が自動で、家庭内 WLAN に切り替えた、という事らしい。 それにしても素晴しい!
- MacBook Pro: も同様に問題無く繋がった、そうな。(←娘談)
- iPhone: (3GS) も勿論 OK。下の「Preshared Key と Passphrase の区別」も必要ない。
- Linux: Ubuntu10.10 (ThinkPad X200) の Wicd でも何の問題もなく繋がった、然も迅速(実はこれちょっと心配だった。) 勿論、WPA key は設定してやる必要が有るが。 Wicd の Properties で、設定するのだが、"WPA 1/2 (Preshared Key)" と "WPA 1/2 (Passphrase)" を選ぶ必要があった。 D25HW には "Preshared Key" を設定したのだった。
- Windows: Windows XP (ThinkPad X200) でも OK。 しかしなんだか手間が掛る……。Security は、WPA-PSK/TKIP という事になっている。一旦 Location として登録してしまえば、 再接続は迅速。
MBA での速度測定。D25HW に MBA だけが、 WLAN で繋がっている状態で、
SPEED 2.5 (speed.rbbtoday.com) 計測日時 : 2010年12月28日火曜日 19時38分54秒 下り(ISP→PC): 6.01Mbps 上り(PC→ISP): 612kbps SPEED 2.5 (speed.rbbtoday.com) 計測日時 : 2010年12月28日火曜日 19時43分12秒 下り(ISP→PC): 4.99Mbps 上り(PC→ISP): 706kbpsとなった。素晴しい!ちなみに、家庭内 WLAN を使った場合は
SPEED 2.5 (speed.rbbtoday.com) 計測日時 : 2010年12月28日火曜日 19時44分43秒 下り(ISP→PC): 27.95Mbps 上り(PC→ISP): 18.05Mbpsとなる。つまり、D25HW の測定では、WAN のリンクが制限要素になっている、という事。 それにしても 5 ~ 6 Mbps とは! 凄いぞ、HSDPA。 (すみません、実はこれを見るまで信用してませんでした。)
留守宅サーバに DNS を追加
自分の global IP アドレスを持ったパケットは、LAN 側からでも、 WAN 側からでも、とにかく DMZ へ渡す、というのが普通の動作だと思うし、 実際これまで、4 代くらいのルータは、そういう動作をしていた。 が、今留守宅サーバに繋がっているルータ (WHR-G300N) は、 LAN 側からのは自分宛てだと思ってしまう。 つまり、家庭内 LAN から otacky.jp にアクセスしようとすると、ルータの設定用 Web サイトが返事をする…… :-(。このルータを導入した当座は問題になったものの、 それぞれの PC の /etc/hosts に、
# /etc/hosts 192.168.0.17 otacky.jp www.otacky.jpとしてもらってまあ一件落着となっていた。 が、ここで、そのルータの AP と、D25HW の AP をいったり来りするようになると、その都度、/etc/hosts を編集する事になり、大変具合が悪い。
そこで、留守宅サーバにも、DNS を導入する事にした。 留守宅サーバ (X23 + FC7) には既に、caching server と DHCP サーバを併せたものを導入ずみで、至極具合が良い。Local Network に出たり入ったりするホストもその host name でアクセスできるし、 LAN 内からでも、外からでも、例えば eagle.otacky.us としてある設定を変える必要はない。
なので、その環境を再現すれば良い筈、と思ったのだが、 留守宅サーバは古すぎるせいか、そもそも dhcp(d) がインストールできない。 なぜか、rpm -qa にそれらしいものが出てこない。 あとは後退の一途で、大分妥協したものとなった。
- bind-9.3.4-1.fc5 と caching-nameserver-9.3.4-1.fc5 をインストール。 (実は既にインストールしてあった。 してなかったら、全くアウトとなるところ)
-
/etc/named.conf
を編集して、zone "otacky.jp" IN { type master; file "otacky.jp.db"; allow-update { none; }; };
なる項を追加。また、効果の程は未詳だがoptions { /************/ forwarders { 202.238.95.24; 202.238.95.26; }; };
も付け加えた。 -
/var/named/otacky.jp.db
はこんな感じ$ORIGIN . $TTL 86400 ; 1 day otacky.jp IN SOA otacky.jp. root.otacky.jp. ( 2008036975 ; serial 3600 ; refresh (1 hour) 900 ; retry (15 minutes) 604800 ; expire (1 week) 86400 ; minimum (1 day) ) NS otacky.jp. A 192.168.0.17 $ORIGIN otacky.jp. falcon CNAME otacky.jp. $TTL 300 ; 5 minutes $TTL 86400 ; 1 day quadra A 192.168.0.2 router A 192.168.0.1 www CNAME otacky.jp.
- 件のルータにアクセスして、その DHCP サーバが、client
に DNS として、上記の 192.168.0.17 を答えるように設定する。
fukuda@falcon:~% sudo tail -f /var/log/messages
として様子を見ながら、 - 別の窓で、
fukuda@falcon:~% echo $INI /etc/rc.d/init.d/ fukuda@falcon:~% sudo $INI/named start
として、DNS をスタート。 - DHCP を renew して(WiFi を一旦 Off にするのが手っ取り早い?) /etc/resolv.conf で nameserver が上記の IP アドレスを指しているのを確認
- nslookup で、サーバが動いている事を確認。まず、件の router
の LAN 内では、
fukuda@hawk:~% nslookup otacky.jp Server: 192.168.0.17 Address: 192.168.0.17#53 Name: otacky.jp Address: 192.168.0.17
D25HW 経由で Internet に接続している場合は、fukuda@hawk:~% nslookup otacky.jp Server: 192.168.1.1 Address: 192.168.1.1#53 Non-authoritative answer: Name: otacky.jp Address: 202.238.126.251
192.168.1.1 は、D25HW の LAN アドレス。 - うまくできているようなら、
次回以降も起動時にデーモンを立ち上げるように設定する。
fukuda@falcon:~% sudo chkconfig --level 2345 named on fukuda@falcon:~% sudo chkconfig --list named named 0:off 1:off 2:on 3:on 4:on 5:on 6:off
2010-12-25 (Sat): MacBook Air でオタク(その 2)
MacPort
MacBook Air へ環境を移すのを機に、 一層の効率化(手抜きもしくはストレージの節約)を目指すのであるが、 その眼目の一つが MacPort。そうすると Python や Emacs の「追っ掛け」は諦めないといけないが、 その分インストールで思い悩む等は卒業できるのではないか、と。
しかし、実際にやってみると、なかなかそうは問屋が卸してくれない。
Linux の rpm や deb に比べたら、MacPort
はまだよく熟れてはいないような気がする(packaging
にミスが多い?)なにしろ、port install xxxx
がよく止まる……
- が、止まった時の最後のメッセージのとおりに対処すれば(
port activate -f xxxx
とか、xxxx に @yyy を付けるとかして)、最初のコマンドをもう一度実行すれば OK となる事が多い。 - 例外は、「バージョンのミスマッチ」云々のメッセージの場合で、
port clean xxxx
としなくてはならない事がある。(ちなみに、port clean all installed
とすれば、 どんどん溜っていくパッケージの一時的なソースを全部消してくれる。) - また、
port -f uninstall inactive
で、古いバージョンを消して、 最新版だけ残せる。 - あまりに「にっちもさっちも行かない」ようだと、 それは正しくないパッケージを入れようとしているのかも知れない。例えば、 Emacs に文句を言われて、ispell を入れようとしたら、全然ダメだったが、 代りに aspell ならすんなり入った、という事が有った。 (ちなみに、aspell-dict-en も必要だった!)
-
% port (list) {outdated|installed}
で、 "list" の有り無しで、動作が違う。(普通は "list" は要らない。)
Emacs (その 1)
MacPort への一本化が一番望まれるアプリケーション(コマンド)であるが、 一番ややこしくもある。 そもそも、MacPort の中で閉じる事ができない。 例えば Wanderlust や SKK は MacPort に無いので、一から手で入れるしかない。その時は、emacs が必要になる。 そもそも、MacPort にあるパッケージの w3m-emacs や lookup は、emacs (emacs-app ではなく)を必要とする。 一方で、emacs-app が無ければ話にならん。 要は MacPort には emacs と emacs-app の二種類が有ってそれを使い分けないといけない。 これが気に入らず、ずっと何とかしなくては、と思ってきたが、 なかなかそうは問屋が卸してくれない。 というか、せっかく「手抜き」をしようというのに、これにかまけていては、 意味がない。emacs
- 実体は、
/opt/local/bin/emacs
で、 Shell から起動すると、Terminal 上でのアプリケーションになる。 - Lisp ファイルは、
/opt/local/share/emacs/lisp
他に入る。 - Elisp からビルドする場合、こちらが呼び出され、
/opt/local/share/site-lisp
か/opt/local/share/emacs/23.2/site-lisp
に入る。
- 実体は、
/Applications/MacPorts/Emacs.app/Contents/MacOS/Emacs
- Lisp ファイルは、
/Applications/MacPorts/Emacs.app/Contents/Resources/lisp
以下に有る。 - 上で、コンパイルした package を使うために、load-path を追加する。
~/.MacOSX/environment.plist の中で、
<key>EMACSLOADPATH</key> <string>/opt/local/share/emacs/site-lisp:\ /opt/local/share/emacs/23.2/site-lisp</string>
他の方法(.emacs
の中で定義するとか)では、 うまく行かない。subdir.el をちゃんと働かせて、 load-path に全ての sub-directory を加えるには、 ここで定義しておく必要がある。
Emacs(その 2)
しかし、ごちゃごちゃやっている内に、emacs-w3m パッケージは実は、emacs(-app) パッケージとは働かない事がわかり、 すっかりプッツンしてしまった。Emacs だけは、MacPort と離れて管理してみよう……と。- dmg で、Emacs を展開。(今回は試しに Emacs-pretest-23.2.91-universal-10.6.5.dmg なんてのを入れてみた。
-
/usr/local/bin/emacs/
を#!/bin/sh /Applications/Emacs.app/Contents/MacOS/Emacs "$@"
というシェルスクリプトにする。(chmod +x もやってておく。) -
PATH
の先頭に/usr/local/bin/
が来るように設定。 - apel, flim, semi をそれぞれ、$ make && sudo make install
で、
/Applications/Emacs.app/Contents/Resounces/site-lisp/{apel|flim|semi}
にインストールされる。 - emacs-w3m (CVS) に関しては、どうしてもうまく行かないので、 configure の後、無理矢理上記の site-lisp を指すように、 Makefile を編集。
- wanlderlus (CVS) は、むしろ WL-CFG の内容を全部コメントアウトとする事で、上記の site-lisp にインストールされる。
- ddskk は、SKK-CFG が Emacs.app/MacOS の項目を持っているが、逆にそこで何も設定しなくても、 所定の場所にインストールされる。
- lookup は子ディレクトリに Makefile
が分散しているので、諦めてディフォルトの
/usr/local/share/emacs/site-lisp
にインストールしたままにしておく。 その代り、上記の environment.plist の EMACSLOADPATH に、このパスを加える。 (他は全部消してしまう。)
Python
最近の MacPort は、Python に関しては文句のつけようがない。 あんまり上手く行くので、ついつい手を広げてしまいそうになり、 それを押えるのが大変……:-p。で、現在のところ、MBA では 2.6.6 とそのパッケージだけにしている。と、インストールは順調だったのだが、使い始めてみると、微妙な問題も。 Gnuplot-py から、Aquaterm にグラフが打ち出せない……。 そもそも、gnuplot (port) からもだめ。なんでや。 なかなか理由が解らなかったが、 バイナリパッケージの AquaTerm.app が 32 bit だかららしい。 MacPort のは 64 bit らしい
fukuda@hawk:~% file /Applications/MacPorts/AquaTerm.app/Contents/\ MacOS/AquaTerm /Applications/MacPorts/AquaTerm.app/Contents/MacOS/AquaTerm:\ Mach-O 64-bit executable x86_64ので、何故同じ MacPort の gnuplot-py がそちらへ出力しないのか不思議だけど、兎に角、その 64 bit 版を、32 bit と取り替える。Library も総入れ換え。
sudo cp -R /opt/local/Library/Frameworks/AquaTerm.framework /Library/Frameworks/AquaTerm.frameworkこれで目出度く、Gplot.py からの出力ができるようになった。
fukuda@hawk:~% python Python 2.6.6 (r266:84292, Dec 24 2010, 10:23:29) [GCC 4.2.1 (Apple Inc. build 5664)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import Gplot >>> from numpy import * >>> x = arange(-10, +10, 0.1) >>> y = cos(x)*exp(-x*x) >>> g=Gplot.Gplot() >>> y = cos(x)*exp(-x*x/20) >>> g.plot(x, y) >>>
2010-12-18 (Sat): 機上の WiFi
と感心していると、そこから乗った Southwest 航空の 737 の入口付近に左のようなステッカーが貼ってあった。おお、ついに……
また、ログイン後もブラウザの各ページに「ヘッダ」が付いたりして、 ちょっと嫌な予感がした(有償なのに、さらに広告を出すのか、みたいな。) が、HTTP 以外のプロトコルもちゃんと通る。 少くとも ssh, ftp, IMAP は実地に試して OK だった。 スループットを計ってみた。
fukuda@hawk:~% wget http://www.python.org/ftp/python/3.1.3/\ Python-3.1.3.tar.bz2 ...... `Python-3.1.3.tar.bz2' に保存中 100%[======================================>] 9,875,464 \ 237K/s 時間 83s 2010-12-18 10:33:03 (116 KB/s) - `Python-3.1.3.tar.bz2' へ保存完了 fukuda@hawk:~% scp Python-3.1.3.tar.bz2 otacky.us: Python-3.1.3.tar.bz2 100% 9644KB 16.2KB/s 09:55平均で、下りは928 Kbps, 上りが 130 Kbps くらいか。 予想通り、かなりの download 偏重になっている。 しかし、それにしても、下り 1 Mbps 近く出ているのは凄いね。 しょっちゅう'--- stalled ---' になるのに、この成績。 半年くらい前に Southwest の機内誌で見た時は、 衛星中継と聞いていたけど、接続がよく途切れるところを見ると、 やっぱり地上局をハンドオーバされながら辿っているのかな。
2010-12-11 (Sat): OP25B 再訪
情ない事に、自分の ML がある留守宅サーバから、自分のメインアドレス (xxxx@computer.org) にメールが送れなくなっていた。Computer.org の aliasing サービスに転送を拒否されている。 留守宅サーバがどう動いているのか確認してみると、 なんと relayhost を使っていない。で、computer.org が、留守宅サーバの IP アドレスを弾いているらしい。 もともとは、mail.jb3.so-net.ne.jp を使っていて、OP25B になったせいで、固定 IP にしたのだった。 それでしばらくは OK だったはず。 なのに何故か駄目になって(またかよ So-net さん)、ええい面倒だ、とばかり、 直接配送する事にした(ようだ。) 勿論その時は仮のつもりだったが、当然そんな事はすぐに忘れてしまう。 いかんなぁ。等という反省というか穿鑿をしている場合ではない、何とか対策を打たねば…… その ML からのメッセージを暫く受け取っていない、と仰る方も居るので。 しかし、最初の思惑「どこかの Blacklist に乗ってしまったかな」は外れだった。(今は <http://www.mxtoolbox.com/blacklists.aspx> などで一発で調べられる。)
次は、「アドレスの逆引きができないホストからの……」が疑われるが、 これは大丈夫だろう。DynDNS さんの五つもの DNS サーバでちゃんと登録されてゐる。 あとは、「MX record が無いホストからの……」かなぁ。 かつて日本のさるプロバイダが、それをやったと聞いた事がある。 で、見様見真似でやってみた…… DynDNS さんのところで、
Host TTL Type Data otacky.jp 1 A 201.238.xxx.xxxx www.otacky.jp 43200 CNAME otacky.jp ..... otacky.jp 600 MX otacky.jpとやるだけ、であるが。しかし、残念ながら otacky.jp から Postfix でメールを送ろうとすると、やっぱり "connection refused" と言われてしまう。
Dec 11 04:25:21 falcon postfix/smtp[5267]: D21F91F5C3: to=<xxxx@computer.org>, relay=none, delay=1, status=deferred (connect to lemroh.ieee.org[140.98.193.30]: Connection refused)
自分のホストが ieee.org にメールサーバとして認められない、というのは癪だが、 多分ここは、mail.so-net.ne.jp を relayhost にするのが王道だろう。 しかし、今は SMTP-Auth を要求するらしい。 かつて試みながら一旦諦めたのも無理はない、 これは結構面倒臭そうである。だが、幸いな事に、
fukuda@falcon:/etc/postfix% rpm -q cyrus-sasl postfix cyrus-sasl-2.1.21-10 postfix-2.2.8-1.2てな具合に、SASL も入っている。Postfix が SASL 対応になっているかどうかで随分話は違ってくるが、
/etc/postfix/main.cf.default
に smtp-sasl-*
が有るところを見ると多分大丈夫だろう。
/etc/postfix/main.cf
に、次のような行を追加
relayhost = [mail.so-net.ne.jp]:587 smtp_sasl_auth_enable = yes smtp_sasl_mechanism_filter = PLAIN, LOGIN smtp_sasl_password_maps = hash:/etc/postfix/isp_auth smtp_sasl_security_options = noanonymousで、次のような内容の
/etc/postfix/isp_auth
を作る。
mail.so-net.ne.jp xxxxx@xxx.so-net.ne.jp:passwordあとはこれを
fukuda@falcon:/etc/postfix% sudo /usr/sbin/postmap isp_authとして isp_auth.db を作る。 username と password を MIME encode するツール (Metamail の mmencode) が有れば、telnet で smtp-server に login して動作確認できるらしいのだが、Metamail のインストールに手間がかかりそうなので、断念。いきなり試してみる事にした。
fukuda@falcon:/etc/postfix% echo $INI /etc/rc.d/init.d/ fukuda@falcon:/etc/postfix% sudo $INI/postfix restart ..... fukuda@falcon:/etc/postfix% mail xxxx@computer.org
さいわいにも、これで computer.org さんは、自分宛のメールをちゃんと、 forward してくれるようになった。(良かった!実は、あまり自信が無かった……。)
2010-12-04 (Sat): MacBook Air でオタク(その 1)
MacBook Air をプチオタク仕様にした顛末。
とりあえずは「一般人」仕様に
AC アダプタを継いで電源ボタンを押すと、問題なく立ち上がり、Setup Assistant が起動される。MacPro から環境を転送すれば楽で良いのだが、今回は無理。何せストレージが 128 GB しかないので。それをやらなければ、ここでは WiFi AP への接続をセットアップするだけ。そしたら自動で AP に接続できた。 大したもんだ。ここで、OS と附属の S/W をアップデート。
- Mac OS X, 10.6.5
- Java 1.0
- Safari 5.0.3
- iPhoto 9.1
- iTunes 10.1
おもむろにカスタマイズ。
- Caps Lock と Control key を交換: System Settings ⇒ Keyboard ⇒ Modifier Keys... ⇒ (実際には、Control は Control のまま、にした。そもそも Caps Lock って何時つかうんだろ。)
- Hostname を変える: System Settings ⇒ Sharing ⇒ Computer Name (Edit...) (これが、"Taka xxxxx's Mac Book Air" じゃあ、以降どうにもならない。 今回は Hawk とした。)
- 外からログインできるようにする: 上記ペインで、Remote Login にチェック。
- Menubar に日付けを加える: System Settings ⇒ Date&Time ⇒ Clock: Date options:
- Menu bar に battery status を付け加える: System Settings ⇒ Enery Saver: Show battery status in menu bar にチェック。
- AquaSKK-4.1b をインストールする: sourceforge.jp で、AquaSKK-20100317.dmg を取ってきてインストール。 ここで、System Settings ⇒ Keyboard Shortcut: Splotlight の shortcuts のチェックを二つとも取る。
- Trackpad は「漢の仕様」にする:
一度は殆んど全部の機能をオンにしていたのだが、
タイピングしている中にポインタがどっかへ飛んで行ってしまう。
これを「何とかしよう」と機能を減らしていったら、こんなになってしまった……
"Tap なんかするもんか、という設定"
Unix Command 環境を整える
とにかく Storage が小さいので、 あまり漫然とコマンドを重複して入れるのはまずかろう(いずれにせよ、Emacs が八つも有るというのは、やっぱりおかしい:-p)といふ事で、 今回は Emacs の他、Python31, Python26 等も MacPort で統一する事にした。(その、心掛けは良かったのだが……)- Luxi Mono フォントを入れる。というか、最初から入っている筈の
/usr/X11/lib/X11/fonts/TTF/luxim*
を~/Library/Fonts
へコピーする。 - Lucida FAX(改)フォントを入れる: ~/Library/Fonts を作ってその下に入れるだけ。(一旦 Logout すれば、FontBook でどうこうする必要さえない。)ssh は始めから使えるので、MacPro からコピーした。(Windows には—勿論「改」でないのが—初めから入っている……今思い出した。)
- Terminal.app を設定: とりあえずはフォントを少し大きくするだけでもかなり使い易くなる。 もしくは Taka の設定をインポートする。(← かなり趣味が偏ってます—老眼向け。) 以降の作業は、Terminal.app 上のでやる。
- MacPorts のサイトから、 MacPorts-1.9.2-10.6-SnowLeopard.dmg を取ってきてインストール。(これは勿論、ファイルをダブルクリック。)
- Xcode をインストール: "port install xxxx" しようとしたら、 Xcode が無い、と言われた。インストールしてみたら、これだけで、1.2 GB! MacPort に統一しようとしたのは失敗であったか……。 でも、いずれはコンパイルしたくなるのだから、どのみち必要になるんだ、 と思う事にする。
- MacPort を一気にインストール: zsh-devel, coreutils, emacs, emacs.app,
python26, python31(時間が無ければ、zsh-devel, coreutils だけでも可。
/usr/bin/emacs
でも十分作業はできる。)
Terminal/Zsh
-
/etc/shells
を編集して/opt/local/bin/zsh
を加える。# /etc/shells /opt/local/bin/zsh ## << new line /bin/bash ……
- chsh コマンドで、
/opt/local/bin/zsh
を default shell にする。(どのファイルを弄るのか解らないので、このコマンドで起動される vi を使うしかない……。ちなみに、i で insert mode, それから抜けて vi を終えるには、Esc + ':wq'。)# Changing user information for fukuda. # Use "passwd" to change the password. ## # Open Directory: /Local/Default ## Shell: /opt/local/bin/zsh Full Name: Taka Fukuda ……
-
.zsh*
を編集# ~/.zshrc # Files you make look like rw-rw-r umask 022 ulimit -c unlimited # HISTFILE=$HOME/.zsh-history HISTSIZE=100000 SAVEHIST=100000 case "$TERM" in network) export TERM=ansi ;; unknown) export TERM=ansi ;; esac case "$TERM" in dumb) PROMPT='%n@%m:%~%# ' ;; *) PROMPT="%n@%{${fg[red]}%}%m%{${fg[default]}%}:%~%# " esac ……
実際は、こんな感じだけど、もうどの option が本当に効いているのかよく解らない。)# ~/.zshenv #HOST=hawk PATH=/opt/local/libexec/gnubin:/opt/local/bin:/usr/local/bin:\ ~/script:/usr/X11R6/bin:/usr/bin:/bin:/usr/sbin:/sbin MANPATH=/usr/local/man:/opt/local/share/man:$MANPATH INFOPATH=/usr/local/share/info:/usr/local/info:/usr/share/info:\ /usr/local/share/ info: export LANG=ja_JP.UTF-8 export LC_ALL=ja_JP.UTF-8 export LANGUAGE=ja export LS_COLORS="ln=0;32:di=0;34:ex=0;31" export PYTHONSTARTUP="/Users/fukuda/script/startup.py" ……
PATH
の先頭に/opt/local/libexec/gnubin
が来ているのは、gnu の coreutils を優先する工夫。
この後は、Emacs と Python の環境を整える予定。
2010-11-30 (Tue): ThinkPad 不調(その 2)
件の電池がやっと届いた。注文(11/6) から三週間以上。 三度目の催促で USPS のトラッキング番号を知らせてきた。(これに返事が無かったら PayPal の dispute に行こう、と思っていたのだが、 今となっては、それを試してみたかったような気もする:-p)早速、電池を取り替えてみるが、ThinkPad の件の症状は直らなかった。 つまり、蓋をした状態で AC アダプタを外すと、かなりの確率(50% 以上)でフリーズ(暴走)する。("Battery may be broken" は出なくなって、そのせいか、スリープから勝手に冬眠、 というのは無くなったようだが。) ちなみに、この電池は寸法精度が出ていないのか、装着するのが難しい。 かなり力を入れないと、きちんと挿さらない……。 もし買えるなら、少々高くても純正品かな?
たまたま、カーネル(2.6.34-23.41) を含むパッケージの自動アップデートが有ったので、
それを適用してから、Madwifi (hal-0.10.5.6-r4126-20100324)
を再コンパイル、% sudo modprobe ath_pci
とやった。
しかし、症状は変らず。
さらに、標準バッテリ(4 cell) が有った事を思い出し(今回ダメになったのは、 同時に購入した 6 cell)、それも試してみた。 が、やはりこれも症状は変らなかった——あたり前、か。
今回新たな問題を見つけた。上記の問題を避けるには、キーボードから明示的に スリープさせてから、蓋を締め、AC アダプタを外す、というのが確実なのだが、 これが、最初の一二回しか効かない。それ以降は無視されてしまう。 こうなっては、プラグを抜いてから蓋をしてスリープさせる、 しか手が無くなった。
どうも、ポータブル Linux Machine として使うのは難しくなった、という事か。 既にサーバとしての信頼性にも疑問が出ているが、ここは気を取り直して、 サーバモード(AC アダプタを接続したまま蓋を閉じておく)で、 連続運転試験(放置とも言う)をやってみよう。
2010-11-25 (Thu): ThinkPad 不調
ThinkPad がどうも調子が悪い。Ubuntu-10.10 のカーネルだと、 スリープがらみのトラブルが絶えなかったので、10.04 のカーネルに戻したのだけど、今度はブートに時間が掛るようになったし、 何かと不安定になったような気がする(しかし、再現できない事が多い。) で、先日は、AC アダプタに継いだまま作業している内に、 画面が乱れてハングする、という事態に陥ってしまった。(Emacs の自動バックアップの御陰で、失われた入力は僅かで済んだが……)で、今はまた 10.10 のカーネル (2.6.35-22) に戻している。 蓋をしてから AC アダプタのプラグを抜くと略確実にハングするが、 それさえやらなければハングには至らないようだ。 しかし、いつの間にか hibernate してしまうという問題は残っている。(Windows だとこれが起きない。)
これはどうも、電池の問題ではないかと思う。 先にも書いたように、ログインの度に "Battery may be broken" と言われている状態なので、Ubuntu が電池残量を勘違いして冬眠してしまうのだろう。
なので、新しい電池が早く欲しいのだが、それがなかなか届かない。 以前、TP 22X の電池をオンラインで買った時は、迅速確実だったのだが、 今度のところ (Ecsem Industrial Co.) は 注文して 3 週間も経つのにナシの礫。まあ、PayPal 系由で支払ったので、よもや丸損という事にはならないだろうが、 時間のロスと余計な手間が腹立たしい。先のケーブルの例や、友人のための PDA を買った時の経験からして、中国を本拠地とする会社は避けた方が無難という事か。 (改めてウェブを良く見ると、深圳 (シンセン:Shenzhen) にある会社らしい。 早く気付けば良かったなぁ。)
2010-11-20 (Sat): Python と Unicode
今更、であるが、Python 上の Unicode の話。Python 3 では
Python 3 (最新版は 3.1.2) になって、Unicode がディフォルトとなった。 いや、その前に、'str' object, 'unicode' object だったものが、'str' object に統合され、新たに 'bytes object' が加わったというべきか。 で、'str' object の 'character set' が Unicode となった、と。(多分) つまり、- Python-2.6.6:
-
>>> line = 'aaa' >>> type(line) <type 'str'> >>> line = u'aaa' >>> type(line) <type 'unicode'> >>> line = u'日本語' >>> line u'\u65e5\u672c\u8a9e' >>> print line 日本語 >>> len(line) 3 ## 番外 (使うな、危険) >>> line = '日本語' # 実はこうもできる(こともある。) >>> line '\xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e' # 既に utf-8 になっている >>> print line 日本語 >>> len(line) 9
- Python-3.1.2:
-
>>> line = 'aaa' >>> type(line) <class 'str'> >>> line = '日本語' # u'xxxx' としては間違い >>> line '日本語' # '\u65e5\u672c\u8a9e' としてくれた方が # 「教育的」だったかも。 >>> type(line) <class 'str'> >>> line = '\u65e5\u672c\u8a9e' # こうもできるが…… >>> line '日本語' >>> len(line) 3 >>> aaa = '\u0061\u0061\u0061' >>> aaa # *1)内部表現は本当にこうなってる? 'aaa' >>> data = b'aaa' >>> type(data) <class 'bytes'> >>> data b'aaa' >>> data = b'日本語' # これは不可。 File "
", line 1 SyntaxError: bytes can only contain ASCII literal characters.
あしたのために(その 1)
さて、Python の string は、Unicode と決った訣だが、 例えばこれをファイルに落してやるためには、encode してやらなければならない。日本語なら JIS 文字セットを、EUC、IS0-2022-jp, Shift-JIS にするなど。 Unicode では、これを UTF-8、UTF-16 等でやる。 で、ここでちょっと乱暴な決め付けをやる……つまり、UTF-8 一本で行こう、 ということ。UTF-8 については、 Joel さんの素晴しい要約が有る。(日本語版が見付からないのが残念。) 全体像はそっちを見て頂くとして、 ここでは「これだけノート」を書き写しておく。
Hex Min Hex Max Byte Sequence 0000 0000 0000 007F 0vvv vvvv 0000 0080 0000 07FF 110v vvvv 10vv vvvv 0000 0600 0000 FFFF 1110 vvvv 10vv vvvv 10vv vvvv 0001 0000 001F FFFF 1111 0vvv 10vv vvvv 10vv vvvv 10vv vvvvこれは次のようにして使う。例えば、'日' ならば、 U+65E5 だから、上の 3 行目を使う。0x65E5 を binary で書くと、
0110 0101 1110 0101だから、
1110 0110 1001 0111 1010 0101 E 6 9 7 A 5となる訣。(太字は表からの固定パターン)
これはもう、素晴しい、としか言いようがない。ASCII はそのままになるし、 バイトオーダ (big endian か little endian か) に悩まなくて済むし、コード長が 3 バイト以上になる文字にも自然に拡張できている。(ただ、nibble が分割されるので人間様には少々解り難いという嫌いがあり、その面では UTF-16 には負けていると言えるが、しかし、こちらはバイトオーダがややこしいし、 何よりコード長が 2 バイトを超える文字については絶望的……) Joel さんによると、これ(UTF-8) は Ken Tompson (Unix の発明者)のアイディアらしいが、さすが、である。
Default Encoding
で、今や、自分の書く文書は全て UTF-8 だし、アプリケーションも その encoding にして使っている。Python 2/3 でも、UTF-8 対応になっているようで全く問題なく使える…… と思っていたが、それはどうも、UTF-8 encoding に設定した Terminal (Terminal.app, MLterm, Eterm) の上で Python を使っているから、に過ぎないようだ。例えば、息子の使っている Windows 上の IDLE では、CP932 などというややこしいものを使っている。 (「負の遺産(Shift-JIS)」を何が何でも残したい、という事か。) しかも、それを変更する方法が見付からなかった。(まあ、それでも、 それを一貫して用いれば、encoding など意識する必要など無いのだろうが。)
で、ちょっと試してみて、の結論。
まず、明示的に encoding を指定する。
>>> line '日本語' >>> fp = open("nihongo.txt", "w", encoding="utf-8") >>> fp.write(line) 3 >>> fp.close() >>> fp = open("nihongo.txt", encoding="utf-8") >>> line2 = fp.read() >>> line2 '日本語' >>> fp.close() >>> fp = open("nihongo.txt") >>> fp.encoding # MacOS の IDLE は、ASCII ('C') が default encoding 'US-ASCII' >>> line2=fp.read() Traceback (most recent call last): File "<pyshell#68>", line 1, in <module> line2=fp.read() File ..... UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 \ in position 0: ....これは、常に encoding を指定してやる必要があるので、あまりお勧めではない。
次に default encoding を使う方法。
これはどうも、環境変数 ('LANG' ではなく)LC_ALL を反映しているらしい。
なので export LC_ALL=UTF-8
とやる(UTF-8 は大文字。)
そうしておいて、Python を起動するか、
open -a IDLE
として IDLE を起動すれば OK。
しかし、Windows の IDLE などはこれを設定する方法がない。その場合は、
os.environ['LC_ALL'] = 'UTF-8'
としてやれば良い。
(この場合も 'utf-8' ではダメ。)
>>> import os >>> os.environ['LC_ALL'] 'C' >>> fp = open("nihongo.txt") >>> fp.encoding 'US-ASCII' >>> fp.close() >>> os.environ['LC_ALL'] = 'UTF-8' >>> fp = open("nihongo.txt") >>> fp.encoding 'UTF-8' >>> fp.read() '日本語' >>> fp.close() >>> os.environ['LC_ALL'] = 'C' >>> fp = open("nihongo.txt") >>> fp.read() Traceback (most recent call last): File "<pyshell#48>", line 1, in <module> fp.read() File ..... UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 \ in position 0: ..... >>>
2010-11-06 (Sat): ThinkPad あれこれ
フリーズ
Kernel のアップデートが無いので、当然かも知れないが、 例の「Ubuntu-10.10 でスリープに失敗する」はまだ続いている。 こちらに帰ってくるとあまり頻繁には使わないのだが、 それでもあれから三回は起きた。一度はそれが起きるところを見届けた。 AC アダプタを継いだまま、蓋をし、それからアダプタを外すと、 三日月マークの点滅が始まる。そこまでは良いのだが、それが永遠に続く。 で、これには再現性が有る。あと、[Fn] + F4 で、スリープしなくなっている事に気がついた。 どうも上と関連した不具合らしい。
これはちょっとつらいな、何とかせねば、と焦るものの、 神頼み(アップデート待ち)しか思いつかない。 で、ダメもとで kernel (2.6.35-22) を一つ前の (2.6.32-25) に戻してみた。といっても GRUB で、それを選ぶだけなのだが、なにしろ 10.04 のカーネルなので、そもそも上手く起動するのかさえ不安。しかし、 案ずるより産むが易しで、あっさり起動し、しかも上記の問題が解消できた。
Battery Broken
で、頻繁にリブートするのだが、その後最初にログインした時に "Battery may be broken" と言われるようになった。 「容量が 47 % くらいに落ちているから」らしい。まだ、2 年にしかならないのに、もう寿命なんだろうか。 そういえば、このところ不意にシャットダウンする事が多くなっていた。 (電池残量の表示が全く当てにならない、という事。) こりゃもう、サーバにするにも電池を買い換える必要があるなぁ。Wicd
Ubuntu で繋りにくい AP が有る、というのが長らくの懸案であったが、 10.10 でも改善されていないようだ。先月の後半は日本へ出張したので、 空港を初め色々なところでアクセスを試みたが、一旦 Windose で接続してからでないと、ダメというところがまだかなり有った。 つまり、以前と同じという事。殆んどいつも "Obtaining IP address..." で止まるので、DHCP サーバを選り好みしていると思われる。2010-10-27 (Wed): Ubuntu-10.10 フリーズ
下で、「Sleep 回りに問題無さそう」などと書いたが、これは大間違いだった。まず、Ubuntu から Restart しようとすると、立ち上げ画面(GRUB の前の、ThinkPad と大きく表示される画面)で、フリーズする事がある。 パワースイッチで一旦切るしかない。 この現象は以前からも有ったが、頻度が上がったような気がする。 そう思うのは、このところ頻繁に Windows XP と Ubuntu の切り替えているせいか。ちなみに XP からリスタートする場合は、これが無い。
次に、こっちがもっと深刻だが、sleep に入らない事がある。 スリープさせたつもりでバッグに入れて、次に取り出そうとすると、 触れない程熱くなっている。三日月マークが点滅していて、 画面はブランク、という状態。これもパワースイッチを触るしかない。 10.10 にアップグレードしてから、4 日の間に 4 回起きたから、ったく冗談ではないぞ、という感じ。
X200 で l0.04 LTS をお使いの方は、 しばらくアップグレードを見合せる事をお勧めする。
自分も、(簡単に)できるものなら、10.04 に戻りたい……
2010-10-23 (Sat): Ubuntu-10.10
帰宅(帰国)したら、留守宅サーバ (www.otacky.jp, ThinkPad X22) を X200 で置き換える予定であった。 が、今見てみると、なんと、一年間の連続運転を達成している!fukuda@falcon:~% uptime 13:04:15 up 375 days, 5:22, 2 users, load average: 0.07, 0.02, 0.00停電で落ちたのが約一年前で、その後は Ethernet chip が過熱した際も、停止しなかったようだ。 横のものを縦にしただけで、その後、3ヶ月持ち堪えている訣か。 となると、態々 X200 で置き換えるのが惜しいような気がしてきた……。
X200 には、Ubuntu-10.04 LTS が載っている。もう、OS 弄りはやめてこれを使い続けよう(なんたって LTS だし)なんて殊勝な決心は、 サーバにしない、と決めた途端にゆらぎ始めた。"10.10" というバージョンもなんだか切りが良いし。
インストールは例によって簡単。"Update Manager" から "Upgrade" をクリックするだけ。ただ、ダウンロードにやたら時間がかかった (1時間20分程)。 とは言え、考えてみたら、OS のディストリビューションを一揃いダウンロードしている訣で、 1 時間強なら「出来すぎ」と言うべきか。
例によって手早く(いい加減に?)動作チェック。
- SCIM は様子が変っていて、SCIM-SKK だけがインストールされている。 Firefox ではちゃんと動く。MLterm でも入力はできるが、 変換窓が変なところに開く。
- Sleep 周りは問題無く動く。勝手に hibernate する事も無さそう。 (まださほどは時間を掛け確認してないが。)
- Skype のログイン画面のフォントの一部が汚くなった。 しかし、動作に問題は無さそう。ヘッドホンもマイクも大丈夫。 (でも、いい加減でリリース版を出してよ、Skype さん。)
- BasiliskII は問題なく動いているようだ。音声も出ている。 (この Christian Bauer さんの 1.0、つくづく凄いなあと思う。)
- /usr/local/bin/emacs は問題無し。これも、Wanderlust のスタートアップ画面のフォントが AA(アンチアリアス)でなくなった。
- しかし、Firefox, Seamonkey では google の検索結果が美しくなった。 假名は OK だのに、漢字だけが AA でない、という問題が解決されている。 (今回これが一番嬉しかったかったりして :-p)
- /usr/local/bin/mlterm は変化無し。 つまり、記号の一部が豆腐になる:-p
- gnome-screenshot は相変わらずボーダーを付けてくれない。
- WiFi, Wicd は動かず。(下記参照)
Madwifi は相変わらず頭痛の種である。カーネルを新しくする度に、
sudo modprobe ath_pci
とする必要がある。
時には、madwifi-hal の build が必要。
今回は何とそもそも madwifi がコンパイルできなかった。
このサイトの
patchを
~/build/madwifi-hal-0.10.5.6-r4126-20100324/ath/if_ath.c
にあてたら、うまくコンパイルでき、インストールもできた。
(もう C なんて忘れても大丈夫、と思っていたけど、そうでもないか。)
我が家(留守宅)のイントラネット (11g) では 20 Mbps
くらい出ている。(直前のデータが無いので、直接の比較はできないが、
少し速くなったような気がする。)
これで Wicd(の WiFi)も動くようになったが、既知の問題(稀に IP アドレスが取れない事がある)については、 何しろ「場所による」ので確認するにはしばらくかかる。
2010-10-10 (Sat): Namazu の復活ならず
サイト内全文検索を Google の「カスタム検索」に変えてしばらく経つが、 ページの変更が即反映されないのは措くにしても、 検索がファイルごとになるのが不満だった。 で、namazu-2.0.20 をまた試してみた。
この自称「メモサイト」が珍しく役に立って、比較的すんなりインストールできた。
また mknmz は UTF-8
のウェブページのインデックスをとりあえず作ってくれたようだ。
(ただ、NMZ.head.ja
の控えがどこかに行ってゐて、
他のページと体裁を似せるのにちょっと試行錯誤した。)
しかし、検索結果の、 要約の部分に検索キーワードが表示されない事がある、 という問題点はそのままのようで、少々がっかり。 というか、どうもこれ、全く関係ない箇所を指し示している、という事らしく、 ターミナルの coding を ja_JP.eucJP としないといけない、 という事とも相俟って 、ちょっと何だかなあ、となった。
結局、Google カスタムサーチに留まる事にした。そのページ(ファイル)に行っ てから、さらに Command-F でサーチするってのも癪だが、それでも今の namazu よりは早い、と思う。
2010-10-09 (Sat): オタク稼業は開店休業
Time Machine に窮地を救われる
実際使っているのと同じ容量の HDD を注ぎ込んでいるのに、そこからブートできないなんて、 とか、しかも役に立たつ場面てそんなにないよな、などと色々贅沢な不満を漏らしていた Time Machine であるが、このところちょくちょくお世話になっている。 (要は、私が続けてドジを踏んだ、という事。) 中でも、「TM が無かったらアウトだったなぁ」と思ったのは、 ウェブサイトのあるイメージを上書きしてしまって、 一週間以上も経って気付いた時(従って、控えはどこにも無い)。 まさか、kokuzoumushi.png
なんてファイルが既に存在していようとは……。
しかし、Preview から上書きしようとした時に、なんで警告されなかったのかな。
単に見過しただけか?
開発環境 — 宝の持ち腐れ
Django が 1.2.3 になった。リリースは大分前だが、忘れていて、 今日やっと Macport で新しくなった。 今のところ、開発中のウェブシステムには問題無さそう。これには、つまり Django の互換性の高さには、いつも感心させられる。(Zope も最近は良くなったんだろうか。)
他にも Macport で大量に upgrade されたが、
No Error。こっちも大したもんだ。でも、何時間もかかるのは何とかならんか、と思う。
gcc-4.4 のコンパイルがやたら時間を喰っているのだが、しかし、おかげで
gcc が 4.4.5 となった。もう Ubuntu を追い抜いたぞ。
とは言え、この先自分が gcc を使う事、というか、C や C++
でプログラムをする事はもう無いだろうという気がする。
すこし前に、小さなプログラムを書こうとしたが、for (i = 0; i < max;
i++)
という構文を暫く思い出せなかった*^^*。私は while
より for をよく使っていたので、かなりショックであった。
しかし、些か負け惜しみの嫌いはあるが、
Python でできない事は無いようだからもういいや、とも思った。
(その Python も with などは未だに使い熟せてないのであるが。)
宝の持ち腐れと言えば、Numpy。これも Macport でしっかり ATLAS ごとアップデートしてくれるのは嬉しいのであるが、あまり使っていない。 勿論 gnuplot.py を通して、とか、普段の数値計算では結構お世話になっているのだが、 せっかくの ATLAS が活用できていない。(かつては、Linux の上でも、こいつのコンパイル・インストールは一仕事だった。) 要は、計算時間を気にするような大きい行列の計算をやる事が無い。(そもそも、Numpy で行列計算をした事が無いような気もするが。) 当初意気込んだ FDTD は、この先やる事があるにしても、 きっと市販のツールに頼るのだろうな。
そう言えば、Xcode も 3.2.4 となった。こちらも同じ意味で、「そのうち……」 と思いつつ、実際には眺めているだけ、になりそう。FM 放送を録音するツールを、これで何とか動くようにしようとした事もあったが、 結局歯が立たなかった。そもそも Project という概念に慣れる事ができない。 iPhone のアプリケーションを作ってみる、なんて、楽しそうなんだがなあ。 まあ、老後の楽しみに取っておくか。
eblook
こちらは開発環境ではないが、いつかは触ってみよう、と思いつつ日が経っている。 で、Macport でアップデートされる度に思い出しては、なんとかしなくては、と。 なんだか、矢鱈とややこしい事をして、辞書(特に OALD)の見栄えに凝ってはみたものの、元の eblook が改良されたなら、 そっちの方が良いだろうな、と思っている訣。 しかし、これも他へポートしようとか、人に勧めようというのでなければ、 今のままでも然程問題無い……。という事で微温湯から出られなくなっている図、 だろうか。Linux とも御無沙汰
などという事も理由の一つなんだろうが、最近 Linux にあまりアクセスしなくなった。ThinkPad X200 でさえ、持って歩くときでもなければ Linux (Ubuntu-10.04LTS) をブートする事は滅多にない。 そのせいか、偶に使おうとすると、色々と裏切られる。 最近の「なんだかなあ」は、ビデオ出力をプロジェクタに切り替えようとしたら、 モニタにもプロジェクタにも何も出なくなってしまった事。 いや、プロジェクタはちと「やばい」画面が表示されたままになっていて、 余計恥ずかしい思いをした。もう一つは、何故か hibernate するようになった事。Linux の hibernate はこれまでうまく行った事が無かったので、当然のように sleep (suspend) させる設定にしているのだが、それを無視して hibernate してしまう。 最初は勝手に落ちるようになってしまったと思って非常に焦った。 が、パワーボタンを押してブートしてみると、hibernate から起きてきているようだ。 リブートする時と同様 Grub で OS を選んだ後、いきなり Desktop 画面が表われるので、これは何故か徳した気分になる。 ひょっとすると、Ubuntu も XP も hibernate した状態にしておいて、 Grub で切り替えるようにすると、これは相当便利だし、 切り替え自体がかなり速くなるのではないか。 と思うが、まだ試していない。
2010-09-10(Sat): MLterm-3
Ubuntu を 10.04.1 にアップグレードしても、結局 MLterm 2.9.4 の問題(Luxi Mono が bold になる)は解消しなかった。この問題のせいで、少し前から Emacs の Term モードを使っていたけど、使い勝手がどうも今一。Ls でファイル名を multi column 表示させたら列が揃わない、なんてのには慣れてきたが、 レスポンスが遅い事や、日本語入力の時に char/line モードの切り替えをしないといけない、というのが結構煩わしい。 もう少し我慢してると慣れるのかも知れないが。 ちなみに普段は char モード一本。C-p や C-r が Zsh と全く同様に使えないと、Terminal モードの意味がない、と思っている。
で、最後のあがき、という事で、MLterm-2.9.4 で .fonts.conf を新旧何種類か試してみた。 が、やっぱりダメ。
ふと思いついて、MLterm-3.0.1 もやってみたが、これも駄目だった。(つまり Luxi Mono が bold になってしまう。) で、何だか、当てずっぽうだが、フォントを Lucida Fax (改) にしてみた。すると、文字間隔などは OK だが、窓の幅がスクリーン一杯になってしまう。 で、その左半分だけを使っている、というイメージ。
うーん、やっぱりだめか、とあきらめかけたが、 「当てずっぽうついで」に、
~/.mlterm/main
で、
screen_width_ratio
を 60 % に設定にしてみたら、これが大正解。
左のような表示が得られる。(gnome-screenshot は相変わらず window border
(窓枠?)を付けてくれない……)
とまれ、インストールメモを残しておく。
まず、ソースは sourceforge から取ってくる。
fukuda@lark:~/build/mlterm-3.0.1%./configure \ --with-type-engines=xft \ <<< これは必須 --enable-scim --enable-uim ..... Mlterm was configured as follows Installation path prefix : /usr/local Build shared libraries : yes ...... Type engines : xft DnD : yes Input Methods : XIM kbd <<< scim も uim もできていない? Scrollbars : simple sample extra fukuda@lark:~/build/mlterm-3.0.1% make && sudo make install
設定ファイルの形式がかなり変っている。まず、.mlterm/main
。
オリジナルは全部の行がコメントアウトであるが、そこから違っているところだけ……
screen_width_ratio = 60 <<< ここが今回の肝 termtype = mlterm ENCODING = UTF-8 fontsize = 18 use_variable_column_width = true type_engine = xft use_anti_alias = true line_space = 4また、
.mterm/vaafont
は
ISO8859_1=Lucida Fax ISO10646_UCS4_1=Lucida Fax ISO10646_UCS4_1_BIWIDTH=Hiragino Mincho Proとした。(これも、形式が大幅に変っている。)
残った課題:
- 全角記号の一部が「とうふ」になる。
「↓※◇■△▽⇒┗┳┛♂♀†」等。(「〒@〓×…」等は表示される。)
vaafont で、
DEFAULT=Hiragino Mincho Pro
とやれば、解消されるが、 日本語と英字のバランスが悪くなり、カーソルがえらく縦長になる。 - SCIM-SKK は使えるが、変換窓に候補が表示される。つまり、inline
変換にならない。また、
main
の#use_xim = true #input_method = xim
を、uncomment したり、別の値、例えば "scim" を設定すると、全く日本語入力ができなくなる。 - 上記の問題は、Maverick の deb パッケージを
dpkg --install
しても同じだった。
が、しかし、MLterm-2.9.x や、Emacs/Term に比べて確かに使い勝手が良いので(軽い、綺麗、とりあえず日本語入力可)、 こちらを使って行こうと思う。
2010-09-08 (Wed): 知らぬまの Upgrade
Ubuntu-10.04.1 がアナウンスされてからもう随分経つのに、 一向にネットワークインストールできるようにならない……と思っていたが、本日 Windose へ戻る用事が有って、その後 Ubuntu をリブートしたら、なんと、 Grub の選択肢に、ずらりと 10.04.1 のカーネルが並んでいる……。 なあんだ、このところやたら Upgrade Manager でのアップデートが多いなと思っていたが、 何の事はない、実はあれが 10.04.1 へのバージョンアップだったんだ。 (「神様に捨てられた」なんて、ちょっと大袈裟すぎました。でも、そう言えば、Ubuntu って現在の Revision を確認する方法が無いような気がする。)これで目出度し目出度し……なんて訣は勿論なくて、むしろがっかり、かも。 というのは、その上で、Luxi Mono が Bold になってしまう問題は "10.04.1" でも結局直らなかった、という事になるから。
あと、WiCD の「今一」もそのまま。 再起動した時は完全自動で AP に接続してくれるのに、 Sleep から起きた時は散々待たせたあげく "Wrong Password" だとか言う。 この現象は、二種類の AP で起きるから、やはり WiCD のバグだろう。
2010-08-29 (Sun): 捨てる神有れば……
Ubuntu (10.04) の mlterm で、Luxi Mono がどうしても Bold で表示されてしまう。一時、.fonts.conf を弄って直っていただけに、 Ubuntu の自動アップデートで、また Bold になってしまったのが余計悔しい……。 多分 xfs がどうにかなったのだろう。
そんなところに、Ubuntu 10.04.1 が出た、という知らせ。 ひょっとして上の問題に進展が有るのではないか、と期待しているのだが、 Update Manager がなかなか「upgrade できるよ」と言ってくれない。 じりじりするが、もうネットワーク越しの自動アップデートの「お手軽さ」 に慣れてしまって、今さら ISO イメージを落して、なんてやってられない。
が、ここにきて「もう MLTerm は無くても良いかも」と思える出来事が……。 MacOS X では Emacs-23.2 の Term は色々問題が有って、それ一本で、とは行かない。 で、Ubuntu の Emacs/Term でも「どうせ」と思っていたが、やってみると
- line モードで、prompt の下に "%" が表示される。(Ubutu では解消)
- char モードで、prompt の下のスペースが小さくて、C-r 等が使いづらい。(Ubutu では解消)
- char モードで、漢字入力ができない。(どうも、line-edit の問題らしい。 Ubuntu でも解消されず。)
- char モードで、lv した時、上の方が切れてしまう。(Ubuntu でも解消されず。)
- py-shell モードで、日本語の入力がうまく行かない事がある。(Ubutu では解消。)
- mini-buffer の表示の下の方が切れる。(Ubuntu では元々問題無し)
- Lucida Fax の italic が表示されない。(Ubuntu でのみ。現在は解消。)
しかし、Emacs-22.x の頃は MacOS X の上での方が Emacs の完成度が高かったのに、また「二級市民」になってしまったような気がする。 お願いしますよ、Stallman さん。
2010-08-14 (Sat): BasiliskII 讃
それに勝るアプリケーションが無いから、なのか、 つぎ込んだ時間と労力が大きすぎるから、なのか良く解らないが、とにかく HyperCard である。 とはいえ「行き止まり感」はぬぐえず、PythonCard や Revolution への移行は、何度もトライしたが、毎度「そのうち立ち消え」になった。 日本語が使えない、とか、本当に紙の上に書く感じが出ていない、 とか色々理由が有ったように思うが、結局、 現在の自作 HC アプリケーション達に満足していて、 それらを別の(HC 以外の)プラットフォームで再現できそうもない、 というのが一番大きかったのではないか。
しかも、幸いな事に BasiliskII がそこそこ安定に動いてくれるし、CPU の進歩の御陰で、Quadra 700 で Native で動かしている時より断然早い。 ひょっとすると、Q700 で HC を立ち上げるよりも、MacPro で、BasiliskII を立ち上げ、さらに HC を立ち上げる方が早いのではないか、と思われる。
しかし、HC 専用機としても、段々機能が落ちてきているのは否定できない。 何しろ EtherTalk が動かないので、 アプリケーションやドライバの再インストールができないのだから、 これはどうしようもない。 なので、例えば、バックアップを取ったり、他のマシンと Sync を取ったりするのは、Unix フォルダではなく、HDD image そのものだったりする。
BasiliskII そのものの開発も、Bauer さんのところでは疾うに終了(2001 年の 0.9-1)、その後も開発が続いていた JIT バージョンも 2005 年の 1.0 で止まっていた。(これも、「何とか移行せねば」と焦っていた理由の一つ。) ところが、最近、新しいバージョンを見付けた。まず 2009-08-03 版 を見付けて試してみた。 デスクトップにやたらファイルのアイコンが出来て気味悪かったが、 他にはなにも問題無かった……。 で、そのあたりのブログを眺めていたら、もっと新しいのを見つけた(2009-10-04 版)。
これがまた非常に具合が良い。(アイコンがちとリアルすぎる気もするが。) 諦めていた音聲がまともになった。Victoria さんの喋る英語が聞き取れる……感激。(勿論、Snow Leopard の Vicki さんの方が遥かに自然ではあるが。)何より、とても安定している。 以前の JIT バージョンは、時折画面が完全にフリーズしたり、 カーソルが消えてしまうという問題が有ったが、この 2009-10-04 版は、今のところそれが無い。Quadra (MacPro) では、一月あまり、 Mac mini では、一週間くらい使っているが、いずれも問題無く推移している。 あ、mini の方は、BasiliskII を開いたまま、モニタを交換したら、 カーソルが、guest OS の menu bar の下側にくっついたまま、上下に動かない、 という問題が出た。 しかしこれは、そんなモニタ交換自体が無茶だったと言うべきか。
ふーむ、これでまた、HyperCard の移行問題は先送りとなった。 ただ、今回 HyperNext というプロジェクトを見付けた。現在の最新版は起動もできないが、近々 MacOS X の Intel native 版や、Linux 版も近々出るらしい。ひょっとしたら、案外すんなり移行できるかも知れない。 (2007 年で開発が止っている、という可能性も大だが。)
2010-08-07 (Sat): Emacs-23.2 (その六)— もういいか……
このところ Emacs を弄る事が減ってきた。 問題が全て解消された訣ではないのだが、 飽きてきたのか、そこそこ満足しているからか、もう歯が立たないからか (多分全部)。 道具にあまり凝るのもアホらしいので、正しい大人の判断であると言えるが、 こんな風に「何となく軟着陸」した時は、記録を残す事が少なくて、 後で困る事が多い。なので、とりあえずの「まとめ」。フォント
我「Lucida Fax 改」は、「『役物』の左右の空白を増やして、 文字幅を変えるだけ」に留めるつもりだったのだが、 とうとう、グリフの「形」にまで手をつけてしまった。 と言っても、"i" と "j" の「点」を少し大きくして上に上げて、 "·" (interpunct/middot, U+00b7) を付け加えただけ。 同じ事を、regular のみならず demibold についてもやった。 Fontforge を使えば、どちらも簡単。 また、折角の interpunct を lookup で使うには、
oald7-pkg.el
で、
;; ("ha124" "・") ;; ("ha124" "-") ;; ("ha124" "") ("ha124" "·")
これだけの事で、それまでの「Lucida Fax 改」の「違和感」がほぼ解消できた。つまり Emacs の上で、 のようだったものが、 となった。もう完璧!:-p。
何より、lookup での syllabification がそれらしくなって嬉しい。 Syllabification の表示はやめてしまおう、と思った事もあるが、 最新の iWorks の Pages が hyphenation をやるので、俄に必要を感じるようになった。 (実際に辞書で確かめた事はまだ数える程だが。)
残る課題は、Ubuntu では Lucida Fax の italic が表示されない事(実はこれは結構イタい)くらいか。 あと、できれば font-family の名前を変えたいが、 これはどうしたらよいか見当もつかない。
Terminal
Emacs での表示が改善されるにつけ、Snow Leopard での Terminal.app、 Ubuntu での LMterm の表示がますます気になるところ。とりわけ MLterm は、Luxi Mono が常に bold になるという宿痾がいつまでたっても直らない。実は、~/.fonts.conf を弄る事で、一旦解消できたのに、Ubutu をアップデートしたら、 また元の木阿弥となってしまった。それで余計に違和感が募るのかも。
で、Emacs 上で terminal を使えないか、となった。terminal-emulator とか、 eshell なども触ってみたが、結局 term + zsh に落ち着いた。 ちょっと試行錯誤した結果、zsh は 4.3.10 を使い(port の zsh-devel でも、一からコンパイルしたものでも可)、 .zshrc か .zshenv に
export TERM=eterm-colorとしておけば、従来の問題は殆んど解消できていて、
- prompt が正しく表示される。Color code は正しく解釈されるし、 余計なものは付け加えられない。ただし、char-mode のみ。
- Ctrl-p/n や、Ctrl-r も正しく動く。
- コーディングも正常。ls コマンドで utf-8 のファイル名はきちんと表示されるし、 cat で utf-8 の内容も正常に表示さる。
- 驚いた事に ssh でログインした先でも、上の点は OK。
- line-mode で prompt の下に、余計な文字(inverse-video の "%")が付く。しかも改行の入力の度にそれが増えてゆく。
- char-mode では、DDSKK による漢字入力ができない。 入力したつもりの文字列は表示されるのだが、line edit はできないし、変数への代入もできていない。 (line-mode では OK。)
- どうも、window-size が正しく渡されていないようで、lv では、最初の 10 行あまりが失われるし、emacs -nw に至っては、まともな表示にならない。
- ls での multi-column 表示等で、二列目以降の左端が揃わない。
2010-07-17 (Sat): 留守宅サーバ
少し前に、留守宅のサーバ(ThinkPad X22)がおかしくなった。 完全に止まる、というのではなく、レスポンスが妙に遅い。 よく調べてみたら、受信のスループットは OK なのに、 送信がたまにしかパケットが出て行ってない(20 kbps :-p)。 その後の故障探求も、リモートでやるのでなかなか埒が明かなかったが、どうも、 Ethernet H/W の問題らしい事が解った。 家人に見てもらうと、Ethernet ポートのあたりがかなり熱いとの事。 で、かなりあてずっぽうだが、ThinkPad の電池を外し、筐体を半開きにして(屏風のように)、立てて置いてもらった。 なんとこの当てずっぽうが当って、動作が復旧した。 いずれにしても、次の帰国まではこれ以上の手は打てないので、 しばらくはこのままとする事にした。たまたま、帰国する機会ができて、早速見てみたが、やはり Ethernet H/W の過熱が原因らしい。どうも、ファンが壊れたようだ。 しかしこの ThinkPad は、もう 7 年選手なので、修理するのは却って勿体無い。
で、持参していた、X200 で置き換えようと決心。現行の HTTP サーバ、ML サーバに加えて、DHCP/DNS サーバも載っけようと決めて、 さっそく取りかかった。まず、一番難航が予想される ML サーバから。 で、いきなり躓く…… Synaptic を使って、Mailman や、Postfix のインストールは順調に終ったが、そもそも Mailman を動かすようにできない。Ubuntu のインストールガイドはかなり親切なのだが、 そのとおりやってもダメ。とうとう時間切れ。
やむなく、このままあと数ヶ月頑張ってもらう事にした。 だが、屏風のように立てていたのでは、LCD のバックライトが点きっぱなしになる(X11 は立ち上げてない)ので、 完全に閉じて、壁に立てかけておく事にした。また、電池を元に戻した。 これらは放熱といふ観点からは確実に不利になっているが、 バックライトの消費電力減と差引きしてどうなるかは未詳。 これまでの一週間程の観察だと何とか無事動いているようだが。
fukuda@falcon:~% cat /proc/acpi/thermal_zone/THM0/temperature temperature: 49 Cもうちょっと保ってくれると良いのだけど、日本の夏は暑いからなあ。
2010-07-03 (Sat): iPhone アップグレード
少し前から iTunes がしきりに iPhone OS (iOS というのか?)を 4.0 に上げろと勧めてくれていたが、 データを別途バックアップから入れ直す必要がある、 という(未確認)情報を得て、しばらく逡巡していた。一噌のこと 4.0.1 が出るまで待っても良いかな、とも。 が、或る日、それまで無視していた iTunes の「アップグレードするか?」に、うっかり OK を出してしまい、 結局アップグレードすることに。何日間かの逡巡が怪我の功名だったのか、データが失われる、なんて事もなく、 無事アップグレードされたようだ。思ったより時間がかからなかったし、 「マルチタスク」もちゃんと動く。
で、何が嬉しいか……。 もともと「使い倒している」とは言えない事もあり、不満も大してなかったので、 新版にしても、びっくりするようなメリットは無い。 が、そこここで、マイナーチェンジというか改良が施されている。 (もとからそうだったぜえ、という可能性は大いにあるが。)
- WiFi の自動接続が一層速くなった。SJC で飛行機を降りて、Plane mode を off にすると、3G が基地局を捉まえるより速く、sjcfreewifi に接続した。大したものだ。
- Mail が横置きで読めるようになった。これはありがたい。
- Calendar が Time Zone の設定とうまく協調して動くようになった。
Time Zone の自動検出がどうなるかはよく解らない。
2010-07-24 (Sat): 3G へアクセスした時点で Time Zone の自動検出が働き切り替えられる。 が、iPhone の Calendar は、その各エントリの時刻を Time Zone で解釈しなおしてはくれない。少々がっかり。(Snow Leopard の iCal.app は、これをやってくれるのだが。)
- Compass が期待どおりに動くようになった。 どんな風に問題が有ったのかうまく説明できないが、とにかく、 使えない事が多かったのだった。
2010-06-19 (Sat): Emacs-23.2 (その五)— もう一息
「Lucida Fax 改」の方が良いぞ!
私の思い付くような事は大抵だれかが先にやっているものらしい(当り前)。 で、プログラミングにもプロポーショナルフォントを使おう、という人(サイト) は既に結構居るようだ。例えば Slashdot のこの記事等。 何でも、行が短かくなるので、14% 速く読めるのだとか。 ふーん、そういうメリットも有ったのか。が、しかし、そこで使っている Lucida Grande も悪くは無いが、 やっぱり我 Lucida Fax(改)の方が良いと思うなぁ。(Lucida Grande をディフォルトフォントにすると、Emacs-23.2 が何故か全画面モードになるので、Lucida Sans と比較した。)
Line-space と Minibuffer
「万能フォント」が徐々に完成に近付いてくると、宿痾?の「minibuffer の文字欠け」がますます気になってきた。 で、色々当てずっぽうの対策を打ってみた。.emacs.d/init.el, から始めて、 frame.el 他の Lisp ファイル、あげくは xdisp.c なんかも触ってみたが、 所詮は当てずっぽうなのでどうにもならず。 (Mini-)window の高さを弄るのが、こんなに大変だとは。で、Sakito さんのところで質問してみた。さっそくお返事を頂けて、 minibuffer-setup-hook で、line-space をディフォルトにすれば良い筈、との事。 なかなか時間が取れなくて試せなかったが
(add-hook 'minibuffer-setup-hook (function (lambda () (setq line-spacing 0))))とやってみたら、これが大正解。ちゃんと、表示されるようになった。 が、しかし、minibuffer がプロンプトを出し、 それに応じて入力しているうちは大丈夫なのだが、echo buffer として働く時は、やはり下部が欠けてしまう。しかも、minibuffer のときのように、hook を仕掛ける方法が解らない。
またまた、Sakito さんに質問したら、line-spacing
を、global
で変更するのではなく、find-file-hook
等で変更してみたら?との御示唆。やってみたら、やはり正解で、
Minibuffer (echo area 時)や Init 画面他全て line-spacing
無しで表示され、読み込んだファイルは所望の line-spacing
で表示される。つまり、問題は解消。
が、これにもやっぱり問題が……。Lookup や Wanderlust
が表示する画面が line-spacing 無しで表示される。
これを何とかするには、****-hook
という変数を探し出して、悉く上記のような設定をしないといけない、という事らしい。
うーむ、これは大変だ。
とりあえず、これまで通り line-spacing
を global
で "6" に定義し、上記の minibuffer-setup-hook
のみ "0" に設定する事にした。
それにしても、この問題の解決は「minibuffer の物理的な高さを line-spacing を考慮して決める」とするのが王道だと思うのだが。 実際表示が二行に渡るような場合は、行の下に十分な余白が有るんだから。 が、しかし、24.0.50 (CVS の trunk) でも、そのようにはなってない。 暫くは望み薄かな?
2010-05-29 (Sat): Emacs-23.2 (その四)— フォントに嵌る
とうとうフォントを弄りはじめた。これは font-lock を弄るのと同様、結構嵌ります。(「ついつい熱中してまう」と、 「なかなか上手くいかない」という両方の意味で。) まあ、泥縄・場当たりで始めるから……、という面もあるが、
- FontForge.app はちゃんと動く。Glyph を触った後、Generate-Fonts... で TTF フォーマットでファイル名を変えてセーブをする必要が有った。 (ファイル名に応じてフォントの名前が変わる訣ではない。)
- 基本となる Lucida Fax は、Latin-1 以外の Unicode glyph を持っていない。それは承知で、U+0100 以上を Lucida Grande で置き換える事で、大抵の発音記号を表示できるようになっていた。
- 例外は syllabication (音節分け?)の "·" だけであったが、これが難物。Windose XP (Office-2007?) 標準の LFAX.TTF (Lucida Fax フォント)は、Windows の上では、ちゃんとこれも表示できるのだが、 これを Snow Leopard に持ってきたら、 "·" だけはやはり駄目。
- これは、"·" (U+00b7) が "•" (U+2022; "period centered"?) にマップされているが、Mac がそれを解釈できない、という事らしい……。 (すっかり取ってしまっておけば、Lucida Grande の glyph が採用される筈なんだが。)
- 空白と '-' は少し広げて '_' や '*' の幅に合わせる事にした。 '-' を広げる事で (→ 1024)、すべての用途で見栄えが大幅に改善され、 不味い事は何もないように見える。(lookup の '·' を '-' で置き換えていたので、これだけ少々ごまかしが効き難くなったが。) Lucida Grande (MacOS のシステムフォント)が、同じ方針を採用しているらしい……宜なるかな。
- 一方、空白の方はこうする事で、 Journal の各行の左端が揃えられる。が、 英文の単語の間が少し空きすぎる。Python-mode でも、字下げがより明確になるが、 演算子の両脇に空白を入れている場合は、むしろ狭い方が違和感が少ない。 しかし、勿論字下げの方が大事。(→ 1011)
- '.', ';', ':', ',' , '!' なども悩ましいところだが、これも text ならば元のままが最も見易い。が、やはり Lisp-mode のコメント(';') が非常に詰ったものになるので、 少しだけ広げる事にした。(→ 789)
- Python 他のプログラム言語で多用する '[]', '()' などがこの幅では見難いので、(→ 1024) とした。Text では然程表われない。
- 一番悩やんだのは、['] (single quote) と ["] (double quote)。
もとのままでは、例えば、["'"] (" + ' + ") と
['"'](' + " + ')
が区別がつかない。(等幅なら
["'"] ['"']
となって一目瞭然なのだが……) Python のスクリプトでこれは辛い(というか致命的)。が一方、['] は text では、apostrophe として使われる事が多いので、 これの文字幅を広げると見易さが損われる……。結局、['] だけを少し広げて、 ["] と同じ幅 (789) とした。 - これらの操作には、FontForge.app の GUI は使わないで、 一覧表から右クリックで、'Set Width', 'Center in Width' だけを使う。 すなわち、Set Width で数値を入力して幅を広げ。その後 Center in Width で全体のパターンを中央に持ってくる。
- 最後に上述したように、File メニューの Generate Font... を選んでファイル名 xxxx.ttf としてセーブする。
- 'Font Book.app' を起動して、[+] をクリックして、 上記のファイルを選べば、登録は完了。Luxi Fax Regular が既に登録されていれば重複の警告が出るので、オリジナルの方を消す (右クリックで Delete)。
- 他の重みやタイプのフォントはプログラミング他では殆んど使わないのだが、 Lucida Fax demibold だけは、Journal やメイラーでも使うので、 同様に幅を弄った。 Italic 等は何もしない方が英文の表示が綺麗。(下図の lookup の「例文」を参照。)
以上、結構面倒であるが、結果はなかなのものである(下図、 クリックで拡大)。
emacs-22.3 + 'Luxi Mono' + ヒラギノ明朝 ProN」 と対照してみると改善点が良く解る……。 勿論 Luxi Mono → Luxi Fax で一番大きく改善されるのは、 英文 Text の見易さであり、 一方、ここで四苦八苦したのは、スクリプティング・プログラミング 他に使用する時の Luxi Fax の難点を解消もしくは緩和したい、 という事だから、オリジナルの Lucida Fax と比べるのでなければ、然程印象的ではないかも知れない。しかし、一番下の窓の lookup の英文(特に Italic の例文)の見易さは一目瞭然ではないかと思う。
2010-05-22 (Wed): Emacs-23.2 (その三)— Aquamacs
Emacs-23.2 (Genuine Emacs)
自宅の Mac Pro では 23.2 を本格的に使い始めて一週間になる。 頗る順調かつ快適。もうそんなに課題は残っていない……
- 例の mini-buffer で下数ピクセルが切れる問題は解決されていない。
emacs-user ML でも黙殺されたまま。
line-spacing
を nil にすれば OK なのだが、それも堪えがたい。 - 先週設定したフォント(Lucida Fax + ヒラギノ明朝 ProN)は、 やはり中々のものである。(それに慣れてきたので、という面も否定できないが……) Lucida Fax もヒラギノも、柔軟にイタリックやボールドになり、 かつそれが違和感を引き起さない。
-
しかし、Lucida Fax では
'·'
("middot") が表示されない。表示されないのではなくて、その glyph が無い、という事らしい。(Lucida Fax は売り物なんだけどなぁ……) oald7-pkg.el の中で、;;;; ("ha124" "・") ;; ("ha124" "·") ("ha124" "-")
として、なんとか回避する事にした。この場合は、'-'
の幅が非常に狭い事が見栄えを救っている。 - が、しかし、これは他の場合に障碍になる。Lucida のシリーズは、どれもこの特徴(短所)が有るが、Lucida Grande (Mac の System Font) ではこれを少し長くしているらしい。 他にも、' ' (space), ';', ':', '()', '[]' などが有り、かねてからこれらは少し幅を広げた方が可読性が上ると思っている。 で、FontForge.app で弄ってみた。幅の変化は実現したが、それを FontBook.app に認識させる事が、どうしてもできない。
えーと、課題はやっぱり有りますね。
Aquamacs Emacs 2.0 (Aquamacs.app)
そうこうしている内に、Aquamacs が新しくなった事を知った。 (それにしても、このアイコン、可愛いらしすぎ…… :-)
旧版を弄ってみた事があるが、結局 WL などのパッケージをどう作るかが分らず、 「面白いな」で終っていた。が、今回「Emacs-23.2 準拠」を明確に打ち出している上、そのマニュアルに "Bringing some Emacs 23 behavior back" という項まである…… 早速弄ってみた。
- "Aquamacs
Emacs" から、.dmg
ファイルをダウンロードして、通常のインストール。
/Application/Aquamacs.app/
ができ、commnd はその下に.../Contents/MacOS/Aquamacs
として作られる。 - いきなり Lookup が動く。
/usr/local/share/emacs/site-list/
を include しているらしい。(きっと、他のパッケージ(?)をコンパイル・ インストールするのもそんなに難しくないだろう。) - 23.2 の
(font-set-font ...)
の設定がそのまま動く。 が、どうも、mini-buffer や mode-line のフォントは変らない。 これは別の property を弄るのだった。これって、 (自分のささやかな野心だった) 「モード毎 (text や program mode) に異なるフォントを採用する」 とか、「mini-buffer には、別のフォントを採用する」などが可能になったと言う事か。 - Mini-buffer で個別フォントを設定することで、上記の問題(文字の下の方が切れる)を回避できる。 「入力や表示のごとに window の高さが高くなる」という、 いささかスマートさに欠ける「解決」であるが、 下の方が切れてしまうよりずっと良い。
- 何と Term モードで日本語ファイル名が表示できる。(ssh でログインした先の色付きプロンプトは、相変わらず文字化けするが。)
という訣で、これはひょっとしたら「掘り出し物」かも知れない。
が、tab や menu bar がうざったい、等という(勝手な)不満もあり、 Aquamacs で WL 他を使えるようにし、またフォントの設定に凝るべきか、 Genuine Emacs の方をさらに弄るべきか……ちょっと悩むところではある。 (どっちにしても今は時間が無いが。)
2010-05-15 (Wed): Emacs-23.2 (その二)
Email (Wanderlust)
「日常の生活に差し支えない程度に漕ぎ着けて……」 と思ったのは、とんでもなく甘かった。 日本語メールは読めるのに、送信すると文字化けする……。 しかも、ML に送り出すという大チョンボ! しかも、ちょっと体調を崩してあまり時間が取れなかった事もあるが、 解決まで二日もかかった……。(それにしても、このあたりの情報の何と少ない事か。)
結局解決策は足元にあった。
つまり、~/.emacs-custom.el
の中の
(custom-set-variables ;;....... '(current-language-environment "UTF-8") )だったものを、
(custom-set-variables ;;....... '(current-language-environment "Japanese") )とする。 22.3 では、"UTF-8" で動いていた(かつては multipart なメールに返事する際に問題が有ったが、それも解決されていた。) しかし、23.2 ではそんな微妙な問題ではなく、「もろ」に UTF-8 で encode されたメールが出て行く……。
ただ、"Japanese" に戻すと、 ディフォルトの日本語の coding が、EUC-JP になる等の問題があるので、
(set-terminal-coding-system 'utf-8-unix) (set-default-coding-systems 'utf-8-unix) (set-buffer-file-coding-system 'utf-8-unix)
とする。 以上で大体 OK となったようだ。 勿論、Wanderlust が、配下のバッファだけ、このように設定してくれれば、 それが一番スマートなんだが……。
そもそも、それに気付くのに手間どったのは、 メールのヘッダが何だかおかしくなっていた、という事もある。件のダメ ISP (san.rr.com) が "X-Authority-Analysis" などという 7 行にも渡るようなヘッダを付けてくれる一方、肝心の "Content-Type:" などが付いていない。
これは付いていないのではなくて、見えなくしてあるだけ、のようだ。
.wl
に
(setq mime-view-ignored-field-list '(".*Received:" ".*Path:"\ ".*Id:" "^Replied:" "^Errors-To:" "^Lines:" "^Sender:"\ ".*Host:" "^Xref:" "^Precedence:" "^Status:" "^X-.*:"\ "^List-.*:" "^DKIM.*:" "^DomainKey.*" "^Reply-To:"\ "^Delivered-To:")) (setq mime-view-visible-field-list '("^X-Spambayes.*:" "^X-Face:"))
と書いて、大分すっきりした。
ついでに…… 長らく無くしたと思っていた X-Face の元 (png) ファイルが見つかった。 これまた、偶然 Online X-Face Conveter なるものも見付けて bookmark してあったので、改めて作り直してみた。 これまたすっきりした。(そもそも X-Face なんてものを解釈して表示する MUA は少ないので、いずれにせよ自己満足に過ぎないのだが。)
Font Setting (Lookup)
Lookup が問題なく起動されたのは、.emacs に
(setq lookup-package-directory "/usr/local/share/emacs/site-lisp")が有ったから、であった。 (やっぱり、こっちのやり方(Linux/Unix 流)の方がスマートだよなあ。) とまれ、全てが as is で動いて、略正常に表示される。
が、よく見ると、
Fig.1) Emacs-22.3 による各種記号と IPA
Fig.2) Emacs-23.2 による各種記号と IPA
23.2 になると '×' が半角になり、ギリシャ文字が全角になり、
発音記号の /ˈ/, /ɪ/
がおかしくなっている。全角半角の問題は、
多分 23.2 で utf-translate-cjk-set-unicode-range
が使えなくなった事によるのだろう。つまり、JIS の 'α' ではなく、
ちゃんと Unicode の 'α'
を使え、という事か。
でも、Emacs でどうやって入力するんだろ。
SKK を Unicode
で使うようにすればできそうな気もするが。
あと、発音記号の方だけ何故別のフォントが呼ばれるのか分らない。 なので、強制的に Luxi Mono に戻す事もできない…… 思い余って Sakito さんが推奨していた方法に戻って、また四苦八苦した。その結果
(when (>= emacs-major-version 23) (set-face-attribute 'default nil :family "Luxi Mono" :height 180) (set-fontset-font (frame-parameter nil 'font) 'mule-unicode-0100-24ff '("Lucida Grande" . "iso10646-1")) (set-fontset-font (frame-parameter nil 'font) 'japanese-jisx0208 '("Hiragino Mincho ProN" . "iso10646-1")) (set-fontset-font (frame-parameter nil 'font) 'japanese-jisx0212 '("Hiragino Mincho ProN" . "iso10646-1")) (setq face-font-rescale-alist '(("^-apple-hiragino.*" . 1.1))))
としてみたら、なんとか表示できるようになった。
mule-unicode-0100-24ff
の定義を最初に持ってくるのが味噌。
Fig.3) Emacs-23.2 による各種記号と IPA (最終版)
勿論 Luxi Grande は Sans
Serif だから、違和感が残る組合せもあるが、少くとも /ɪ/
は発音記号らしく見える。
また、日本語フォントのサイズや weight も肌理細かく制御できるようになったおかげで、 広辞苑の表示も見違えるようになった。 (以前は、ルビかどうかがちょっと紛らわしい事がありました。 こちらが、伊藤さんの意図に沿っていると思います。) 素晴しい。
Fig.4) Outlook/Emacs-23.2 における広辞苑の表示
2010-05-08 (Sat): Emacs-23.2 リリース
例の「mini-buffer の高さ」が気になっていたので、時々 "Emacs for Mac OS X" サイトを眺めに行っていたら、23.1.97 ができていた。 が、それより Emacs-23.2 が正式リリースされているのに気がついた。 早速、その dmg ファイルを取ってきてダウンロード。 ダブルクリックでちゃんと起動してくれる。素晴しい……
が、件の mini-buffer の高さの問題は解決されていない。残念。
また、各モジュールのインストールについては Sakito さんのところを参考にさせて頂いて、との目論見はあっさり外れてしまった。 Apel さえインストールできない……。 四苦八苦の末、大体次のようなところに落ち着いた。
インストール
emacs-23.2.tar.gz を gnu.org から取ってきて、~/build
の下に展開。コンパイルは何ら問題無い。
fukuda@quadra:~/build/emacs-23.2% ./configure --with-ns && make
&& make install
最後の make install は、./nextstep/Emacs.app/
の下にできたバイナリ等を置くという意味。(sudo をつけない方が良いそうな。)
その Emacs.app を /Applications/
の下にコピーすれば、通常の(.dmg
ファイルからインストールした時のように)Mac application になる。
SKK
何はなくとも SKK であるが、このための Apel インストールの段階で段階で躓いてしまい、Sakito さんのサイトの手引きをそっくり真似して、 といふ目論見は早くも崩れてしまったのだった。 結局、/Application/Emacs.app
の下の Emacs ではなく、make install
したばかりの Emacs を使うという事。すなわち、
fukuda@quadra:~/build/apel-10.7% make \
EMACS=~/build/emacs-23.2/nextstep/Emacs.app/Contents/MacOS/Emacs \
install
とか
fukuda@quadra:~/build/ddskk-14.0.91% make \
EMACS=~/build/emacs-23.2/nextstep/Emacs.app/Contents/MacOS/Emacs \
install
とやる。勿論こうやる前に、最新の SKK-JISYO.L を ./dict/
に置いておく事。
E-mail 環境
上記の EMACS=~/build....
を忘れなければ、Email
環境のインストールは「いつも通り」に近い。
つまり、
- flim-1.14.9
- semi-1.14.6
- emacs-w3m (CVS 先端)
- wl-elmo-imap4-compliance-201005051700
~/build/emacs-23.2/nextstep/Emacs.app/Contents/Resources/site-lisp
に移しておく。これを忘れて後でやると、wl をインストールし直す必要がある。
(elmo-shimbun.el がインストールされなくて頭を捻った:-)
Look-up
これは何故か何もしなくても動いてくれた(22.3 のための Macports が流用できている?) 細い不具合が有るので、いずれ再検討しなくてはならないが、 とりあえずはこのままで行く事にする。Python-mode.el
Launch Pad から python-mode.el (-5.1.0) を取ってきて、 件の.../site-lisp/
の下に置く。
Font の設定
Sakito さんのところで、font-spec
を使う新しいやり方を紹介して下さっていた。早速やってみたが、
これだと何故か、簡体字が豆腐になってしまう……。
まあこの先簡体字を使う事がそれ程あろうとは思えないが、とりあえず、
従来どおりの方法に戻しておいた。
同じフォントなのに、心無しか 22.3 より綺麗に見える。
(when (= emacs-major-version 23) ;;(set-face-attribute 'default nil :family "Lucida_Fax" :height 180) ;;(set-face-attribute 'default nil :family "Lucida_Grande" :height 180) (set-face-attribute 'default nil :family "Luxi_mono" :height 180) (set-fontset-font "fontset-default" 'japanese-jisx0208 \ '("Hiragino_Mincho_ProN" . "iso10646-1")) (setq face-font-rescale-alist '((".*Hiragino_Mincho.*" . 1.10))) )
第一印象
まだ然程使い込んだ訣ではないので、あくまで第一印象、という事で……
- かなり安定している。22.3 と比べる程は使ってないが、23.1 に比較すると、安定性ははっきり良くなっている。 (丸一日使って、まだ落ちていない。)
- プロポーショナル・フォントが使えるようになって、早速 Lucida Fax, Lucida Grande 等を試してみたが、半日程で Luxi Mono に戻してしまった。 英文がずらずらと続く画面だと、圧倒的に見易いが、HTML の mark-up とか、 script、また config ファイル等は、結局等幅の Luxi Mono の方が見易いようだ。(慣れの所為もあるのかも知れない。)
- 上の文字が綺麗、というのは単に rescale のおかげで、少し大きいヒラギノが使われる、というだけの事だった。
- 漢字と英字のアンダーラインが揃った。
- 行の左端から、SKK でかな漢字変換をやっても、文字が「ばたばた」しない。
- Physical-line.el は素晴らしい!
- しかしもう一つの目玉の Flyspell は動かなかった……。
2010-05-01 (Sat): Ubuntu-10.04 LTS
偉いなあ、Ubuntu。ちゃんと 4 月の内にリリースされた。 早速、ThinkPad X200 にインストールしてみる。
例によって、パッケージのアップデートと然程変らない手間でアップデートできた。 というか、下の"Update Manager" からのお知らせがなかなか無いので、今回は CD-ROM からかなと思って、ドライブを探したが見付からない……。 さうこうしているうちに、ネットワークからインストールできる状態になった。
- Ethernet に繋ぐ(これは必須)。
- "Update Manager" に "New distribution release ...." と表われるので、Upgrade をクリック。
- 後は殆ど自動で進行する。ダウンロードとインストールで合計 2.5時間くらいかかった。
- 途中、Wicd を Shutdown するよ、と言われたので、OK を出す。
- delete する package の一覧を示されたが、その中に BasiliskII が入っていた。BasiliskII だけ残すつもりで、それを選んで Keep としたが、全部 Keep になったみたい……。ちょっと失敗だったかも。 だが、20 GB ある '/' パーティションは使用量がまだ 46 % である。
- reboot
これで完了。凄い、ラクチン、あっけない程。 今のところ改善点・問題点は以下の通り。
- 9.10 では蓋を閉じた状態で AC アダプタを外すと、sleep しない事が有ったが、それが解決されている。(まだ十分試験できていないが。)
- 電池残量のアイコンが多少大きくなった。 が、やっぱりそれだけでは残量を判断できない。 (電池残量の部分のコントラストを上げるだけで良いのだが。← これは下記で解消。)
- background のパターンが今一。Ubuntu logo が白になった。 これも今一。LTS で、長く付き合うのに、これじゃあちょっとなあ。 で、早速 background を変更。また、Icon を換えたら、Ubuntu icon も battery icon も変った。
- BasiliskII は問題なく動いた。
- WLAN: Madwifi を再インストールしてみたが動かない。 (make && sudo make install; sudo probmod ath_pci; reboot)
- mlterm や Emacs の Luxi Mono がボールドになってしまう。
- また、mlterm では SCIM SKK の候補窓がとんでもないところに出てしまう。
2010-05-01 (Sat): Cocoa Emacs (Emacs-23.2)
Cocoa Emacs (23.2) の Pretests が、23.1.96 まで来たので、23.2 のリリースも間近だろう。 と、いう事でちょっと確認してみた。
まず、mini-buffer (mini-window) でフォントの下の方が切れる件。 help-gnu-emacs ML に問い合わせてみたが、誰も相手にしてくれなかった。 で、自分で少し触ってみたが、baseline の位置がずれている、というより、 line-spacing が悪さをしているようだ。つまり、line-spacing が例えば 4 であれば、その分(4 pixel 分)空白が行の上部に作られる。 それはそれで良いのだが、それに応じて buffer の高さを変えてくれないと、 下 4 pixel が切れる事になる。
line-spacing に拘る人はあまり居ないだろうから、そもそも問題が再現されず、 従って help-gnu-emacs でのスルーになったのだろう。 ただ、これは line-spacing が悪さをしているというより、 mini-buffer の実装に問題が有る、という事かも知れない。22.3 ではどのプラットフォームでも起きなかったし、 Linux の 23.1 では起きてないのだから。これらでは、line-spacing に対応する空白が mini-buffer では無視されているように見える。
23.2 を待ち兼ねている理由は、MacOS X でも Emacs で「プロポーショナルフォント」を使ってみたい、という事もある。 Luxi Mono とヒラギノ明朝の組合せはとても気に入っているが、 Lucida Fax とヒラギノ明朝の組み合わせはさらに上を行くように思う。
この組合せを選んだのは、他のプロポーショナルフォントに比較して、
- 大文字と小文字のサイズの差が比較的小さい
- ('M' と 'I' の間の)文字幅の差が比較的小さい
- Unicode 文字が揃っている(発音記号等)
ことによる。つまり、通常の英文の読み易さと、
プログラム・ソースやスクリプトの見易さのちょうど良い妥協点ではないか、
と思った訣。しかし、実際にスクリプトを見易くするにためには、空白や、
'*', '-'
などの幅をもう少し広げる必要が有る。
しかし、ちょっとやってみた限りでは、FontForge.app
でこれをやるのは簡単な事ではなさそうである。(何より、Lucida Fax
をどこから持ってきたのか、さへ思い出せない。)
あと、発音記号の /æ/
等が自然な形になるのは嬉しいが、
elim·in·ate /ɪˈlɪmɪneɪt/ verb
の '·'
や、/ɪ/, /ˈ/
が揃っていない。
何だか、またフォント探しから始める必要がありそうで、 プロポーショナルフォントへの熱意がちょっと冷めてきたような気がする。 それとも、方針を全く変えてしまって、普通のテクストにはプロポーショナル、 スクリプトには、Luxi Mono とするべきか。
2010-04-24 (Sat): 今更ながら Time Machine、 その後
一時間ごとの自動バックアップは全く気にならない。本当にラクチンである。 とはいえ、一時間前にどうしても戻りたい、という場面がなかなか無い。 一度だけ、ウェブページ(HTML ファイル)を壊してしまったが事が有ったが otacky.jp に元(編集前)のファイルはあるし、編集後のバッファが Emacs に残っていたので、お世話にならずじまいだった。 Unicode と EUC-JP が混在していた時は、otacky.jp のファイルに戻らざるを得なくなり、 何時間もの作業がフィになった、等という事が偶にあったが、 Unicode に一本化した今ではそのような「事故」はほぼ皆無である。 (つまり、なかなか出番が無い:-p)HD のクラッシュからどう回復するのかも確認せず、Time Machine を使い始めたのがそもそも迂闊であるが、なかなかその情報が見付からない。 Mac の先輩達によると、そもそも Time Machine HDD からはブートできない、との事。 つまりクラッシュしたら、TM-HDD のデータを使って新しい HDD にインストールしなおす、というのが基本的なコンセプトらしい。 うーむ、ちょっとがっかりではある。 ともあれ、バックアップは取れているので、後は HDD クラッシュの時のダウンタイムをどう短縮できるか、 もっというなら、いつ新しい HDD を買うか、ということになる。 勿論今買ってインストールしておく、のが「正しい」のだろうが、 それをやるなら RAID でも良いかな……なんて邪心も湧いてくる。
2010-04-10 (Sat): 今更ながら Time Machine
Quadra (MacPro) のバックアップを取っておかなくては、と思いながら早 3 年半……。 というか大分前に純正の増設 HDD (500 GB) を買ってはいたのだが、それをバックアップに使うのは勿体無いような気がして、 躊躇っている内に、占有容量が元々の HDD (250 GB) より大きくなり、バックアップは取れなくなってしまっていた。 早い話が、ケチな料簡であたり前の配慮をサボッて運を天に任せてきたのだった。 (尤も、本当に大事なファイルは自宅サーバにバックアップを取って有るが。)3 年経った頃から、そろそろオタクの虫が騒ぎ始めて、8 コアにしようかな、 とか(そしたらホスト名は Octa か?とか)、それが無理なら、せめて RAID にしたいな、 とかメモリ増設は必須だな、なんて考えていたが、現在の MacPro (1,1) が凄く安定しているので、買い換えも時期尚早、 一方でメモリバスが遅い、かつ 64 bit 化が中途半端という事でメモリやストレージの追加も、決心がつきかねていた。
決心がつきかねていたのは、例によって RAID だ何だと欲張るからで、 とりあえずバックアップだけ、と決心したら、話はトントン拍子に…… と言っても、500 GB の HDD が $59 で買えるのを知ったというだけですけどね。 しかもこれ、図らずも先の純正と同じ Seagate の 7200 rpm だった (厚みは違う。) で、値段は 1/3。要はこれが吝オタクの琴線に触れたという事。 <http://www.ramjet.com>
納入は、二日後で、ちゃんとドアまで届けてくれた。偉いぞ UPS(と RamJet)。 久し振りに MacPro の蓋を開けたが、あまり迷う事なく HDD を実装できた。 パワーオンで、ちゃんと認識して、イニシャライズするか、と言って来る。 そこから直接、Disk Utility へ飛んでくれる。が、そこで Erase を選んで初期化するのだが、これはいかにも頂けないなぁ。ともあれ、 MacHD3 と名前をつけて、MacOS Extended (Case-sensitive, Journaled) で初期化。ほんの数秒で完了。
Menu Bar の Time Machine アイコンから、System Preference へ行けて、そこでバックアップしない HDD を選ぶだけで、Time Machine の設定は完了。素晴しい!現在までのところ、一時間強で約 240 GB をバックアップした。今後、毎時バックアップを取ってくれるんだそうな。 あんまりあっけなさすぎて、HDD がクラッシュした時に本当にリカバーできるのか不安になる程。
ともあれ、この MacPro はとても安定していて、過去 3 年半のうち、 ハングは数えるくらい(数度?)しかない。これは、これまで使ってきた Mac や PC は勿論、Linux + X11 + Gnome より安定しているように思う。 (何年も平気で動き続ける Linux サーバにはさすがに敵わないが、しかしこれは GUI や、「ややこしいデバイス」を持たないので、比較が公正ではない。) また、静粛さという点でも抜群だと思う。なので、 HDD を新調した事だし、まだ後 3 年は使いたいなあ:-p。(それまでに Apple さんにサポートを打ち切られる公算が大だが。)
2010-04-10 (Sat): 色々
MacPorts
Python とそのモジュール群が一度に最新になって、感動したMacPorts だが、以後も相変わらずものぐさ親父の強い味方になってくれている。 Python が 2.6.5 になったし、eblook-1.6.1-media が -20100218 になった。 が、しかし少々「何だかな」も出てきた。
- Python26 は、2.6.5 になったが、他のバージョンは、アップデートされてない。(Python-3.1.1, Python-doc-2.6.4 のまま。)
- py26-numpy が 1.4 のまま。(本家では、1.4 が取り下げられて、
1.3 が最新のはず。ダウングレードは難しいのだろうけど、
何とかならないかなぁ。今のところ実害も無いのだが。)
2010-04-12 (Mon): 本日
"% sudo port upgrade outdated"
で、1.3 にダウングレードしてくれました。さすが!!ついでに、 py26-reportlab と py26-pil も新しくなって、お陰でやらなきゃならん仕事も思い出した。 - eb が 4.4.3 に上がって、
libeb.16.dylib
を provide するようになって、eblook が立ち上がらなくなった。 (Emacs 上で辞書が引けなくなるので少々慌てた。) が、eblook も MacPorts にしたら問題は解消(しかも、最新版eblook-1.6.1+media-20100218
になった)。 但し、元の eblook を"% make uninstall"
する必要が有る。
Snow Leopard 10.6.3
アップルジャパンは量販店の店頭で PC からの乗り換えを促すキャンペーンをやっているそうな。 でも、「その前にやる事があるんじゃないの?」という嫌味も出るような 10.6.3 の為体(ていたらく)。 なんだか、大昔の Mac を彷彿させるような……
- 一旦画面が disable されたら、キーボードを叩こうが、マウスを動かそうが、 一向に起きてくれない事がよくある (Mac-mini)。キーボードの USB ケーブルを抜き挿しする、のが解決策。
- 稀にだが、マウスカーソルが消えてしまう事がある (Mac Pro (1,1), Mac-mini)。 これは、10.6.2 の頃から有ってまだ直ってない。というか、Mac-mini の方は、10.6.3 になってからこれが出るようになった。 パワーボタンで一旦スリープさせると直る。
- AquaSKK を使っていると、時々一時的にフリーズする (Mac Pro (1,1), Mac-mini)。然程使用頻度が高くないので、必要になるまで、AquaSKK を切っておく、というのが現在の解決策だったが、 Skype でチャットをするようになって、それでは済まなくなってしまった。 (これについては、AquaSKK-4.1 (4.2beta) のせいなのか、Snow Leopard のせいなのか未詳。)
Python での日本語
Emacs と Terminal.app-2.0 で暮していると、Python の国際化 (i19n) は何の問題も無いように見える。 (以下は、utf-8 に設定した Terminal-2.0 での表示。)fukuda@quadra:~% echo $LC_ALL ja_JP.UTF-8 fukuda@quadra:~% echo $ZSH_VERSION 4.3.10 fukuda@>quadra:~% python Python 2.6.5 (r265:79063, Apr 8 2010, 21:34:40) [GCC 4.2.1 (Apple Inc. build 5646) (dot 1)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> line=u"あいうえお" >>> line u'\u3042\u3044\u3046\u3048\u304a' >>> print line あいうえお
">>> line"
で、line
の
Unicode が表示されている事に注意。
(素晴しい。教育効果抜群。)
が、事 IDLE がからむと、まだまだ問題が有るようだ。 息子と Python/IDLE で遊ぶようになって、改めて認識させられた。 Windows XP/7 の 2.6.4/5 の IDLE は日本語が入力できるものの、 それを表示する事ができない。(文字化けする。) (Snow Leopard の IDLE に至っては、かな漢字変換による入力はおろか、 コピーペーストによる入力もできない。)
しかし、Pyothon-3.1.2 の IDLE は表示する事もできる。
(やむなく、息子との教育セッションは 3.1.2 でやる事に。)
但し、">>> line"
としたら、Unicode
の代りに、「あいうえお」と表示されるようになった。ちょっと残念。
(Snow Leopard の 3.1.2 の IDLE は、日本語の入力もできるし表示も可能。
だが、かな漢字変換による入力はできないようだ。)
Python が日本で Ruby に遅れをとっているのは、このあたりの事もあるに違いない。
2010-04-03 (Sat): サイトのページを全面的に Unicode に
何度かやり始めては挫けていた Unicode 化であるが、この度めでたく(ようやく)完成した。この何度目かの気運のきっかけとなったのは Google CSE。 しかし使ってみると「なんだかなぁ」である。 自分が使い方をよく解っていない、という面もあろうが、 そもそも個人用にはどうなんだろうか。基本的には、Google のサイトにある index を使っているらしいので、ページを更新したら即 index を作って……、という訣には行かない。Google bot が crawl しに来て、それで index を更新してくれるのを待つ他ない? というのも、最初試した時、"Python" に対する検索結果を見て感動したものだが、その直後、"Chrome" については何も見つからない事に気がついて首を傾げていた。 要は CSE のページ で "Index Now" とやったが実は何も更新されてなかった、という事らしい。 (一週間後の本日、めでたく Chrome が登録されているのに気がついた。)
しかし、もう後には引けない……。一旦全面的にバックアップを取り、
そこ
(public_html.bak)
から
public_html
側へコード変換したものを転送する(上書きする)事にした。
動的に include する CSS や menu なども euc と Unicode の二通り有って、
ちょっと嫌な予感がしたが、案ずるより産むが易し、意外に上手く行った。
決して元のディレクトリの中を弄らず、script
をデバッグして、一発で変換が完了するまでやったのが良かったような気がする。
fukuda@quadra:~/public_html.bak% for i in *.html; \
insert_nav_utf.py $i >| ../public_html/$i
で、この insert_nav_utf.py
はここに置きます。
まだ良く見ていないが、今のところ文字化け他の不具合は見付かっていない。
2010-03-20 (Sat): Google CSE/Chrome と Unicode 化
Google CSE
メニューバーに Google の検索エレメントを置いて、検索結果は専用のページに…… という目論見は結局実現できず終い。(同ページ内に表示する事はできたのだが。) あと、見栄えの変更の方も、最後の stylesheet へのリンクを外す事で、background のパターンを揃える事ができたが、肝心のフォントサイズについては、 変更ができなかった。("line-height: 100%;"
はやはり必要。)
それにしてもやはり素晴しいなあ Google Search。
検索結果に漏れが無いし、結果の表示も的確だし(Msearch
は語の途中から表示が始まったりする。)また、EUC と UTF-8
が入り乱れている我サイトについても何の問題も無く検索・表示してくれる。
あとは Namazu の "--html-split
"
のような機能が付けば言う事ないのだが……
(このサイトのページはどれも結構長いから。)
Unicode 化
検索エンジンからの縛りが解けたので、各ページの Unicode 化にはもう何も問題が無い筈、だったのだが、どうもそうは問屋が卸してくれない。一つにはやはり、日本語フォントや Glyph の選択の問題。 例えば、三点リーダ「…」が、行の中央ではなく下の方に表示されてしまう。 以前のように「半角」になったりはしないが、一方で、このサイトの Home Page (index.html) では、これがちゃんと(中央に)表示されたりする……何か怪しい。 これがきっかけで色々やってみた結果、 これまで疑った事もなかったフォント指定のやり方に問題が有ったようだ。 css ファイルで、
body { …… font-family: "ヒラギノ明朝 ProN W3", Hiragino Mincho ProN, "ヒラギノ明朝 Pro W3", Hiragino Mincho Pro, ……}などとやって得々としていたが、"W3" は余計。で、coding が正しいと、この最初のエンティティが邪魔をして、この微妙な代替 Glyph の表示となるらしい。 "W3" ともども漢字の表示を全廃したら、きちんと表示されるようになった。 また、当然ながら utf-8 と euc-jp の CSS ファイルを作って使い分けるという必要が無くなった。 (怪我の功名である。)
これで一段落、と思ったがまだまだ問屋さんは卸してくれなかった。Win XP (IE-8,
Firefox) と Ubuntu (Firefox, Seamonkey) で微妙な問題がいっぱい出る。
まず IE-8 は、そもそもまともに、AA (Anti Alias) フォントにならないのでパス。
Firefox は、フォント指定の解釈が euc-jp と utf-8
で微妙に違い、これを直す事ができなかった。(bold でいつも Sans-serif
体になってしまう。)
Ubuntu の Firefox は、以前から Google Search
の結果の表示が漢字の部分だけ「しょぼい」という問題が有ったが、
然程気にしていなかった。が、utf-8 だと、table の
<td>
の中でのfont-size
の指定が無視される事が解った。Firefox on Linux
は、当サイトの最大のお客様でもあるので相当頑張ったが、結局どうにも埒が明かなかった。
Chrome
で、ふと思いついて Chrome を導入してみた。これは、utf-8 への対応という事では今のところ最高のようである。まず、Ubuntu の Firefox にあった font-size の問題が無い。 (で、この問題は Firefox のバグという事で放置する事にする。Snow Leopard の Firefox では問題無いし:-p) あと、「↑」や「↓」が半角になる事もない。これは Snow Leopard の Firefox や Safari でさえ半角にしてしまうのだった。 何より、Ubuntu Firefox で気になった Google 検索の結果のうち漢字だけがショボくなる問題もない(さすが、というべきか:-)。
起動は早いし、レスポンスはきびきびしているし、 漢字の bold が太すぎて一部潰れてしまう事を除けば、文句のつけようがない……。 Windows と Linux のブラウザはこれに乗り換えよう。(MacOSX については Firefox で何の不満もない。)
2010-03-13 (Sat): Google Custom Search Engine を試す
このところ、仕事で使う DMS システムのために色々な Search Engine を試している。で、とりあえずは自分のウェブサイトが実験台になる事が多い。 たまたま Google CSE を試してみたら、これがまた簡単かつ強力。"try out" 段階までは確かにそう思えた。 なので、msearch に然程の不満が有った訣ではないが、 こちらもこのサイトに実装してみた。Google.com にアカウントを持っていたら、 試すところまではともても簡単に行ける。iGoogle から "more" &rarr "even more" &rarr Custom Search と辿って、"Create a Custom Search Engine" をクリックすれば、後は "Search engine name" と " Sites to search" を入力するだけで、"Preview" まで行けてしまう。というか、通常の Google engine の対象を制限するだけなのであたり前、とも言えるが。 ともあれ、この時点での検索結果を msearch のそれと比べると、 こちらを試してみたいと思うのも宜なるかな……
が、易しくてかつ説明が行き届いているのはこのあたりまで。 ホームページに組み込むには、見栄えをカスタマイズした後、Get Code で、<div> level のソースコードを取って来て、自分のページに貼り付けるのであるが、 この見栄えを整えるどころか、フォントの下が切れてしまう不具合を直すのさえ一苦労。 結局、line-height の指定のない CSS ファイルを作って何とか格好をつけた。
しかしこのままでは、Google さんがインデックスを作ってくれるまで、
新しいページは検索結果に反映されない。
なので、当然こちらの都合でインデックスする手段が欲しいが、
さすが Google さん、これもちゃんと備えている。
が、これがまたとても解り難い。この場合は sitemap.xlm
を作って、
それを対象となるサイトのトップディレクトリに置く事が前提条件になるようだが、
それが理解できるまでに半日かかった(ちょっと大袈裟かも。)
しかも、sitemap.xlm を作ってくれるという Google さんの
sitemap-generator.py
がちっとも動かない。この問題は既に知られていて、
さるウェブサイトにそのリンクも載っているのだが、いずれもリンク切れ……。
仕方なく、"RAGE Sitemap Automator" という製品(の試用版)をダウンロードしてきて、 何とかサイトマップを作る事ができた。それを www.otacky.jp の Document root に置く。(この S/W を製品版にアップグレードすれば、Google にこのサイトマップをアップロードできるらしいが、 今のところその必要を感じない、というか何故それが必要なのか解らない。)
ここまでやっておくと、また CSE の control panel へ行って、 "On-demand indexing using Sitemaps" ができる。Indexing は一瞬で終る。さすが、である。 また、あたり前の事かも知れないが、 ちゃんと最新のページに対応した検索結果が示される。 しかし残念な事に、Google search そのものには、この結果は反映されていないようである。
2010-03-06 (Sat): Msearch による全文検索
このサイトの漢字コード(厳密には charset?)をぼつぼつ UTF-8 に変更している。Emacs-22.3 だと、基本的には charset を変更して、つまり<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">と変更し、
set-buffer-file-coding-system
で UTF-8
を指定してセーブするだけ。(charset を変更してセーブすれば、最後の
coding-system の変換をしなくても
Emacs の message line には "-u:--" と表示されるのでややこしいのだが、
これをやらないと実は変換されていない。)
が、「ぼつぼつ」とは行かない面も有る事に思い至らなかった。 全文検索に使っている namazu が、そのものとしては UTF-8 に対応していない。勿論、NKF 等を併用して、UTF-8 に対応させる事も可能であるが、サイト内に EUC 他のファイルと混在していると、なかな面倒な事になりそうである。
実は、MacPorts を大幅に更新したせいか mknmz が動かなくなっていた事もあり、 一噌新しい検索システムを導入してみてはどうだろう、と思い至った。 Google ですぐに msearch というのが見つかった。ありがたい事に Unicode 版というのも有るではないか!
早速導入してみる。 以下は、現在のウェブサイトでやっている、 ローカルサーバ(Mac Pro)で改定、確認の上、www.otacky.jp へアップロード、という手順を残す事を前提にしている。
- <http://www.marbacka.net/msearch/> というところから、
ms152u2.lzh
というファイルをダウンロードして展開。 - できたファイルを、
~/cgi-bin/
以下にコピー。そのgenindex.cgi
を編集して、$g_password を変更しておく。 (私のように index をローカルで作る場合は、必須ではないかも。) また、*.cgi ファイルに実行パーミッションを与えて、その perl へのパスを変更して、/opt/local/bin/perl
にする。(ちょっと嵌った……) - default.idx という空ファイルを作り、その permission を 664 とし、owner を fukuda:_www とした。apache (_www) が書き変える必要があるので。(genindex.cgi ではこのファイルを作れなかった。)
- <http://quadra.otacky.us/cgi-bin/msearch/genindex.cgi> を立ち上げて index を作る。(quadra.otacky.us は動作確認用のサイトなので、 外からはアクセスできません。)
- <http://quadra.otacky.us/cgi-bin/msearch/msearch.cgi> で、正しく検索できる事を確認。
~/public_cgi-bin/msearch/
以下を otacky.jp の/var/www/cgi-bin/msearch/
にrsync -Cuav
- <http://www.otacky.jp/cgi-bin/msearch/msearch.cgi>
で正しく検索できる事を確認(これはアクセス可能。試してみて下さい。)
2010-03-07 (Sun): Namazu と共存させようとすると、msearch の Perl の library のパス指定のやり方のせいか、うまく行かない。 ちょっとディレクトリがとっちらかるが、cgi-bin に全部移して <http://www.otacky.jp/cgi-bin/msearch.cgi> でアクセスできるようにした。
で一通りの確認ができた。課題としては、
- msearch.cgi による indexing のパラメータがうまく保存されない。 Cookie によって保存される事になっているようだが、私のところの apache と、Firefox の組合せではうまう行かなかった。
- 上の問題を解決するためだけでなく、従来コマンドラインから
fukuda@quadra:~% namazu_web && sync_web
とやって、index の作成と、そのサーバへの転送を行っていたので、これを msearch で実現するためにも、shell script が必要。fukuda@quadra:~/public_cgi-bin/msearch% cat genindex.sh #!/bin/sh ./genindex.pl <<EOF default.idx ../../public_html http://quadra.otacky.us .html style,namazu,namazu_index (menu.*html) none 1 1 EOF
のようにした。 (挙げられているスクリプトの例に誤りがあったのと、Emacs のshell-script-mode
が過激に "<<" に反応してくれるので、すこし四苦八苦した。 あと正規表現("(menu.*html)" は、こんな感じで良さそうである。) sync_web (zsh の関数)の方に、default.idx の転送を加えれば、fukuda@quadra:~% genindex.sh && sync_web
で略上と同じ事が実現できる。 - Namazu の時と同様、サイトの他のページと見栄えを似せようとしてみたが、 何故かうまく行かなかった。
少し使ってみての印象と、Namazu との比較。
- index の作成も、検索結果の表示も msearch のほうが早いようだ。 特に index を最初から作り直す場合は圧倒的な差が出る。
- ただし、msearch は Namazu の --html-split のようなオプションは無い。
ファイルごとのインデックスとなる。このことも有ってか、msearch の方が
index のファイルサイズも圧倒的に小さい。
fukuda@quadra:~/public_cgi-bin/msearch% ls default.idx -l -rw-rw-r-- 1 fukuda _www 2231295 2010-03-06 17:06 default.idx fukuda@quadra:~/public_html/namazu_index% ls -l NMZ.i -rw-r--r-- 1 fukuda fukuda 9182899 2010-02-12 06:42 NMZ.i
- Perl のみによる実装とか、わかち書きモジュールを必要としない事とか、 はたまた、ウェブベースの index 作成とか、 msearch の方がかなり簡単で扱い易い構成になっている。 本来ならインストールも格段にスムースな筈なのだが、上記のような、 file permission に関する設定の自動化や、ウェブ I/F の実装が中途半端なため、 せっかくの構成上の利点が十分生かされていないような気がする。
- もっとも重要な検索の精度であるが、これも msearch の方がより確実なような気がする。Namazu は検索している keyword を全く含まないページを示す事が良くある。
2010-02-27 (Sat): 自分で思っている程には……
先週触れた MacPorts による完璧 Python 環境で、何をやっているかというと、 Django で簡単な文書管理プログラムを書いているのであった。 秘密(スカンク)プロジェクトなので成果は公表できないが、 そのうちこのサイトのための blog システムを作ってみたいと思っている(いつの事やら、であるが。) ともあれ、久し振りに纏まった分量のコードを書いた。 で、思っている程には行けてないなあ、と—勿論自分のスキルの話です。タッチタイピング
秘密プロジェクトであるので、早朝が主な作業時間である。 真っ暗な内に起き出して、 ゴソゴソとプログラミング等をするのはなかなか快感であるが、ちょっと問題が。 タッチタイピングができない……。 例えば、こんな風にウェブのページを書く分には殆んど全く問題ないのだが、 役物('%', '$', '^', '+' 等)が頻出するプログラミングでは、 とてもではないがスラスラ打てているとは言えない。 「おっかしいなぁ、こんな筈ではなかったのに」と思うも、なかなか「勘」が 戻って来ない。
加齢のせいか?といつもの言い逃れをして済ましたい誘惑に駆られるが、
それにしてはあまりに落差が有る……
と一週間程気にかけていたが、結論は「自慢の
HHKB
Pro (薄墨タイプ?)のせい」という事のようだ。
つまり、このタイプのキーボードはキートップの印刷のコントラストが低くて、
暗いととても見にくい……。言い換えると、タッチタイピングができている、
と思っていたのは幻想で、こういう役物の時には思わずカンニングをしていた、
という事。また理由はともあれ、なかなか手が覚えてくれない事も悲しいが、
それ以上にこれまで何ら問題無かったキー('<', '>', '(', ')'
等)まで打ち間違えるようになったのが、もっと情けない……。
SKK
このシステムは自分以外の人も使うので、ちょっとは真面目に HTML を書かないといけないのだが、そうするとエスケープ文字の入力もやっかい事の一つである。 で、ひとつ思いついたのが、SKK にこれをやらせる事。 つまり、例えば次のようなキーストロークでそれぞれを入力しようという魂胆。キー入力 | SSK の出力 | Web での表示 |
---|---|---|
'/'+'"'+' ' | '"' | '"' |
'/'+'-'+' ' | '—' | '—' |
「みぎや」+' ' | '→' | '→' |
これはなかなかのものである。しかもちゃんと動くようだし……素晴らしい!!
が、しかし、トレーニングの時にはちゃんと '"'
と出力されるのに、その後変換すると、';'
が出てこない。今さらながらであるが、SKK では ';'
は、辞書のエントリに入れられないらしい。(というか、入れられるが annotation
の始まりと解釈される?)
なんだか勝利の美酒に水が混ざったような気分であるが、
でもまあ、後で ';'
を打ち足す必要があっても、これは使い出がある。
(';'
が「ひらがなモード」でも半角にできるようになったら、
もっと打鍵数が減らせるのだが、こっちのやりかたを失念してしまった。)
...... (setq skk-rom-kana-rule-list '( ("!" nil "!") ("?" nil "?") (")" nil ")") ("(" nil "(") ("wi" nil ("ヰ" . "ゐ")) ("we" nil ("ヱ" . "ゑ")) (";" nil ";") )) .......とやれば良いのだった、勿論……:-p。というか、';' は「変換しない」をディフォルトにするべきだと思う。で、結局
キー入力 | SSK の出力 | Web での表示 |
---|---|---|
'/'+'"'+' '+';' | '"' | '"' |
'/'+'-'+' '+';' | '—' | '—' |
「みぎや」+' '+';' | '→' | '→' |
エスケープシーケンスそのものを書き表わそうとすると、
いつも頭が痛くなるのだが、ともあれ、ごちゃごちゃやっているうちに、最後の
';'
は無くても良い事がある事に気がついた……。
これは良い事かどうか分らない、打ち忘れに気がつかない確率が高くなるので。
Unicode
そんな事より、この記事の中の'\'
が、Safari では yen
マークになってしまう(これを Safari
で見ている人には何の事だか解らないでしょうが:-p)。ページを Unicode
にするとこの問題は無くなるが、今度は Firefox
のゴシックになるべき部分が皆明朝になってしまう……つまり、CSS
での "font-family:
Sans-Serif"
が無視されて、日本語にヒラギノ明朝を選んでしまう。
EUC で同様の問題(変なところで明朝になる)が有った Safari は、Unicode
にしても変化はなかったが、"font-family: Helvetica
Sans-Serif"
とする事でこの問題が解消できた。
なんだかもうワケワカである。
という訣で、またもや Unicode 化は見送りとなるのであった。
2010-02-20 (Sat): なかなかやるじゃん、MacPorts
MacPorts と言っても多くの人には何の事?てなもんかも知れないが MacOSX の Package Management System の一つ(「てなもんや三度笠」の藤田まことさんのご冥福をお祈りします。) しかしこれ、特に MacOS X の代替わりの時に色々問題を出すので、 最近は敬遠していた。 つまり、できるだけ MacOS X についてきたものを使い、 また、已むを得ない場合は自分でソースからコンパイルする、 という方針で来た訣。
今だに Emacs はそうだし、Python も最近まで
Python Foundation
が MacOS X 10.3 向けにコンパイルしたパッケージを使ってきている。
が、しかし、このところその「10.3 向」けというのが問題になってきた。PIL
他のモジュールを "setup.py install"
できないか、それができても、うまく import
できない。
PIL は 64 bit なのに、
件の Python パッケージが 32 bit 版になっているせいらしい。
一方、MacOS X 10.6 附属の Python は、64 bit であるが 2.6.1 である。
MacPorts も 2.6.2
だしなあ、と思っていたが、どうもこれは私の勘違いのようだ。MacPorts
本体(すなわち port コマンド)自体をアップグレードしないと、
最新のパッケージがリストアップされないもののようだ。(←何でや?)
ともあれ、"sudo port selfupdate"
とすると、port が 1.8.99
となった。
これで
port list
してみると、何と Python26 は、2.6.4 である。
また、嬉しい事に、それに追加する package が py26
というサフィックスをつけて揃っている。
fukuda@quadra:~% port list | grep -e "^py[^@]*26" python26 @2.6.4 lang/python26 python26-doc @2.6.4 lang/python26-doc py26-scapy @2.1.0 net/py26-scapy py-wxpython26 @2.6.3.3 python/py-wxpython26 py26-MMTK @2.6.0 python/py26-MMTK py26-altgraph @0.6.7 python/py26-altgraph py26-amqplib @0.6.1 python/py26-amqplib ..... py26-xmpppy @0.4.1 python/py26-xmpppy py26-yaml @3.08 python/py26-yaml py26-zopeinterface @3.3.0 python/py26-zopeinterface py26-zsi @2.0-rc3 python/py26-zsi fukuda@quadra:~% port list | grep -e "^py[^@]*26" | wc 302 906 20375その数何と 300 也! "variant" とかを駆使して、互換性を確保する必要が有った事を考えれば「隔世」の感あり。 早速、
sudo port install python26
で Python-2.6.4
をインストールした。その後、ちょっと調子に載って、sudo port
install py26-gnuplot
としてみたら、驚いた事に、gcc-4.3.4
からから始まって、gnuplot から、numpy から、そのための atlas
から、全部きちんとインストールしてくれた。
(何時間もかかったが。)/usr/local/bin
の python
や python26
を、link しなおし、
fukuda@quadra:~% which python /usr/local/bin/python fukuda@quadra:~% ls -l /usr/local/bin/python lrwxr-xr-x 1 root wheel 73 2010-02-13 11:09 /usr/local/bin/python \ -> /opt/local/Library/Frameworks/Python.framework/\ Versions/2.6/bin/python2.6*とし Gplot.py もインストールして、CGI や手許のスクリプトを少し試した範囲では、問題なく動いているようだ。感激!
続いて、件の PIL (py26-pil) や主目的の Django (py26-django) もインストール。一気に懸案が解消してしまった。素晴しい!! Python.org や Apple が手を抜いているのに、MacPorts は頑張っている!!!
もしや、と思い emacs (Emacs-23.1) emacs-app (同 Aqua 版)を試したが、 前者は動くものの、後者はやはりコンパイルで失敗する。emacs-app-devel (20091101)もダメだった。
2010-02-11 (Thu): ちょっと感動もの(Wanderlust コミュニティ讃)
先週の日記(下)でも嘆いていた rr.com (Road Runner) の SMTP posting server での「なんだかなぁ」であるが、Wanderlust ML (wl-en@list.airs.net) へ質問する事であっさり解決できた。ML への Thank-You Mail にも書いたけど、一月あまりの rr.com とのやりとりでちっとも埒が明かなかったのが、ML で質問したら数時間後には解決案がもらえた訣で、これには驚きもし、 また非常に感動もした。 (その半日後にはなんとパッチまで頂けた。)要は、
…… 250 PIPELINING MAIL FROM:<tfukxxx@san.rr.com> BODY=8BITMIME 501 5.5.2 MAIL FROM syntax error ……と言われていたのが、flim の
smtp.el
を少し変える事で、
…… 250 PIPELINING MAIL FROM:<tfukxxx@san.rr.com> BODY=8BITMIME 250 MAIL FROM accepted ……となったという事。
どうも "...com>"
の後の空白が二つ有ってはいけない、という事らしい。
ったくもう、であるが、RFC (RFC-821) には「空白は一つ」とあり、
つまり smtp-server.san.rr.com の振舞いは「間違っていない」んだそうな。
しかし、やっぱり「空白二つだったら弾く」なんてのは ISP
としては「なんだかなぁ」ではある。
何しろ、これまで WL のこの「バグ(空白二つ)」のせいで他の smtp-server
に弾かれた事等無いし、smtp-server.san.rr.com
だって、昨年までは何の問題もなく受け容れていたのだから。
それにしても、Road Runner さんが新しく採用したメールサーバって何なんだろ。 Open Source のではないのは確かなような気がする。
2010-01-30 (Sat): なんだかなぁ
ISP
結局我 ISP ("san.rr.com") の SMTP posting server は使えないまま。 この ISP、最近ではメールでのクレームにも答えなくなってしまった。 iPhone や Mail.app (Mac のメイラ)からもこのサーバは使えないから、 こちらの設定のせいではない事は略確実。という事は、rr.com (san.rr.com はそのサブドメイン)全体で使えない人が続出している筈なんだが……。仕方なく、so-net.ne.jp さんの SMTP サーバを pop-before-smtp で使っていたが、レスポンスが少し遅いし、keyword を聞かれるのが鬱陶しい。で、自分のコンピュータの Postfix から直接送る事にしてみた。要は、~/.wl で
(setq wl-smtp-posting-server "localhost")とする、という事。
以後二週間程になるが、まだ相手先から弾かれる事もなく順調に動作している。 あたり前と言えばあたり前かも知れないが、最初試してみた時には、 いきなり受け付けてくれないホストが有って諦めたのだった。 このところ大丈夫な理由が、そういうホストに当ってないだけの事なのかどうか、 ちょっと不明。 (そのホストは某大学の経理部なので、試してみる訣にいかない。)
一方、以前は外 (the Internet) へ出ていけない事がしばしば有ったが、 そちらは改善されているように思える。 過去一箇月で一度しかそういう事は無かった。2010-01-23 の 13:15 から 15:00 まで。こちらはどうも DNS が不調だったようである。
Macintosh
自動アップデートがらみで、いくつか問題が出た。まずは、Mac Pro。 HP のプリンタドライバを手動でバージョンアップした事が有ったが、それ以降何度も version-2.3 にしろ、と言ってくる……。 ったく、普通に自動アップデートくらいできないのか、HP さん(Apple さん?)。 しかし、それはまだ良い方で、Desktop(背景画面) が何故かディフォルトの画像になってしまった。 良く見たらそのファイルそのものが消えてしまっていた。 そのファイルをダウンロードしてきて指定しなおしたら復帰できたが、しかし、 こんな事は初めてなので嫌〜な予感が……その予感が、Mac-mini の方で的中してしまった。 こちらは背景画面が消えたのではなく、Desktop に置いてあるアイコンが全部消えてしまった。(Doc も Menu bar も異常無し。) 初めのうちは「あらま、何だか懐しい……」なんて余裕綽々で、 リブートしてみたりしたが、それで元に戻ったのは iDesk のアイコンだけ。しかも良く見ると、 ~/Desktop の下のファイルが全部消えている事に気付いて愕然。 その上、何と "Macintosh HD" さえ表われない。(Finder には表われる。)先輩達にアドバイスしてもらって、PRAM クリア等も試みたが、消えたファイルは戻らない……
ファイルを消してしまうなんて、とんでも無い事である。 Linux ではついぞ無かった。 (Windows XP では一度有った−−それもデスクトップに置いたファイルが消されたのだった。) これでは怖くて使えないではないか。お願いしますよ、Apple さん T_T。
ThinkPad X200, Ubuntu
先週 BIOS update を試みたのであるが、その結果、Boot に失敗するとか、 Ubuntu がシャットダウンできない、等という事は無くなった。しかし一方、Windows XP の方については、 WiFi がおかしくなってきた。 一旦接続できても、 しばらくすると切れてしまうとか、"Wating for IP Configuration" でやたら手間取ったあげく失敗するなどという事が良くある。IP Configuration に失敗しているのに、"Wireless Connection Status" では繋っている事になっていたりする……。 (勿論、実際には繋っていず、ブラウザ他も使えない。)
なので、一旦は撃退された "System Update" に再挑戦した。
依然、ThinkVantage からは、「"System Update"
というツール」のアップデートはできず(ややこし!)、
結局、systemupdate314-2009-6-12.exe
というファイルを Lenovo
のサイトから探し出して、ダウンロード・インストールするしか無かった。
しかし、一旦それをインストールしたら、最初と同様 System Update
は略完全自動で System をアップデートしてくれた。(200 Mbytes
以上も有ったので結構時間がかかったが。)
だが、その効果は絶大で、上記したような WiFi の接続に関する問題は解消 (モダンになったツールの GUI はあまり趣味に合わないが)、また、指紋認証で拒否される事が無くなった (以前は機嫌が悪いと一向に認証してくれなかった。)
また、あたり前の事ながら、このアップデートは Ubuntu にはあまり影響は無い。このところ Wicd の動作が改善されているが、 それが、BIOS アップデートのおかげか、Wicd もしくは dhcpcd が新しくなったせいなのかは良く解らない。 (何せ空港に持って行かないと確認できないもので。) ただ、iPhone の WiFi にはまだまだ敵わない。
2010-01-23 (Sun): X200 BIOS Update
ThinkPad X200 が下記のように何かと不安定なので、 一気にシステムをアップデートしようと思ったが、 ThinkVantage の "System Update" が古いと言われ、しかも、 その "System Update" 自身のアップデートがうまく行かない:-(
なので取り敢えず、BIOS だけをアップデートする事にした。Version-3.11
で、ファイル名は 6duj38us.exe
(これは 32 bit 版)。
インストールしたら、"LENOVO 6DET61WW(3.11)" と表示される。
(ったく、ややこしい。でもまあ以前に比べたら、マシになったと言える。)
とりあえず普通に動いている。まだ何度もリブートしてみた訣ではないが、 今のところ、ブートに失敗するとか、Ubuntu がシャットダウンできないとか、 等の問題は解決できているようだ。
2010-01-09 (Sat): Ubuntu/ThinkPad ピンチ
どうも、このごろ ThinkPad (X200) の調子が良くない。
- シャットオフできない事が有る。X11 から出た後に IO に関するエラーメッセージを猛烈なスピードで吐き出し始め、 そのままいつまで経っても終了しない。一度、eblook が CPU を 100% つかんだまま暴走した事があって、しかもそれをどうしても殺せなかった ("kill -KILL" としてもダメ。)その時リブートしようとして、 上記の現象が起った。ひょっとしてこれが原因か、と思うが確信は無い。 いずれにしても、パワースイッチで落す他なくなる。
- BasiliskII がしきりにハングするようになった。HyperCard を開いている時にこれが起きると、各スタックを "Compact Stack" する羽目(これも習慣というか「おまじない」みたいなもんだが) になるので結構欝陶しい。
- 時々起動に失敗する。これは以前からある "Initialization of HDD0 failed" に加えて、BIOS 設定画面?から先に進まない、 というモードも加わった。 実際に失敗の頻度が高くなっている訣ではないのかも知れないが、 上記のシャットオフ失敗を何とかしようと、 パワースイッチで無理矢理落してから再起動しているときにこれが起きると、 さすがに暗〜い気分になる。 (この ThinkPad もうダメなんかなぁ、みたいな。)
24/1,792,079 Taka Fukuda Last modified: 2013-09-12 (Thu) 08:13:12 JST