M1 Mac-Ubuntu20.04でGNUstep | 貯え 小道具 興味ない?

貯え 小道具 興味ない?

「貯えもの」とは、いってもお金をご想像の方は、ご遠慮くださいまし。
Storage = Data Storage
関わってお仕事したり、使ってて感じたことなり
記すBlogでございます。
トラックバックを時折頂きますが、削除する場合がございます。

先日、「今更のObjective-C」という記事を書いたのですが、調べてみるとObjective-Cの環境はLinuxでも利用できそうです。

基本的には、「GNUstep」(linkはWikipedia)をインストールして使うことになります。

 

UbuntuにObjective-Cをインストール」という記事があったので、手順はこの記事に沿ってM1 MacにインストールしてあるParallels DesktopのゲストOSのUbuntu20.04にインストールしました。

(この記事は古いためaptitudeを使っているのですが、Ubuntu20.04にはインストールされていない様でした。「aptitude」が必要な場合は、「Ubuntu 16.04 LTSではaptitudeがデフォルトでインスト ールされない」に沿ってインストールします。)

それ以外は記事の通りで、まず「Objective-Cのパッケージ「gobjc」をインストールする」を行います。

次に関連するパッケージをインストールします。(記事参照)

 

GNUstepはWikipediaにあるとおり「GNUstep(グニューステップ)は、NeXTOPENSTEP Objective-C ライブラリ(フレームワーク)、ウィジェット・ツールキット、アプリケーション開発ツール群をフリーソフトウェアとして実装したものである。Unix系オペレーティングシステムだけでなくMicrosoft Windowsでも動作する。GNUプロジェクトの一部でもある。」です。

なので、これをインストールすると割と簡単にObjective-Cの開発環境に触れる事ができます。

 

GNUstep GUIアプリケーションを作る」という記事があるので、この記事のとおりに「ProjectCenter」と「Gorm」という2つのアプリケーションを起動しながらアプリケーションを作ることができます。

これらのコマンドの使い方は詳しい説明は検索してみても、あまり見当たらないのですが、ターミナルを起動してこの2つのコマンドを起動して、デスクトップに現れるアイコンを右クリックすればメニューが出てきます。あとは「GNUstep GUIアプリケーションを作る」の記事のとおりに操作していけば、多分サンプルアプリケーションは作れると思います。

 

まるでOPENSTEPを操作するような感覚でUbuntuの中でObjective-Cでのプログラミングが試せるところは面白いと思いました。

 

#追記(2022/01/17)

Windowsで学ぶObjective-C」という記事がありました。試してはいませんが、Windowsでの開発環境に興味のある方には参考になるかも知れません。

 

#追記(2022/01/19)

GNUstep GUIアプリケーションを作る」の記事の内容でわかりにくい記載がありました。「クラスファイルを実装する」という部分なのですが、拡張子 .m、.hのファイルがどこに生成されて実装するコードをどうやって書けば良いのかが詳しく説明されていません。試したところ、

Gormで「MyCounterModel」クラスを選択して「Save source file as...」でResourcesフォルダの中に保存する様です。そしてコードを実装する際には「Open File」メニューから保存したファイルを開けば良い様です。

 

#追記(2023/12/12)

この時のubuntuはサーバーパッケージを使っていたので、デスクトップをインストールして「ubuntu 22.04」にアップデートすることにしました。参考記事は「Ubuntu Server22.04に後からGUI(デスクトップ)環境をインストールする方法」です。

 

#追記(2023/12/12)

ubuntu 20.04LTS:日本語環境にする」を読んで、環境を日本語化しました(表示は日本語になっていますが、入力の設定がまだ十分ではなくカナ入力のままなので、修正は必要です。

 

#追記(2023/12/12)

日本語入力に関しては「mozc」はインストール済みの表示になりましたが、「Ubuntu20.04で日本語入力(Mozc)を可能にする方法」を読んで「mozc」が動作する様に設定を行い、「入力モード」の設定から日本語入力ができる様に切り替えたところ、日本語入力ができる様になりました。また「mozc」の設定に関しては「Ubuntu(20.04)でMozcを使って日本語と英数入力をいい感じに切り替える方法」を参考にしました。

 

ここまでは20.04LTSの環境での作業だったので、「Ubuntu 20.04 LTS を 22.04 LTS にアップグレードする」を読みながら、

「do-release-upgrade」

を実行しました。時間の掛かる作業なので、今日はここまでで終了です。

意外に早くインストールは終わりました。再起動して「22.04LTS」で再起動したところ迄は日付が変わる前に確認できました。

どうもネットの記事を探してみると、この状態はエラーが起きている状態の様です。仮想環境を「Parallels Desktop」ではなく「UTM」を使った場合の記事ですが、「M1 mac + UTM + Linux = サイコー まであとすこし」という記事が見つかりました。

解決策は別途探す必要がありそうです。(最悪 ubuntu22.04LTSの再インストールになります。)

今のところ、Apple純正キーボードでParallelsのメニューから「処理」-「リセット」を実行すれば、「grub」ブートローダーの起動はできることは確認できています。

ここでEFIの設定で現象を回避できるのか、grubのメニューから対処できるのかはわかっていません。

 

#追記(2023/12/13)

試してみましたが、ubuntuのカーネルの2種類とそれぞれのリカバリーモードはそのまま起動できませんでした。

多分、UEFI設定、grub設定で修正できるのだとは思うのですが、今回はその辺は試さずにもう暫くはubuntu20.04LTSで使ってみることにしました。(以前、20.04LTSは複数インストールしてあったのでそういう対応を取ることにしました。)

(参考記事:「Ubuntuに「トラブル時に」ログインするいろいろな方法」を見つけてはいます。)

 

#追記(2023/12/17)

この記事で扱ったのはmacOS Big Surで「Parallels Desktop 17」にゲストOSとして「Ubuntu22.04」を扱った記事です。上記のトラブルは、Parallels Desktopで仮想CD-ROMドライブに起動可能なOSイメージを接続してリセットすれば仮想HDDにインストールしたUbuntu OSを起動することで対処できそうです。