今週、ネットで盛り上がっていた話題の一つが「MacはLinuxだった」。*1そのような話題でNeXTが登場しなわけがない。
OSXの基盤となったNeXTSTEPは、OSとしての呼称である場合と、カーネルを含まないフレームワーク、開発環境のセットを指す場合がある。特に後者はOPENSTEPとしてパッケージ化され、SolarisやWindows NT向けににリリースされた。
OPENSTEPはさらにGNUプロジェクトとしてオープンソース化され、現在に至っている。そして、いまだに継続中のプロジェクトでもある。
Windows版OPENSTEPが存在したように、GNUstepにもWindows版が存在する。しかし、それはMinGW環境を伴う。WSLが存在する今となっては、WSL + Ubuntu環境へインストールしたくなるところだろう。そして、それは可能だ。それもかなり簡単に。
公式情報
前提
この投稿は、次の段階まで整っている環境で作業することを想定している。
必要に応じて、次の投稿を参照してほしい。
インストール方法
次の一連のコマンドを実行するだけで、インストールは完了する。
sudo apt update -y sudo apt upgrade -y sudo apt install gnustep -y
GNUstepはWindows Managerとして、Window Makerを利用する。このパッケージ”wmaker”は、パッケージ”gnustep”のインストール時に、自動的に導入されるため、依存関係などを意識する必要はない。
packages.ubuntu.com
コア環境やライブラリ、ドキュメントなど、必要なものを任意でインストールする。例えば、次のようなパッケージだ。
- gnustep-common
- gnustep-back-common
- gnustep-base-common
- gnustep-base-runtime
- gnustep-gui-common
- gnustep-gui-runtime
この投稿ではGNUstepの開発環境を紹介するため、次のパッケージをインストールしている。
- gorm.app
- projectcetner.app
sudo apt install projectcenter.app gorm.app -y --fix-missing
GWorkspaceの起動
X serverが起動していることを確認したら、次のコマンドを実行する。これでWindow Makerの画面が表示される。
wmaker
デスクトップ上で右クリックすると、チェストボックス形態のメニューが表示される。これはWindows、Macでいうところの次のメニューに該当する。
デスクトップ | 各アプリケーション | |
Windows | スタートメニュー | ファイルメニュー |
Mac | アップルメニュー | メニューバー |
これがNeXTSTEPのデスクトップを模したGUIなのだが、GNUstepとしてのGUIが別に存在している。それがGWorkspaceだ。メニューを次のように辿って起動すると、この投稿冒頭の画面が表示される。
OSXファイル・マネジャーでの特徴的な表示形態は、NeXTの名残であるのが分かる。
Applications > System > GWorkspace
開発環境の起動
GNUstepには開発環境が用意されている。
ProjectCenter | IDE 統合開発環境 |
Gorm | GUIビルダー |
Window Maker上のメニューには自動的に追加されており、選択すれば起動できる。GWorkspaceの場合、メニューを次のように辿り、アプリケーション名を入力して起動する。
Tools > Run 「ProjectCenter」あるいは「Gorm」と入力
添付写真は、「app1」というプロジェクトを新規作成しようとしている。OKボタンを押下すると、フォルダ、ファイル群が自動生成される。
同じくGormを起動する。ProjectCenterが出力した「app1」のファイルを開くと、プロジェクト内のオブジェクトが表示され、そのアトリビュートがInspectorに表示される。
またGUIパーツをレイアウトして、アプリケーションのGUIをデザインすることができる。
余談:SonyもSystem V系UNIXを採用していた。
かつて、SonyもUNIXワークステーションを販売していた。*4そのOSがNEWS-OSという、System V系のUNIXだった。そしてゼロ年代に突入してもSonyとUNIXの関りは続く。同社の家電プラットフォーム基盤、SNAP (Sony Networked Application Platform)としてGNUstepを採用したのだった。しかし、その構想は頓挫してしまうのだった。
以前、Microsoftがリリースするハードウェアが、かつてのSony路線を踏襲している、と言うことを投稿した。*5UNIXを基盤としてプラットフォームを構築する構想を実現したのはAppleだが、Sonyも同じ路線を構想していたのだ。とはいえ、当時のSonyは製品部門ごとの繋がり、連携が皆無に等しく、ソフトウェア方面の実装に弱かった。
構想が実現したところで、Appleのように市場を席巻することはできなかっただろう。