Technically Impossible

Lets look at the weak link in your statement. Anything "Technically Impossible" basically means we haven't figured out how yet.

GNUstepをWindowsで試すならWSLを使う-Ubuntu 20.04 LTS+WSL2へのインストール

f:id:espio999:20220130005829p:plain
今週、ネットで盛り上がっていた話題の一つが「MacLinuxだった」。*1そのような話題でNeXTが登場しなわけがない。

OSXの基盤となったNeXTSTEPは、OSとしての呼称である場合と、カーネルを含まないフレームワーク、開発環境のセットを指す場合がある。特に後者はOPENSTEPとしてパッケージ化され、SolarisWindows NT向けににリリースされた。
OPENSTEPはさらにGNUプロジェクトとしてオープンソース化され、現在に至っている。そして、いまだに継続中のプロジェクトでもある。

Windows版OPENSTEPが存在したように、GNUstepにもWindows版が存在する。しかし、それはMinGW環境を伴う。WSLが存在する今となっては、WSL + Ubuntu環境へインストールしたくなるところだろう。そして、それは可能だ。それもかなり簡単に。

公式情報

www.gnustep.org

前提

この投稿は、次の段階まで整っている環境で作業することを想定している。

  • WSL2、Ubuntu 20.04 LTS、X serverを導入済み
  • Ubuntuのユーザー、パスワードの設定まで終えた

必要に応じて、次の投稿を参照してほしい。

  • Ubuntuの初期化→イメージの「リセット」*2
  • X server*3

インストール方法

次の一連のコマンドを実行するだけで、インストールは完了する。

sudo apt update -y
sudo apt upgrade -y
sudo apt install gnustep -y

GNUstepWindows Managerとして、Window Makerを利用する。このパッケージ”wmaker”は、パッケージ”gnustep”のインストール時に、自動的に導入されるため、依存関係などを意識する必要はない。
packages.ubuntu.com

コア環境やライブラリ、ドキュメントなど、必要なものを任意でインストールする。例えば、次のようなパッケージだ。

packages.ubuntu.com

この投稿ではGNUstepの開発環境を紹介するため、次のパッケージをインストールしている。

  • gorm.app
  • projectcetner.app
sudo apt install projectcenter.app gorm.app -y --fix-missing

GWorkspaceの起動

X serverが起動していることを確認したら、次のコマンドを実行する。これでWindow Makerの画面が表示される。

wmaker

f:id:espio999:20220130005904p:plain

デスクトップ上で右クリックすると、チェストボックス形態のメニューが表示される。これはWindowsMacでいうところの次のメニューに該当する。

デスクトップ 各アプリケーション
Windows スタートメニュー ファイルメニュー
Mac アップルメニュー メニューバー

これがNeXTSTEPのデスクトップを模したGUIなのだが、GNUstepとしてのGUIが別に存在している。それがGWorkspaceだ。メニューを次のように辿って起動すると、この投稿冒頭の画面が表示される。
OSXファイル・マネジャーでの特徴的な表示形態は、NeXTの名残であるのが分かる。

Applications > System > GWorkspace

f:id:espio999:20220130010049p:plain
f:id:espio999:20220130005829p:plain

開発環境の起動

GNUstepには開発環境が用意されている。

ProjectCenter IDE
統合開発環境
Gorm GUIビルダー

Window Maker上のメニューには自動的に追加されており、選択すれば起動できる。GWorkspaceの場合、メニューを次のように辿り、アプリケーション名を入力して起動する。

Tools > Run
「ProjectCenter」あるいは「Gorm」と入力

f:id:espio999:20220130133612j:plain
添付写真は、「app1」というプロジェクトを新規作成しようとしている。OKボタンを押下すると、フォルダ、ファイル群が自動生成される。

f:id:espio999:20220130133622j:plain
f:id:espio999:20220130133631j:plain

同じくGormを起動する。ProjectCenterが出力した「app1」のファイルを開くと、プロジェクト内のオブジェクトが表示され、そのアトリビュートがInspectorに表示される。
またGUIパーツをレイアウトして、アプリケーションのGUIをデザインすることができる。
f:id:espio999:20220130133639j:plain
f:id:espio999:20220130133646j:plain

余談:SonyもSystem V系UNIXを採用していた。

かつて、SonyUNIXワークステーションを販売していた。*4そのOSがNEWS-OSという、System V系UNIXだった。そしてゼロ年代に突入してもSonyUNIXの関りは続く。同社の家電プラットフォーム基盤、SNAP (Sony Networked Application Platform)としてGNUstepを採用したのだった。しかし、その構想は頓挫してしまうのだった。

以前、Microsoftがリリースするハードウェアが、かつてのSony路線を踏襲している、と言うことを投稿した。*5UNIXを基盤としてプラットフォームを構築する構想を実現したのはAppleだが、Sonyも同じ路線を構想していたのだ。とはいえ、当時のSonyは製品部門ごとの繋がり、連携が皆無に等しく、ソフトウェア方面の実装に弱かった。
構想が実現したところで、Appleのように市場を席巻することはできなかっただろう。

ascii.jp
blog.msmhrt.jp
toshi3.cocolog-nifty.com