Shunsuke A. Sato

Windows PC上でのCygwin環境の構築

(最終更新日:2023/04/12)

授業でPythonやFortran等を用いた数値計算の実習する際に、Windows PC上にCygwin環境を構築する方法を解説します。本ページの解説は、「Cygwin インストール」を参考に書かれています。リンク先のページも参考にしてください。

以下では、「1. Cygwinのインストール」、「2. Fortranプログラムの実行」、「3. Pythonプログラムの実行」、「4. gnuplotによる数値計算結果描画環境の構築」について、それぞれ説明します。


1. Cygwinのインストール

Step 1:
まず、Windows PCにCygwinをインストールしていきます。CygwinのwebサイトからCygwinのインストーラーをダウンロードします。インストーラーは下の画像のように、"Installing Cygwin"の箇所の赤線で囲まれた部分からダウンロードすることが出来ます。

Cygwin download page


Step 2:
ダウンロードしたCygwinのインストーラを起動すると下記のようなアプリケーションが立ち上がるので、「次へ」をクリックしてインストールを進めていきます。

Cygwin installing 01


Step 3:
どこのCygwinソースを使うかを聞かれるので、デフォルト選択肢の"Install from Internet"を選択して「次へ」をクリックし、インストールをさらに進めます。

Cygwin installing 02


Step 4:
次に、どのディレクトリ/フォルダにCygwinをインストールするかを聞かれるので、特にこだわりがなければ、デフォルト選択肢のまま「次へ」をクリックし、インストールをさらに進めます。

Cygwin installing 03


Step 5:
次に、どのディレクトリ/フォルダにCygwinでつかうパッケージをダウンロードするかを聞かれるので、特にこだわりがなければ、デフォルト選択肢のまま「次へ」をクリックし、インストールをさらに進めます。

Cygwin installing 04


Step 6:
次に、インターネットへどのように接続するかを聴かれますが、デフォルト選択肢のまま「次へ」をクリックし、インストールをさらに進めます。

Cygwin installing 05


Step 7:
次に、どのサイトからダウンロードするかを聞かれます。国内でインストールする場合は、国内のサイト(.jpで終わるもの)からダウンロードするとダウンロードが早く終わると予想されます。下記画像では"http://ftp.jaist.ac.jp"からダウンロードしています。

Cygwin installing 06


Step 8:
次に、どのパッケージ(コンパイラやその他のソフト等)をインストールするかを選んでいきます。まず、下の図の赤線で囲われた箇所の"View"の欄の"Category"をクリックし、"Full"に変更します。

Cygwin installing 07


Step 9:
次に、どのパッケージ(コンパイラやその他のソフト等)をインストールするかを選んでいきます。まず、下の図の赤線で囲われた箇所の"View"の欄の"Category"をクリックし、"Full"に変更します。

Cygwin installing 07


Step 10:
次に、どのパッケージを選んでいきます。ここでは、diffutils, gcc-core, gcc-g++, gcc-fortran, gnuplot-base, gnuplot-X11, emacs-w32, ImageMagick, python39, python39-pip, python39-numpy, python39-matplotlibの12個のパッケージをデフォルトのパッケージに追加してインストールしていきます。まず、下図の赤線の部分のsearchにそれぞれのパッケージの名前を入れ、パッケージを検索します。次に、検索により見つかったパッケージのNewの欄(下図の青線で囲まれた部分)をクリックして、パッケージのバージョンを選びます。特にこだわりが無ければ、安定版(非test版)で最新のものを選びましょう。尚、"Skip"はインストールを行わないことを意味しており、初めから"Skip"以外のバージョンが指定されている場合は、そのままにしておきましょう。上記の全てのパッケージについてパッケージの選択が終わったら、右下にある「次へ」をクリックしてファイルのダウンロードを進めます。また、ここで追加し忘れてしまったパッケージや新しく使いたいパッケージがあとから出てきた場合は、ここで用いているインストーラを使って、ここまでと同様の手順を踏むことで、既にインストールされているCygwinにパッケージを追加することが出来ます。

Cygwin installing 08


Step 11:
下図のように、どのパッケージをインストールするか確認をされるので、問題なければ「次へ」をクリックしてインストールを続けます。

Cygwin installing 09


Step 12:
インターネットを経由してファイルのダウンロードとインストールが始まります。ダウンロード・インストールにはしばらく時間がかかることがあり、15分から30分程度かかる事もあるようです。この解説ページを作っている際の環境では、この工程に5分程度の時間がかかりました

Cygwin installing 10


Step 13:
インストールが終わると、下記のような報告が出ますので、そのまま「完了」をクリックし、インストールを完了してください。

Cygwin installing 11


Step 14:
最後に、Cygwinに正しくFortranがインストールされたかを確認して、環境構築を終了します。先ほどの工程でデスクトップ画面に作られたCygwinのショートカットからCygwinを起動します。起動したCygwin上で、下記の画像のように"gfortran"または"gfortran.exe"を入力し、Enterキーを押します。すると

gfortran: fatal error: no input files
compilation terminated.
というようなエラーメッセージが出力されます。このようなメッセージが出力されれば、正常にFortranコンパイラがインストールされていますので、環境構築作業は終わりです。

Check Fortran installation


2. Fortranプログラムの実行

Step 1:
ここでは上記で準備されたCygwin上で、簡単なFortranのプログラムを書いて実行してみます。まず、Cygwinを立ち上げ、下の画像のようにコマンドpwdを入力しEnterキーを押してみます。すると、今、ターミナルが開かれているディレクトリ/フォルダの場所・名前が表示されます。下の画像では、ターミナルが/home/shunsというディレクトリで開かれていることが示されています。 Fortran 01




Step 2:
次に、ターミナル上でコマンドlsを打ってみます。このコマンドは、現在ターミナルが開かれているディレクトリの中にあるファイル・ディレクトリの名前のリストを出力するコマンドです。Cygwinをインストールした直後の場合、ユーザーのディレクトリが空になっているので、下の画像のように何も出力が表示されないかもしれません。 Fortran 02




Step 3:
次に、エディター(ファイル編集ソフト)を使って、Fortranの簡単なプログラムを書いてみます。ここでは、上記のcygwinのインストールの際に一緒にインストールしたemacsというエディタを使ってみます。下の画像のように、ターミナル上でemacs hello.f90と入力しEnterキーを押すと、emacsエディタでhello.f90という名前のファイルを開き編集を行うことが出来るようになります。ここでは、さらに次のようなコードをファイルに書き込み、プログラムを保存してemacsを閉じます。

program main
  write(*,*)'Hello world!!'
end program
Fortran 03




Step 4:
上記の作業でemacsエディタによりhello.f90というFortranのプログラムを作成したので、再びターミナル上でlsコマンドを実行し、hello.f90ファイルが作られているかを確認します。下の画像では、lsコマンドによって、ファイルhello.f90が新しく作られていることを確認しています。 Fortran 04




Step 5:
次に、Fortranのコードhello.f90からコンピュータが実行可能な実行ファイルを作る作業を行います。この作業はコンパイルと呼ばれ、次のようなコマンドをターミナル上で打ち込むことにより実行できます。

gfortran hello.f90 -o hello
このコマンドにより、Fortranのソースファイルhello.f90がコンパイルされ、実行ファイルhello.exeが作成されます。実行ファイルが作成されたか、再びlsコマンドを使って確認してみましょう。 Fortran 05




Step 6:
最後に、作成された実行ファイルhello.exeを実際に実行してみます。ファイルを実行するために、下記のコマンドをターミナル上で打ち込んでみます。

./hello.exe
すると、画面上に"Hello world!!"という文字列が出力されます。これは、先ほど作成したプログラムによって出力された文字列です。さらにFortran言語を使ったプログラミングについて学びたい方は、筑波大学原子核理論研究室の数値計算のページをご覧ください。 Fortran 06




3. Pythonプログラムの実行

Step 1:
ここでは上記で準備されたCygwin上で、簡単なPythonのプログラムを書いて実行してみます。上記のFortranプログラムの実行と同じ要領で、hello.pyという名前のファイルに次のような内容を保存します。

printf('Hello world!!')



Step 2:
Fortranのコードhello.f90の場合とは異なり、明示的なコンパイルを行わずにPythonのコードを直接実行します。ここで作成したPythonプログラムは次のようなコマンドをターミナル上で打ち込むことにより実行できます。

python hello.py
すると、画面上に"Hello world!!"という文字列が出力されます。文字が出力されていれば、Pythonは正常にインストールされています。




4. gnuplotによる数値計算結果可視化環境の構築

Step 1:
ここでは上記で準備されたCygwin上で、gnuplot(http://www.gnuplot.info/)を用いて数値計算結果をグラフにして可視化するための環境を構築します。上記のCygwinインストール時にgnuplotも同時にインストールされているので、Cygwin上で"gnuplot"と入力しEnterキーを押すことで、下図のようにgnuplotを起動することが出来ます。 Gnuplot preparation 01




Step 2:
次に、起動したgnuplotで三角関数のグラフを描画することを試みます。起動したgnuplotのコマンドライン(下記画像の"gnuplot >"の箇所)に次のようなコマンドを入力し、Enterキーを押します。

gnuplot> plot sin(x) with line
これは、三角関数(sin(x))の線を描画する命令ですが、下図のようなエラーメッセージが出力され、グラフの描画に失敗してしまいます。
gnuplot: unable to open display 'localhost:0.0'
gnuplot: X11 aborted.
これは、Cygwin側での描画命令を受けてパソコン上で画像を表示するソフトが動いていないことによるエラーです。この問題を解決するために、Xming (http://www.straightrunning.com/XmingNotes/)をインストールします。Xmingのダウンロードサイトから下図赤線のようなダウンロードボタンからXmingのインストーラーをダウンロードします。 Xming install 01




Step 3:
上記のステップでダウンロードしたインストーラを起動し、Xmingのインストールを進めていきます。基本的にデフォルトの選択肢を選んでいけば問題ありませんが、下図のように「インストールした後にデスクトップにXmingのショートカットを作るか」を聞かれますので、"Create a desktop icon for Xming"の箇所にチェックを入れてショートカットを作っておくと、後々便利です。 Xming install 02




Step 4:
Xmingのインストールが終了すると、自動的にXmingが起動します。Xmingが起動している場合、下図の右下のようにXmingのアイコンが表示されます。XmingはPCの起動と同時には立ち上がらないので、Cygwinでgnuplotを使う際には自分でXmingを起動する必要があります。その場合は、このインストールの過程で作成されたデスクトップ上のXmingのショートカットから起動するか、WindowsのスタートアップにXmingを登録して自動でPC立ち上げ時に自動で起動するようにしておきましょう。 Xming install 03




Step 5:
最後に、Cygwinを起動し、ホームディレクトリ(立ち上げたにいるディレクトリ)にある.bashrcファイルに下記の行を追記して、再度Cygwinを再起動します。

export DISPLAY=localhost:0.0
これにより、Xmingを通じてディスプレイ上にグラフが描画されるようになります。尚、Cygwinを再起動する代わりに、Cygwin上で
source .bashrc
を実行することで、更新した".bashrc"ファイルを再読み込みすることで設定を更新することもできます。




Step 6:
gnuplotでの描画環境が正しく設定されたか確認するために、上記のstep 1とstep 2を再度行ってみましょう。正しく環境が設定されて入れば、下図のようにgnuplotによって三角関数が画面上に描画されます。正しく画像が描画されれば、gnuplotを使った数値計算可視化環境の構築は終了です。 Gnuplot check 01