macOS下準備
2021年2月25日更新
はじめに
最新の macOS (2020年5月17日現在は macOS 10.15.4 Catalina)のクリーンインストールマシンを想定し、あなたの mac を簡単なシミュレーションなどができるような、アカデミックなシミュレーションマシン に変身させる手順を書きます。既に色々使い倒してアップデートを続けている macOS の場合は、既に色々ご存じでしょうから、現在の状況に合わせて読み飛ばして下さい。クリーンインストールマシンでうまく動く事を確認しており、また個人的に使い続けている macOS でももちろん動いています。
(参考)Safari の設定
Safari の標準の設定では、ダウンロードしたものを勝手に展開したり開いたりしようとします。便利にも思えますが、うっとうしく思う事(セキュリティー的にもあまり好ましくな い)が多いので、Safari の環境設定の一般タブにある、「ダウンロード後、”安全な”・・・」のチェックを外しておくほうが良いと思います。もちろん、この機能が便利でたまらない という人はそのままでも結構だと思います。
Xcodeのインストール
まずは macOS を最新バージョンにアップデート(大変な時間もかかりますし、場合によっては互換性の問題が出ますが、セキュリティの事も考え合わせると可能な限り最新バージョ ンの macOS にしておくことが望ましいと考えます)し、最新の Xcode をインストールして下さい。この Xcode を用いて、macOS、iOS、 tvOS、 watchOS用のアプリの作成ができま す。後にインストールする MacPorts は、Xcodeに含まれるC言語を、MacPortsが管理するパッケージのインストールに用います。Xcodeには、C、Objective-C、 Swift といった言語が含まれます。
Xcode は mac 上の App Store で無料ダウンロード、インストールできます。App Store の検索のところに Xcode と打ち込み検索すると出てきます。App Store で Xcode を無料ダウン ロードするには、Apple ID が必要です。クレジットカードが無くとも Apple ID は作成可能です。有料のソフトウェアも iTunes Card を購入すればクレジットカードは不要です。
http://support.apple.com/kb/HT2534?viewlocale=ja_JP
Xcode がインストールされたら、必ず一度は Xcode を起動してください。起動時にさらにインストールされるものがあります。
X Window (XQuartz) のインストール
mac に UN*X 系 OS の標準的ウィンドウシステムである X Window を導入します。mac では、XQuartz をインストールすることで完了します(2020年4月16日時点での最新バージョンは、 2.7.11)。長らくアップデートされていませんが、動きます。
から、最新の XQuartz をダウンロードし、インストールを行います。
インストールが終わったら、アプリケーションフォルダの中のユーティリティフォルダにある XQuartz を一度実行し、マシンを再起動してください。
(注意)macOS をアップデートした後は、XQuartz の再インストールが必要となる場合があります。X Window を利用するソースコード(例えば後に出てくる GLSC を用いたプログラムなど)が、以前は何の問題も無くコンパイルできてい たのに、同一マシンでコンパイルが失敗し、何々が無いといったエラーが出るという場合には、XQuartz の再インストールで解決する場合が多いので覚えておくと良いでしょう。
MacPorts のインストール
(注意)MacPorts と Homebrew が同時にインストールされていると問題が生じることがあるようです。既に Homebrew をインストールしている場合には、ここに従ってアンインス トールして下さい。または、Homebrew をインストールしたまま、MacPorts はインストールしなくとも、GLSCの画面をキャプチャーして動画を作成するといったことをしないのであれば問題ありません。(MacPortsではImageMagick というソフトウェアがX11に対応していますが、Homebrewでは対応しなくなったという事情です。)
MacPorts のホームページに従ってMacPortsをインストールしてください。
必要となるパッケージのインストール
作業はターミナルで行います。ターミナルは、アプリケーション -> ユーティリティの中にあります。
本ドキュメントで共通的に必要となるパッケージをMacPorts を用いてインストールします。当面インストールするものは、gnuplot です。それぞれ、ターミナ ル上で、
sudo port install gnuplot
とすれば関連するパッケージとともにインストールされます。MacPorts にてインストールされているパッケージのリストは、
sudo port installed
で表示されます。
後に、GLSCで動画作成までしたいと思って居る人は、次を追加。
sudo port install imagemagick ffmpeg
エディターのインストール
Xcodeのコードエディタを使っても良いが、macOSやiOSの本格的なアプリを作成するのであればXcodeを使うが、通常の数値計算であれば他のもっと軽いテキストエディタを使うのが良いと思う。
MacAppStore から CotEditor というエディターが入手できる。なかなか高機能。
次の mi エディターは軽量で使いやすい。
私は Emacs が好きなので、次を使っている。
また、ターミナル上で使える vi は、軽くて便利。Linux 系OSにも必ず入っているので使えると重宝する。
残念ながら、プログラミングを学ぶ最初から統合開発環境を使っていたりして、そもそもプログラムのソースファイルが単なるテキストファイルであるということがわからない人が増えていて個人的には気味が悪い。多分世の中的には困らないのだろう。
GLSCのインストール
C言語入門のPart.13以降でGLSCを利用するので、必要な人はGLSCを mac にインストールする。インストールするとはいっても、バイナリで配布するので指定場所に置いてもらうだけ。ソースコードからのインストールは別途説明を後日書こうと思う。
以下のプロセスは、次の動画で説明している(日本語音声入り)。
次の zip ファイルをダウンロードしてください。
zipファイルをホームフォルダ(ホームディレクトリ)に展開すると、
glsc_mac_bin
というフォルダができあがる。続いてテスト。
ターミナルで、glsc_mac_bin フォルダ内にある sample フォルダに移動。そこで次のコマンドを打ち込み実行する。
~/glsc_mac_bin/bin/cglsc glscTest.c
インストールがうまくいっていれば、エラーなど出ず終了し、glscTest というプログラムができあがっているはずなので、実行する。
./glscTest
二度数字の入力を求められるので、例えば 0.1 と 1.0 を入力すると、ばね振り子のアニメーションがみられる。これでGLSCがインストールされた。
(参考)zsh
Catalina からシェルが zsh になった。以前のバージョンからのアップグレードを続けている人はそのまま bash だが、ターミナルを開くと警告がでる。そこで、
chsh -s /bin/zsh
で変更すると、色々動かなくなったりする。色々なインストーラーが bash を前提としていて、
~/.bash_profile
にパス設定等書き込むので、zsh がそれを知る事ができないようなので、zsh の設定ファイル
~/.zprofile
をホームディレクトリに作成し、その中に、
source ~/.bash_profile
とかく。当面、これでうまくいくようだ。
良くわかっていないが、zsh は tcsh と bash を足したようなもので、csh の書き方もできるようで素晴らしい。これで良かったのだと思う。
クリーンインストールした Catalina で MacPorts(MacPorts-2.6.2-10.15-Catalina.pkg) と Anaconda(Anaconda3-2020.02-MacOSX-x86_64.pkg) をインストールしてみた(2020年5月17日)。
ちなみに、クリーンインストール直後は、zsh の設定ファイルはホームディレクトリに存在しないようだ。
MacPorts は .zprofile をホームディレクトリに作成し、その中にパスを加えていた。一方、Anaconda は .zshrc をホームディレクトリに作成し、パスなどを加えていた。この辺り、どちらかに統一して欲しいが。zsh に変更しているが、.bash_profile が存在したらどうなるかといった実験はしていないが、もしかすると .bash_profile の方に書き込むかも知れない。今は移行時期なので、こういう不具合はあるだろう。
(参考)ターミナルの操作
ターミナルは アプリケーション->ユーティリティ にあります。はじめて触ったマシンがWindowsマシンや mac という人にはターミナルでの操作は意味不明かもしれません。幾つ かリンクを張っておきますので参考にして下さい。上記の、「アカデミックなシミュレーションマシン」として mac を活用する場合には、ターミナルでの操作は必須だと考えていま す。
http://allabout.co.jp/gm/gc/2962/
使い慣れると、GUIを使ったファイル操作よりもターミナルでコマンド一発の方が楽だし、シェルスクリプトやコマンドをパイプで繋ぐなんてことができるととてつもなく便利だと思 いますが、やりたいようにやればよいとも思います。コマンドラインでのファイル操作やデータの加工といったスキルを獲得する機会が減っているのはまずいように感じていますが。
(参考)MacPorts と Homebrew
MacPorts を以前愛用していましたが、数年前から Homebrew に移行していました。しかしながら、今回また MacPorts に戻りました。Homebrewに移行したときの理由は、操作が簡単であるので初心者にはこちらの方が良いだろうと思ったからです。実際、便利に使っていました。ところが、macOSが真剣にX11をサポートしなくなったせいではありますが、Homebrewによってインストールされた ImageMagick が X11 をサポートしなくなってしまいました。じつは、GLSCの画面収録に ImageMagick の import コマンドを使うのですが、それがX11対応していないとなるとそれができなくなってしまいます。一方で、Homebrewではpyenvがインストールできるので、Python環境の維持は楽でした。そこは、もう anaconda を直接ダウンロードしてきてインストールという妥協にしました。そもそも Python はあまり好きではないので。