Linux あれこれ

Linux 関連(一部 Windows11 )の備忘録です。

「Squeak」や「Etoys」のプログラム学習にトライするための環境を選んでみる〈H76〉

登録日: 2020-08-09 更新日: 2020-08-16

以前に、「Fedora Workstation 32」をUSBメモリにインストール して、「Sugar デスクトップ環境」をインストール しました。

初期の「Sugar デスクトップ環境」には「Squeak Etoys」アクティビティ(アプリ)なるものが存在しました。現在はありませんが、パソコン学習に使われていたアプリで、興味深いので、どのようなものか調べてみました。

Squeak や Etoys でプログラム学習にトライ」するための、まずはそのための環境づくりから…。

-

「目次」

-


OS ごとの対応確認:

個人の環境で確認したので、違う結果も予想されます。なので参考です。

-

Windows 10:

  • Windows 対応のほとんどのものがダウンロードして、実行したり、インストールができました。

-

Fedora 32:

  • 公式サイトからダウンロード: 最新「Squeak 5.3」(All-in-One のみ確認)

  • dnf でのインストール: 「Squeak 4.5」 →他のSqueak の実行に影響するので注意

  • 他は全滅

-

CentOS 8.2:

  • 公式サイトからダウンロード: 最新「Squeak 5.3」(All-in-One のみ確認)

  • 他は全滅

-

Manjaro GNOME 20.0.3:

  • Linux 対応なら、ほとんどがダウンロードして、実行できました。

(All-in-One 、Etoys-To-Go のみ確認)

→All-in-One 、Etoys-To-Go なら、どこにでも置けるので、インストールよりも楽です。

  • yay でのインストール: 「squeak 4.5」 →他のSqueak の実行に影響するので注意

-


Squeak についてのメモ:

  • Squeakスクイーク)は Sugar 環境でなくても、他のディストリビューションでもインストールできて使えました。

  • Linux ではインストールパッケージが、VM仮想マシン) とイメージファイル(ソフトウェア本体)に別れています。 使用するイメージファイルのフォーマット形式にVM が対応している必要があったり(つまり、64bit 対応かどうか)、置き場所を決める初期設定のコマンドが各々で違ったりと、情報が不足しているので試行錯誤しました。

  • Windows 10 でのインストールでは、VM とイメージとインストーラが込みの構成につき、インストーラを実行して、インストール先を答えるだけで完了します。Linux よりも簡単で確実だと思います。

Windows での注意点は、日本語が含まれたフォルダをできたらインストール先に指定しないことです。個人的には c: のルートに英語名のフォルダを作りました。今もこの制限があるかは未確認。

-

どちらにしても、All-in-One 、Etoys-To-Go なら、インストールは要りません。

-


参考:

授業展開例 4 “Squeak”で学ぶプログラミング

10年ほど前の「Squeak」を使ったパソコン学習の指導例です。一部の学校のみでその後の展開は見られません。PC設備のある学校が少なかったから…と思われます。

-

寄り道:

パソコン学習のための設備が足りない問題を解決しようと、世界的規模で始まったOLPC プロジェクトがありました。その成果が「Sugar」だったり、「XO」パソコンだったりします。日本は不参加でした。

うまく行く国とうまく行かない国がありました。それは、プロジェクトが行う「PC供与」以外のことは、政府や別の団体が一丸となってやらなければいけないことでした。その国の本気度も影響したと思われます。

他のプロジェクトでも参考にできることは、「やらなきゃいけないとわかっているのに出来ない、やらない」ということと、「なぜできないのか、なぜやらないのか」を考慮したプロジェクトの始め方。

-


Sugar デスクトップ環境について

以前の投稿を参照:

-


Squeak について

→プログラムを書かなくても、命令の書かれたタイルを貼り付けていくことで、自分で描いた絵を自由に動かせます。 楽しみながら、プログラムの考え方(アルゴリズム)を学習できるので、大人だけでなく子供のパソコン学習にも適しています。

-

  • Squeak は、「仮想マシン(VM)」とその上で実行される「イメージファイル」で構成されます。

→仮想化によって、OS を問わずにイメージファイルが使えます。ただし、Squeak のバージョンによりイメージファイルの形式が変化しており、そのイメージの形式に対応したVM でないと起動できません。

  • Squeak 4.6イメージ: 以前からのV3フォーマット

  • Squeak 5.0イメージ: Spurフォーマット

-


Squeak

Squeak (Smalltalk) ダウンロードサイト:

→All-in-One がオススメです。

-


Etoys

  • 「Etoys」は「タイル・スクリプティング環境」を使ってのプログラム開発を楽しんだり、パソコン学習をしたい人向けです。

  • 混同しそうですが、「Squeak Etoys」はSqueak のサブセット(機能制限版)で、一種の簡易プログラミング環境です。

多機能なSqueak から子どもが使わない機能を隠して、子どもが扱いやすい環境に設定、それを保存したイメージファイルが「Etoys」です。システムのカスタマイズが自由にできるのがベースである Smalltalk の利点です。

Squeakland (Etoys)ダウンロードサイト:

→Etoys-To-Go がオススメです。

-


Squeak とEtoys のバージョン:

Squeak とEtoys の日本語化は、色々な試みがあったようです。

→単にコマンド名を日本語に直訳するだけでは使いやすくなりません。

-

  • Squeak 3.6

  • Squeak Nihongo6.1 (日本語版 Squeak)

  • Squeak 3.8

  • Squeak Nihongo7 (日本語版 Squeak) →Squeak 3.8 ベース 2005/03/22 公開

  • SqueakLand2005J (日本語版)

  • ことだま on Squeak →Squeak2005J ベース、テストタイルを日本語に近づけてます ←(A: 学校での試用あり)

  • SqueakLand2005J2 (日本語版) →2005J の改修 2007/07/26 公開 ←(B: 日本語化)

  • Etoys 3.0 →ナビゲータが上部に常に表示、「テストタイル」がテストカテゴリに含まれました。

  • Etoys 3.0 + 日本語修正モジュール →2009/05/12 公開、「Mona」フォント、テストタイルを日本語に近づけてます「テスト~はい~いいえ」→「もし~ならば~でなければ」

  • スクイークEtoys 3.0(みんなでたのしくスクイーク版)

  • Squeak 4.1 + 日本語修正モジュール →2010/05/09 公開

  • Squeak 4.4 + 日本語修正モジュール →2013/08/25 公開 ←(C: 日本語化された smalltalk

  • Etoys 5.0 ←(SqueakLand 最新) ←(D)

  • スクイークEtoys 5.0(みんなでたのしくスクイーク版)2012/06/03 公開

  • スクイークEtoys 5.0(みんなでたのしくスクイーク 2013版)2013 公開 ←(E: 学校での試用あり)

  • Squeak 5.3 ←(F: Squeak 最新、英語 smalltalk

-

サイトのリンク切れで入手できないものがあります。

  • Squeak 3.8 (Squeakland 2005)からは多言語化されて日本語が使えるようになりました。 しかし、デフォルトでは日本語のフォントは登録されていません。

  • Squeak 5.0 からは以前のやり方では日本語化は難しいようです。

-


A: 「ことだま on Squeak」をダウンロードして使用:

  • 日本語版 Squeak(Squeak2005J)をベースに、2005年に慶應義塾大学のチームによって開発されました。

機能(抜粋):

タイルの語順等を変更し、日本人にとって自然な日本語になるようにしてあります。 従来のSqueakでは操作しづらい箇所のインターフェイスの変更を行っています。 教育上不必要なタイルは隠してあります。 音楽ファイルの取り込みなどの便利な機能も搭載されています。

WindowsMac 版のみの提供:

【Windows】ことだま on Squeak(Ver. 1.1.8)+のダウンロード(2008.3.13公開)

→カーソルの動きにつれて目玉が動きます。

-

ガイドに沿って、インストールを含めた学習ができます。

Windows での操作:

ことだまon Squeakで学ぶ論理思考とプログラミング

→ブラウザで閲覧できます。カラーなので見やすいです。

-

学習教材:

Squeakで学ぶプログラミング[改訂 第2版] Vol.1 PDF(zip圧縮)版のダウンロード

→モノクロ表示。 文字が小さいので、qpdfview で開いて、余白なしで表示させると読みやすくなります。

-


B: 「Squeakland 2005J2」をダウンロードして使用:

2007/07/26 公開

日本語版 Squeakland

  • 「Squeakland 2005J2」は、従来の解説書やチュートリアルと一緒に使えるので便利です。

-


「Squeakland 2005J2」をインストール:

  1. Linux(i386) 版 Squeak 仮想マシンダウンロード

  2. Squeak イメージファイル(Squeakland 2005J2) をダウンロード

  3. これらのファイルを展開して同じディレクトリに置きます。

$ cd ~/ダウンロード/Squeakland2005J2/2005J2/

$ ls                                        
B3DAcceleratorPlugin          SqueakPlugin-dev-556.image  vm-display-X11
ImmX11Plugin              SqueakPlugin.image      vm-display-fbdev
README.txt            SqueakV3.sources        vm-display-null
Squeak3D              XDisplayControlPlugin   vm-sound-OSS
SqueakFFIPrims            npsqueak.so         vm-sound-null
SqueakPlugin-dev-556.changes  squeak

→上記以外に、開発版も含めています。新規「2005J2」フォルダにすべて入れました。

  1. 端末にて、下記を実行
$ squeak SqueakPlugin.image

-

Manjaro GNOME で実行:

他のSqueak のバージョンをインストールしていると、そのファイルに誤ってアクセスしてしまい、正常に起動できません。

例えば、yay で Squeak をインストールしておいて、「Squeakland 2005J2」を起動すると、 「initializing Squeak security system(5330%)」を表示。100% を超えても終わりません。

-

まずは、アンインストール:
>>> yay -R squeak-image-4.5 squeak-vm squeak-sources-41
:
パッケージ (3) squeak-image-4.5-4.5-1  squeak-sources-41-41-1
               squeak-vm-4.10.2.2614-5

-

「Squeakland 2005J2」を実行:
>>> cd /run/media/ubn/CentOS/home/ubn/ダウンロード/Squeakland2005J2/2005J2/

>>> ./squeak SqueakPlugin.image

→これはCentOS の立ち上げUSB メモリをマウントして、そこにアクセスしている状態です。

-

→起動しましたが、背景が白っぽい上に「透明」です。

透けているので、背景が明るい、Squeak のウィンドウの左側の中がよく見えません。 端末を開いて、背景を黒にしておくと、Squeak のウィンドウの右側は見えています。

-

デスクトップの背景色の設定:

ウィンドウの中央で右クリック→ハロ(全体を囲んだアイコン)が表示されるので、左上の赤い(メニュー)アイコンをクリック→「ワールドメニュー」が表示→一番下の「デスクトップ メニュー…」→外観→「デスクトップ色の設定」→色のパレットが表示されるので、グレーぽい青をクリックで選択。

→以前よりはマシになりました。透明なのは変化せず。端末を全画面で開いておくと、見やすくなり使えます。 どこかに透明の設定があるはずですが…。

-

設定を保存:

ウィンドウの中央で右クリック→ハロ(囲んだアイコン)が表示されるので、左上の赤い(メニュー)アイコンをクリック→「ワールドメニュー」が表示→一番下の「デスクトップ メニュー…」→「保存して終了」

-


開発者版「Squeakland 2005J2」をインストールする場合:

1. 上記をダウンロードします。

2. 開発者版のイメージ(SqueakPlugin-dev-556.zip) を追加でダウンロード

3. Squeakソースファイル(SqueakV3.sources.zip) を追加でダウンロード

→これがないと起動時に警告が表示されます。

4. これらのファイルを展開して同じディレクトリに置きます。

5. 端末にて、「squeak SqueakPlugin-dev-556.image」を実行すると 開発者版 Squeak が起動します。

6. 端末にて、「squeak SqueakPlugin.image」を実行すると 通常の Squeak が起動します。

7. 開発者版 Squeak を終了するには、

画面左下にあるオレンジ色の「ナビゲータ」をクリック→飛び出してきたフラップ(帯領域)の右端にある「終了」ボタンをクリック→「本当にスクイークを終了しますか?」の確認ダイアログに「はい」

-

Manjaro GNOME で実行:
>>> ./squeak SqueakPlugin-dev-556.image

→起動しましたが、背景が透明です。背景に黒を置いておかないと、よく見えません。

-

CentOS で実行:

$ cd ~/ダウンロード/Squeakland2005J2/2005J2/

$ ls
 B3DAcceleratorPlugin           SqueakPlugin-dev-556.image   vm-display-X11
 ImmX11Plugin                   SqueakPlugin.image           vm-display-fbdev
'My Squeak'                     SqueakV3.sources             vm-display-null
 README.txt                     XDisplayControlPlugin        vm-sound-OSS
 Squeak3D                       npsqueak.so                  vm-sound-null
 SqueakFFIPrims                 secure
 SqueakPlugin-dev-556.changes   squeak

$ ./squeak SqueakPlugin.image
bash: ./squeak: そのようなファイルやディレクトリはありません

$ ./squeak SqueakPlugin-dev-556.image
bash: ./squeak: そのようなファイルやディレクトリはありません

→起動せず。

-


Windows で「Squeakland 2005J2」をインストール:

1. Windows 用の日本語版インストーラをダウンロード (http://squeakland.jp/plugin/installers/SqueakPlugin2005J2.exe)

2. ダウンロードしたインストーラをダブルクリックして実行

→起動したら画面の指示にしたがい、インストールします

3. スタートメニュー →「すべてのプログラム」→「Squeak Plugin」→「Squeak」→スクイークの起動

-

-

学習教材:

すくすくスクイーク

京都市の小学校で実際に使われている「指導テキスト」

(Squeakland 2005J、Squeakland 2005J2 対応)

  • 車の運転

  • おたまじゃくし

  • はてなボックス

  • オルゴール

  • アニメーション

  • 野球ゲーム

-

→過去のブログ記事ですが学習教材の参考にできます。

-

→Squeakland 2005J、Squeakland 2005J2 で開けます。

-


C: 「Squeak 4.4 日本語化版」をダウンロードして使用:

All-in-oneパッケージ (2013/08/25更新)

Squeak4.4-ja-all-in-one.zip

チェックサム確認:

$ sha256sum Squeak4.4-ja-all-in-one.zip
2fde503d80e5e0f2cc155f53d7bf6c70ec86447b314a108904e6111dc1bd24ed  Squeak4.4-ja-all-in-one.zip

→値が同じなら、正常にダウンロードできています。

All-in-one パッケージとはSqueak Smalltalk に、ローカライズパッチを適用して、おすすめのVM を同梱したものです。

起動方法:

Windows: 
win_run.bat をダブルクリック

Mac:
mac_run.command をダブルクリック

Linux:
zip を展開したディレクトリに移動し、./linux_run で起動

高速VM のCog で起動されます。 従来のVM で起動する場合、_legacy のついたファイルをお使いください。 なお、Cog VM でイメージの保存を行うと従来のVM では開けないイメージに変換されます。 Cog 用として別名で保存されることをお勧めします。

→残念ながらCog VMリポジトリから削除されています。つまり、未サポートということ。

-

CentOS で実行:

$ cd ~/ダウンロード/Squeak4.4-ja-all-in-one/

$ ./linux_run
/usr/bin/ldd didn't produce any output and the system is 64 bit.  You may need to (re)install the 32-bit libraries.

→32ビットライブラリをインストールする必要があるみたい。

参考:

Getting the new Squeak 5 to run on 64 bit Linux

Squeak 5 の場合なので、あまり参考にならないかな。 Squeak 5 は現在 32ビットのみです。したがって、32ビットライブラリが必要です。64ビットライブラリは使用できません。

-

Manjaro GNOME で実行:

>>> cd /run/media/ubn/CentOS/home/ubn/ダウンロード/Squeak4.4-ja/Squeak4.4-ja-all-in-one/

>>> ./linux_run                  
Can't infer base LD_LIBRARY_PATH. Aborting. Try adding a line for /usr/lib32/libc.so.6 (0xf7c10000) to ./vm_cog/linux/squeak.sh. Please report your edit to squeak vm-dev.

→cog-vm を使うスクリプトですが、cog-vmリポジトリから削除されてサポートされません。

squeak-vm を使います:

>>> ./linux_run_legacy

→起動しました。

→たくさんの英語の説明のテキストファイルが開きました。 内容からすると、ひとつのファイルにしても良さそうな気がします。 とりあえずはアイコン化しました。

その中でも下記は、一度読んだら画面から閉じてもよさそうです。

「Welcome to Squeak 4.4」、 「Futyre Directions」(今後の方向性)、 「license Information」(ライセンス)

-

ウィンドウの左下に閉じている3つは日本語化についての重要な説明です。

「Read Me」: 日本語環境インストーラ (開発者用)

「ReadMe-Fonts」: フォントについて

「ReadMe-Packages」: パッケージ管理システムについて

-


D: 「Etoys 5」をダウンロードして使用:

Etoys 5 ダウンロード

Etoys To Go のダウンロードがオススメです。

WindowsMacLinux:インストールする必要はなく、解凍するだけで、USBメモリから起動できます。

WindowsMacLinux でフォルダが共通で、起動コマンドはOS ごとに違います。

1. USB メモリに、fat32パーティション(ラベル名: DATA)を作りました。

2. 「Etoys-To-Go-5.0」をダウンロードして、展開。

3. 「Etoys-To-Go-5.0」フォルダごとUSB メモリにコピー

4. USB メモリをセット→自動マウント

-


Windows 10 で、「Etoys-To-Go-5.0」の実行:

起動:

USB メモリのフォルダを開きます。

Etoys-To-Go-5.0\Etoys-To-Go-5.0.app\

「Etoys.exe」をダブルクリックして実行

-

Fedora 32(GNOME クラシック)、CentOS 8.2 で「Etoys-To-Go-5.0」を実行:

「Etoys-To-Go」は起動できませんでした。

$ cd /run/media/ubn/a03--6a/home/ubn/Etoys-To-Go-5.0/Etoys-To-Go-5.0.app/

$ ls -l
:
-rw-rw-rw-. 1 ubn ubn    2916  6月 25 07:16 etoys.sh

ファイル属性変更:

$ ls -l
:
-rwxrwxrwx. 1 ubn ubn    2916  6月 25 07:16 etoys.sh

$ ./etoys.sh
/usr/bin/padsp: 行 84: /run/media/ubn/a0399ae2-cabb-4f68-b133-f1f6fb311e6a/home/ubn/Etoys-To-Go-5.0/Etoys-To-Go-5.0.app/Contents/Linux-i686/etoys: そのようなファイルやディレクトリはありません

→確認するとファイルは存在しています。

-

Manjaro GNOME で「Etoys-To-Go-5.0」を実行:

確認:

>>> ls /run/media/ubn/DATA/Etoys-To-Go-5.0/Etoys-To-Go-5.0.app/

CameraPlugin.dll    Etoys.ini       KedamaPlugin2.dll  ScratchPlugin.dll
Contents        FT2Plugin.dll   Mpeg3Plugin.dll    etoys.sh
Etoys.exe       ImmWin32Plugin.dll  OggPlugin.dll      localePlugin.dll
Etoys.exe.manifest  KedamaPlugin.dll    README.txt

-

起動:

>>> cd /run/media/ubn/DATA/Etoys-To-Go-5.0/Etoys-To-Go-5.0.app/

>>> sh ./etoys.sh

→フォントをロードするかの選択画面が開きました。

「Etoys:Home」画面が開きました。日本語です。

→こちらがホーム画面の「Home」プロジェクトで、一番最初のプロジェクトです。

デモとして、「Car script1」が実行され、おもちゃの赤い車が走り回っています。 スクリプトも表示されています。

  • 以前のバージョンの「ナビゲータ」タブが、ツールバーやデスクトップのオブジェクトに割当てられています。

-

  • ウィンドウに、色違いの 3つの雲のメニュー(各プロジェクトの呼び出しボタン)があります

→「ナビゲート」タブの代わりみたい。

雲 1. 「新しいプロジェクトを作る」

雲 2. 「プロジェクトギャラリー」Gallery プロジェクト

→「 Gallery of Example Projects」→例題集

雲 3. 「チュートリアルとデモ」 Tutorials プロジェクト

→「Tutorials and Demos」→ガイドとデモ

-

  • ウィンドウの上段に、「タブ」をまとめたツールバーが表示

→バーの右の「斜め矢印が2つ」のアイコンで、ツールバーの表示のオン/オフができます。

  • ウィンドウの左側に、「About」タブが表示

-

  • ウィンドウの中で、右クリック→ハロ(取り囲む小さなアイコン)の表示オン

  • ウィンドウの中で、左クリック→ハロ(取り囲む小さなアイコン)の表示オフ

  • ワールドの表示は、右クリックでハロを表示させて、上側に表示の「メニュー」ハロを使います。

-

→日本語フォントがイマイチ。あまりきれいではありません。

-


E: スクイークEtoys 5.0(みんなでたのしくスクイーク 2013版)をダウンロードして使用:

みんなでたのしくスクイーク

-


→ダウンロードはリンク切れしています

-

運良くWeb アーカイブから「Etoys To Go 版」をダウンロードできました

Web アーカイブ

URL を入力

https://etoys.jp/squeak/squeak.html

以前アクセスした履歴(キャッシュ)にアクセスするので、以前の人がダウンロードに成功していないと失敗します。 そして、何をダウンロードしたかです。ダウンロードに失敗するときは、別の日付、時刻でトライ。 バージョンから、2013年以降を検索しました。

→水色か緑色のどちらかの丸、たぶん濃い色だったかな。

-

スクイークEtoys 5.0(みんなでたのしくスクイーク版)Etoys To Go 版をダウンロードして使用:

Etoys To Go 版 ダウンロード: EtoysToGo5mts2013.app.zip (Windows、Mac、Linux)

→日本語フォントと3つのOS 分のモジュールのせいか、サイズは 74.7MB とちょっと大きめ。 サーバーのキャッシュからダウンロードできてラッキーでした。

  • 日本語修正モジュール(2013年度版)を組み込んだ Etoys5.0 の「Etoys To Go」版をかろうじてダウンロードできました。

→インストールする必要がないので、ダウンロードしたファイルを解凍したらすぐに使えます。 (USBメモリにファイルをコピーしても使えます)

  • 他のEtoys でも機能は同じですが、ドキュメントに合うバージョンが、学習しやすいと思います。

-

Manjaro GNOME で(みんなでたのしくスクイーク版)「Etoys-To-Go-5.0」を実行:

確認:

>>> cd /run/media/ubn/CentOS/home/ubn/ダウンロード/Etoys5-ja/EtoysToGo5mts2013.app/Etoys-To-Go5.0.app/

>>> ls
CameraPlugin.dll    Etoys.ini       KedamaPlugin2.dll  ScratchPlugin.dll
Contents        FT2Plugin.dll   Mpeg3Plugin.dll    etoys.sh
Etoys.exe       ImmWin32Plugin.dll  OggPlugin.dll      localePlugin.dll
Etoys.exe.manifest  KedamaPlugin.dll    README.txt

>>> ls -l ./etoys.sh         
-rwxrwxr-x 1 ubn ubn 2904  5月 20  2011 ./etoys.sh

-

起動:

>>> ./etoys.sh

→ウィンドウの真ん中に、「みんなでたのしくスクイーク」の雲と太陽のシンボルが表示されています。

クリックすると、浮き上がるので移動できます。クリックで置かれます。

  • ウィンドウの上段に、「タブ」をまとめた黄緑色のEtoys のツールバーが表示。

-

日本語修正モジュール(2013年度版)について

抜粋:

スクイークEtoysは「みんなでたのしくスクイーク」の利用者の方のための特別バージョンです。 蜂須賀氏の「ひらがな対応スクイークEtoys」をベースに、日本の学校やパソコン教室での利用を想定した機能の追加及び改良を行なっています。

  • Etoysメニュー

ツールバーに「Etoysメニュー」を追加し、「迷子を連れ戻す」等のよく使う機能をメニューとして登録しています。 ※Etoysメニューは「やっぱスクイーク(Squeak)が好き!」を運営している蜂須賀氏のアイディアです。

  • 保存

保存(公開)ボタンを押した際の動作を次のとおりとしました。

・初めて保存するときには、作品の名前を指定して保存。

・2回目以降の保存の場合には、名称入力やフォルダ指定の画面を出さずに、そのまま保存。

・ファイル名に「.001」等の履歴番号がないもの、あるいは履歴番号が「.000」のものを開く場合には、初回保存と判断し作品名の指定画面を表示。(講座でテンプレートのprファイルを利用する場合のために。)

※予期せぬフリーズ等で作品が消えてしまうことを避けるために、講座中に保存が1クリックでできるようにしました。 できるだけ通常のアプリケーションの保存動作と同じような振る舞いをするようにしていますが、従来どおり「作品名.001.pr」の形式で作品ファイルが連番で保存される形式はそのままです。

  • 日本語フォント

日本語フォント(小夏フォント)の導入により、日本語の文字がより美しく表示できます。

  • 日本語訳

よく使う機能については日本語訳を見直してわかりやすい表現にしています。 たとえば、「テストタイル」の表現を従来の「テスト~はい~いいえ」から「もし~ならば~でなければ」と変更し、より普通の日本語に近い表現としました。

(注:現時点では当バージョンはひらがなには対応しておりません。)

ツールバー(ナビゲータフラップ)に次の変更を行なっています。

・「終了」ボタンを削除。(作品保存の際に誤って終了してしまうリスクがあるため。フルスクリーンにした場合はEtoysメニューより終了します。)

・「保存」と「読み込み」から「ログイン」ボタンを削除。(誤操作防止のため)

ツールバーを隠すボタンの削除。

・クイックガイド(英語版)の削除。

・全画面表示変更アイコンを拡大縮小モード変更に変更。(フルスクリーンにする場合はEtoysメニューから行います。)

ツールバーの色を緑に変更。

  • ペイントツール

ツールバーからペイントを起動した場合は描画エリアを最大に。

・ハロの「描き直し」から起動した場合は描画エリアを最小に。

  • バグ対応

・ビュワーから取り出したスクリプトに別の「スクリプト」を組み込んだ際にフリーズする現象を回避。

・ワールドのハロ「背景を描く」を削除。(誤操作の原因となるため)

  • その他

・起動時の自動拡大縮小モードを無効に。(サイズの大きい作品を開いたときに自動的に拡大縮小モードになることを防ぐため)

・起動時の雲のメニューを削除。

・ビューワやスクリプターの角を丸く。

・作品名の既定値を「作品」に。

-


F: Squeak 5.3 をダウンロードして使用:

Welcome to Squeak/Smalltalk

こちらの利点は「64bit」対応だということ(5.0 以前は 32bit のみ対応)です。 また、唯一、CentOS 3.2 でも起動できました。ただし英語。

Quick Download Current Release 5.3 :

→現在のSqueak リリースは、さまざまなバンドルで提供されます。

Linux(X86)

Windows (x64)

All-in-One (64-bit)

→「オールインワン」パッケージは、WindowsMacOS、およびLinuxx86/ARM)で動作します。 ダウンロードして解凍し、適切なファイル(Windowsの場合は「.bat」、macOSの場合は「.app」、Linuxの場合は「*.sh」)を使い起動します。

-


CentOS 8.2 にて実行:

$ cd ~/ダウンロード/Squeak5.3-19435-64bit-All-in-One/

$ ls
Squeak5.3-19435-64bit-All-in-One.app  squeak.bat  squeak.sh

$ ./squeak.sh

→ちょっと時間がかかってから下記の英語のメッセージが表示され、Squeak 画面が立ち上がりました。

和訳:

/home/ubn/ダウンロード/Squeak5.3-19435-64bit-All-in-One/Squeak5.3-19435-64bit-All-in-One.app/Contents/Linux-x86_64/bin/squeak... を使用しています

pthread_setschedparam が失敗しました:操作は許可されていません。

このVMは、別のハートビートスレッドを使用して内部クロックを更新し、イベントを処理します。
最適な操作のために、このスレッドは優先度を高くしようとしましたが、VMは優先度を変更できませんでした。
その結果、負荷の高いシステムで遅延の問題が発生する可能性があります。

この場合は、以下に示すように、/etc/security/limits.d/ に適切な構成ファイルを作成してください。
→(確認すると、フォルダはありますが、ファイルは置かれていません)

詳細については、
https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/r3732#linux
設定:

以下の行をすべて選択して、端末のコマンドプロンプトに貼り付けて、Enter キー:

cat <<END | sudo tee /etc/security/limits.d/squeak.conf
*      hard    rtprio  2
*      soft    rtprio  2
END
確認:
$ cat /etc/security/limits.d/squeak.conf
*      hard    rtprio  2
*      soft    rtprio  2
ログアウト→ログイン

-

確認:
$ cd ~/ダウンロード/Squeak5.3-19435-64bit-All-in-One/

$ ./squeak.sh

→起動が速くなりました。

→気になるのは、ウィンドウのタイトルバーのファイルのアドレスに含まれる日本語が化けていること。(英語名のフォルダに格納すれば気になりません。)

ちなみに、ウィンドウを最小化してもバルーンは付いてきます。こういうこともできるのですね。

-


日本語化:

参考:

[Squeak 5.1 でとりあえず日本語を表示させるために踏んだ手順の記録 2016-08-29] (https://sumim.hatenablog.com/entry/20160829/p1)

Squeak 5.3 で使えるかは未確認。Smalltalk の基本操作を学んでからでないとちょっと無理かな。 どちらにしても5.1 用のパッチは使えないと思います。

-

フォントのダウンロードはリンク切れです。下記が使えました:

Komatuna-font Download

ダウンロードして、展開すると、2つのフォントが手に入ります。

  • komatuna.ttf

  • komatuna-p.ttf

-


G: Fedora 32 で「squeak 4.5」 をリポジトリからインストール:

OS を問わない?はずの「Etoys-To-Go」とか「All-in-One」は、Fedora 32 や CentOS では使えませんでした。

-

→イメージファイルのフォーマット形式は色々あって、VM が対応できるバージョンでないと起動しません。この組み合わせはOK でした。squeak 4.5 の英語版です。

  • 残念ながら、CentOSリポジトリにはサードパーティも含めて「squeak」はありません。

  • CentOS 8.2 で唯一使えたのは、「Squeak 5.3」のAll-in-One でした。

  • もし、他のSqueak を使う予定があるのなら、インストールは避けた方がよいです。その起動に影響します。

-

インストール:

$ sudo dnf install squeak-vm squeak-image
:
インストール:
 squeak-image           noarch      4.5.13680-11.fc32         fedora       17 M
 squeak-vm              x86_64      4.10.2.2614-23.fc32       fedora      800 k

依存関係のインストール:
 nas-libs               x86_64      1.9.4-19.fc32             fedora       84 k
 xorg-x11-apps          x86_64      7.7-27.fc32               fedora      339 k
 xorg-x11-xbitmaps      noarch      1.1.1-18.fc32             fedora       36 k

-

確認:

$ whereis squeak
squeak: /usr/bin/squeak /usr/lib64/squeak /usr/share/squeak /usr/share/man/man1/squeak.1.gz

$ ls /usr/lib64/squeak/4.10.2-2614/
ckformat                    so.ScratchPlugin          so.vm-display-fbdev
so.AioPlugin                so.Squeak3D               so.vm-display-null
so.B3DAcceleratorPlugin     so.SqueakFFIPrims         so.vm-sound-ALSA
so.CameraPlugin             so.UUIDPlugin             so.vm-sound-NAS
so.ClipboardExtendedPlugin  so.UnicodePlugin          so.vm-sound-OSS
so.DBusPlugin               so.UnixOSProcessPlugin    so.vm-sound-custom
so.FileCopyPlugin           so.WeDoPlugin             so.vm-sound-null
so.HostWindowPlugin         so.XDisplayControlPlugin  so.vm-sound-pulse
so.MIDIPlugin               so.vm-display-X11         squeakvm
so.RomePlugin               so.vm-display-custom

-

初期設定(イメージの配置):

$ inisqueak

Installing squeak.image.gz to /home/ubn
Unpacking '/usr/share/squeak/SqueakV41.sources.gz' to '/home/ubn/SqueakV41.sources'
Unpacking '/usr/share/squeak/squeak.image.gz' to '/home/ubn/squeak.image'
Unpacking '/usr/share/squeak/squeak.changes.gz' to '/home/ubn/squeak.changes'

→問い合わせなしで、すぐにホーム直下に3つのファイルが解凍されました。 イメージおよびチェンジファイルともにホームに配置され、イメージ名もデフォルトなので、パス指定やイメージの指定が要らなくなります。

squeak の実行:

$ squeak

squeak.image はデフォルト名なのでイメージファイル名の指定は要りません。 ホーム直下なのでワーキングディレクトリの変更も要りません。

アプリが起動しました。 薄緑色のキャンパス地の「squeak.image」ウィンドウが開きます。至ってシンプルです。

英語の「メニューバー」だけがあり、そのバーの右側に「検索窓」と「時計」が表示されています。

-

ヘルプで確認 (About this System) :

Image
-----
/home/ubn/squeak.image
Squeak4.5
latest update: #13680
Current Change Set: Unnamed1
Image format 6504 (32 bit)

Virtual Machine
---------------
/usr/lib64/squeak/4.10.2-2614/squeakvm
Squeak4.3 of 22 December 2011 [latest update: #11860]
Unix built on Jan 31 2020 00:00:00 Compiler: 10.0.1 20200126 (Red Hat 10.0.1-0.6)
platform sources revision 2614
VMMaker versionString 4.10.2

リポジトリにあるバージョンは、Squeak4.5 で、英語版ですが使えそうです。 vm によっては使えるイメージのフォーマット形式が異なりますが、Image format 6504 (32 bit) はOK みたい。

-

使いやすいように「タブ」を表示:

ウィンドウの中で右クリック→短めの「World」画面

  • 「show main docking bar (M)」はチェック済。

  • 「show shared tabs (F)」はチェックされてません。→チェックを入れます。

→カラフルなタブが表示されました。

  • 上に、赤色の「Objects」タブ

  • 左に、茶色の「squeak」タブ

  • 右に、橙色の「Tools」タブ

  • 下の左に、紺色の「Widgets」タブ: 小部品

  • 下の左に、赤色の「Supplies」タブ: 部品

タブのクリック、または、ドラッグで開いたり閉じたりできます。 タブの位置もドラッグして調整できます。

squeak」タブにも任意のオプジェクトを置けるみたい。

-


H: Manjaro GNOME にて「squeak 4.5」をリポジトリからインストール:

-

インストール:

>>> yay -S squeak-vm
>>> yay -S squeak-sources-41
>>> yay -S squeak-image-4.5 

squeak-sources がないと警告が出ます。

確認:

>>> yay -Ss squeak
:
aur/squeak-image-4.5 4.5-1 (+1 0.00) (Installed)
    Image file for squeak VM
aur/cog-vm 5.1.201608171728-1 (+1 0.00) (Orphaned) 
    Cross-platform virtual machine for Squeak, Pharo, Cuis, and Newspeak.
aur/squeak-sources-41 41-1 (+1 0.00) (Installed)
    Source code file required by Squeak to view function names, source code, etc. within the VM.

aur/squeak-image 5.1-1 (+13 0.00) 
    Image file for squeak VM
community/squeak-vm 4.10.2.2614-5 (596.9 KiB 1.6 MiB) (Installed)
    Full-featured implementation of the Smalltalk programming language and environment

→公式リポジトリなのは、squeak-vm のみ。リポジトリから削除 (Orphaned)されているのもあります。 このsqueak-vm では squeak-image 5.1 のフォーマット形式は起動できませんでした。

-

スクリプトを実行してイメージを展開:

>>> /usr/bin/squeak.sh

CHECKING cogvm
which: no cogvm in (/usr/bin:/bin)
CHECKING squeakvm

→ダイアログが開いて下記を聞いてきます。

  1. 手持ちのイメージがあるなら指定: 「Cancel」

  2. イメージの選択: 「Squeak4.5-13680.image」

  3. イメージの格納先のフォルダ: 「~/Squeak/」

→書き込み権限が必要なのでホーム配下に指定しました。

イメージの置き場所:

>>> ls -1 ~/Squeak/

Squeak4.5-13680.changes
Squeak4.5-13680.image
SqueakV41.sources

→3つのファイルができました。

実行ファイルの置き場所:

>>> which squeak
/usr/bin/squeak

>>> whereis squeak
squeak: /usr/bin/squeak /usr/bin/squeak.sh /usr/lib/squeak /usr/share/man/man1/squeak.1.gz

-

起動:

>>> cd ~/Squeak/

>>> squeak Squeak4.5-13680.image
CHECKING cogvm
which: no cogvm in (/usr/bin:/bin)
CHECKING squeakvm

VM のcogvm がないので、squeakvm で起動されました。

→タブを表示させようとしているところです。

-

使いやすいように「タブ」を表示:

ウィンドウの中で右クリック→狭い「world」画面→「show shared tabs (F)」にチェック

-

cog-vm の存在を確認:

>>> yay -Ss squeak
:
aur/cog-vm 5.1.201608171728-1 (+1 0.00%) (Orphaned) 
    Cross-platform virtual machine for Squeak, Pharo, Cuis, and Newspeak.

→cog-vm は高速な互換VM です。すでにリポジトリから削除されていて、インストールできません。

-


まとめ

できるだけ、OS を問わないだろう?「Etoys-To-Go」とか「All-in-One」を選んでダウンロードしました。 これらは保存先が自由なのでインストールが楽です。ただし、完結しているわけではなく、システムのライブラリをアクセスします。

  • Manjaro GNOMEzsh だからか $ sh ./etoys.sh とすると起動できました。

  • Fedora 32 や CentOS では起動できるものが限られていました。(32bit のライブラリのインストールが必要?)

→許可がないのは、$ chmod +x ./etoys.sh で解決しましたが、 その後「そのようなファイルやディレクトリはありません」と言われて起動できません。

  • Linux よりもWindows 10 でインストールするのが簡単でした。

→というわけで、Windows でのインストールも記述しています。 Windows だと、VM もイメージファイルも一緒で、インストーラの実行だけなので確実で楽です。

-

どれを選ぶか、選択肢が多いので悩みますね。(CentOS はひとつですが…)

Etoys でもSmalltalkSqueak) でも、検索で学習に使えそうな教材が見つかります。どの教材で学ぶのかでもよいと思います。

-


目次

先頭

-


-