GNU Smalltalk 3.2.4 インストールメモ (Ubuntu 12.04)

の、第三弾的ななにか。


* * *


会社のマシンが新調されました。さすがに6年前のマシンでは色々辛かったので嬉しい限り。新しいといっても Celeron G530 というケチケチっぷりですが、こんどのCeleronはなかなか出来る子なんだそうで、結構快適。贅沢をいいだせば切りがありませんが、これでようやく自分のマシンでビルドができるようになるのは大きいです。嬉しい♪(いままではサーバに入ってビルドしてたのTT)

PCもパワーアップしたことですし、手元の Linux 環境もパワーアップしたい。ということで、これまでの coLinux (Portable Ubuntu)から VirtualBox + Ubuntu12.4 へと、ちょっとセレブな感じできめてみました。いえい。

さてさて、リリースされたばかりのピチピチの 12.04、幸いなことに 2年ぶりのLTSですが、前回のLTS 10.04 とは違い*1、今回は ちゃんと GNU Smalltalk がパッケージ管理に含まれてます。しかも GNU Smalltalk の開発はここのところ停滞しているので(T△T)パッケージからいれても最新版!。

ということで、たまには自前ビルドじゃなくて、パッケージ管理からインストールしてみよっかな? と魔が差した思った次第。さくさくっと

$sudo apt-get install gnu-smalltalk gnu-smalltalk-browser gnu-smalltalk-el

してみました。(Emacs 使わないなら gnu-smalltalk-elはいらにゃいです)

・・が、インストールが終わって早速 コンソールで gst-browser (VisualGST)と打ったら、なんかいきなり落ちました。おーい(^^; 開発環境がいきなり落ちるとか、ベタだわぁ。

なぜ落ちたのか調査したいこんな時こそ欲しい デバッガ が 落ちるというこの事態、ブートストラップの逆というか、なんとなく再帰的で GNU の名にふさわしいかも・・・なぁんて、下らないことを考えつつ、コンソールに盛大に吐き出されたメッセージをみると、なりやら GTK関連のなにかをロードしようとして、 cCall でエラーになっているご様子。ははん、単純にライブラリがないとか、そんなんじゃないかな?

というわけで、試しに

$sudo apt-get install libgtk2.0-dev libglib2.0-dev 

したらあっさりたち上がりました。よかった、簡単で。

けれど、──ってことは依存関係解決がダメダメってことでしょう。なんか他にも不足してそうでちょっと怖いですね。でもまぁ ツールさえ立ち上がるなら、Smalltalk ならそんなトラブルへっちゃらです。いあいあ Smalltalk


* * *


──というわけで、トラブルってほどのこともなく、ブログの記事としてはちょっと弱いかな?なので、記事にしようか迷いました。が、はじめてのGNU Smalltalk で遊ぼうとして人が、いきなりこんなので躓くのはもったいないということでご勘弁。*2

ところで全然関係ないですが、Ubuntu 12.04 は Unity にあわせてスクロールバーが表示されなくなったのです*3。で、ちょこっとだけ太くなって現在位置を示している枠線にカーソルをあわせばスクロールバーがポップアップしてくるのですが、このルックアンドフィールがどことなく昔のSmalltalkチックでして、VisualGST がちょっと格好良く感じます。

sumimさんが微妙に喜びそうなネタだよね、とか思ってしまいました。


(追記)

普段はこんなんですが、

テキストボックス等の端のオレンジの線にマウスカーソルを重ねれば

とか

のように、上下矢印ボタンしかないちっちゃなスクロールバーがポップアップします。
自分の矩形領域の外にポップアップするあたりが、どことなく Smalltalkちっくと感じた次第です。

で、ボタンをドラッグするとスクロールバーの箱の部分、クリックすれば矢印ボタンと同じ(というとちょっと語弊ありですが)に動きます。このちょっとトリッキーな一部材二役なあたりも、ほんのり Smalltalk風味。

とはいえ、Smalltalkを意識した物というわけではなく、ネットブックタブレットを意識した為にいきなり画面の広さがプアになったことによる

この、レガシーな GUI フレームワークにおける Smalltalk のスクロールバーでは、ウインドウの左側にポップアップする機構が採用されていました。ウインドウからはみ出してポップアップするのは、限られた画素数を使用しないスクロールバーで占有してしまわないための配慮でしょう。

Mac のスクロールバーはいかにしてできあがったか (改訂版) - Smalltalkのtは小文字です

的な収斂進化的なものだとおもいます。

アップルによりいろいろ「出しっぱなし」になったUIの先祖返りだと思えば楽しいのですが、逆にUnity の メニューバーは Macのようにデスクトップの一番上のバーがアクティブウィンドウのメニューになる方式なのですよね。でも「出しっぱなし」じゃないのが面白いです(個人的には今のところ使いにくく感じるけれど ^^;)

(※上記スナップショットはGNOMEでとってます。Unityにするとメニューバーがウインドウから消えます)

Unity ってなーんか、GUIマニア的な息遣いというか、織り込まれた趣味というか、そんなんがあるような気がします。

*1:というよりも、なぜか10.04だけ入ってなかった/LTSだから???

*2:素直にSqueakを使おう・・・というのは言わぬが花、ということで(^^;

*3:多分もっと前からだと思います(10.10とか11.04くらいから?)が、わたし自身はしつこく10.04を使いつづけてたのでわかりません。Unityは初体験です。使いにくいよー(T△T) 慣れてないからかなぁ..orz