Windows PCでSeismic Un*xを使う方法(新)

2022.10.06 修正・追記
2023.04.19 修正・追記
2023.09.26 修正・追記

Windows 10ではWindows Subsystem for Linux(以下WSL)が利用できる。 詳しくは、 Windows Subsystem for Linux に関するドキュメント (Microsoft) を参照のこと。

VirtualBox + Linux は、「1台のPCでWindowsとLinuxの2台のマシンの画面を切り替えて使う」感じであった。 WSLは Windowsを主に使いながら、Linuxも同時に使うという感じの使い方が便利である(もちろん、フルに Linuxマシンとして使用してもよい)。また、十分高速である。 そこで、Seismic Un*xに限らず

Windows PC上でSeismic Un*xを使う「これまでのところ最も簡単かつ本格的な」方法

  1. Linux環境の構築
    1. WSLのセットアップ
    2. Linux (Debian)のインストール
  2. Seismic Un*xのインストール
  3. (おまけ)WINのインストール


WSLのセットアップ

WSL(とLinux)のセットアップは非常に簡単になった。例えば以下のサイトに詳しい説明がある。Powershellからコマンドを1行実行するだけでディストリビューションのインストールまでできる。 そのほかインターネット上にたくさんの解説があるので、これらを参照しながらセットアップを行えばよい。

基本的に、管理者モードでPowerShellを起動して、

PS> wsl --install
  
ディストリビューションを指定するなら
PS> wsl --install -d Debian
  
でよい。


以下、古くなったかもしれない。 スキップしてよい。

ここから
WSL(とLinux)のセットアップについては、例えば以下のサイトに詳しい説明がある。

そのほかインターネット上にたくさんの解説があるので、これらを参照しながらセットアップを行う。ただし、古い記述や詳しすぎたり不要な記述もある。 下記は必要にして最低限のメモ。
  1. コントロールパネル > プログラムと機能 > Windowsの機能の有効化または無効化 をチェック。
  2. カーネルコンポーネントの更新
  3. PowerShell を管理者として実行し、
    PS> wsl --set-default-version 2
      
    でWSL2に更新する。これだけでOK。

Linux (Debian) のインストール

各種のディストリビューションを使用できるので、好みのものをインストールする。 Ubuntuが最も人気だが、 私はDebianを使用している。 ここまで


Windows用 X server のインストール(なければ)

例えば、 ここでは VcXsrv を使う。ダウンロードしてインストール。

X server (VcXsrv) のメモ

XLaunch で起動する。"Extra settings"で、
Disable access control
Use this when you want vcxsrv to accept connections from all clients.
のところをチェックすること。
※ "Save configuration"で設定を保存して、スタートアップに登録し、Windowsと共に自動起動するようにしておくと便利。

Xの接続先を指定するために、 ~/.bashrcに下記を記載しておく。

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0
  

WSLへのssh接続

WSLの端末を使用する(さらにそこから好みの端末を起動してもよい)ことで十分であるが、Window側からPuTTY等の端末ソフトを使用して WSL にssh接続して使用することもできる(ネットワークで別のマシンに接続するような感じで)。

接続先は、IPアドレス 127.0.0.1 (ループバックアドレス)、またはホスト名 localhost 。

※ WSLは各種サービスの起動を自動で行わないので、あらかじめWSLの端末で

$ sudo /etc/init.d/ssh start
を実行して sshd を開始する。
(2022年9月以降WSLがsystemdに対応したとのこと)。

X11転送を有効にしてXを使えるようにしておく。鍵認証の設定をしておくと便利。

チェック

ここまでの設定で、
$ xeyes &
して表示ができればOK。

表示できないときは、以下を確認する。
設定 > 更新とセキュリティ > Windows セキュリティ > ファイアウォールとネットワーク保護 > ファイアウォールによるアプリケーションの許可
VcXsrv windows xserver
プライベート パブリック 共にチェックが入っているか。パブリックにチェックが入っていなければ入れる。


WindowsとLinux相互のファイルへのアクセス

WindowsからWSLのファイルにアクセスするには、 例えば、スタートメニュー > ファイル名を指定して実行 から
\\WSL$
を検索するとエクスプローラで、デストリビューション名のフォルダ以下のLinuxのファイルにアクセスできる。 「ネットワークドライブの割り当て」をしておくのも一案。

WSLからは Windowsのファイルは、

df
すればわかるように、それぞれ、
C:\ は /mnt/c
D:\ は /mnt/d
などのようにマウントされている。WSL側からも簡単にアクセスできる。シンボリックリンクを張っておくのもよい。


Seismic Un*xのインストール

追加が必要なパッケージ

インストール

GitHubのSeisUnixから入手してもよい。

便利のためここに置いたソースcwp_su_all_version.tgzをダウンロードする。

インストールは通常通り、
$ sudo mkdir /usr/local/cwp
$ sudo chown myusername /usr/local/cwp ※1
$ export CWPROOT=/usr/local/cwp
$ cd $CWPROOT
$ tar -zxvf /path/to/downloaded/sufile/cwp_su_all_version.tgz 
$ cd src
※1 rootのままでもよい(あとでいちいち sudo するのが面倒なのでこうしている)。

$CWPROOT/src/Makefile.config を環境に合わせて編集するか、 $CWPROOT/src/config/Makefile.config_Linux.****(自身の環境で選択)をコピーして使用する。 編集の必要がなくデフォルト通りでよいこともある。

$ make install
$ make xtinstall
~/.bashrcを編集し以下の環境変数を設定・追加する。
export CWPROOT=/usr/local/cwp
export PATH=$CWPROOT/bin:$PATH
これでOK。 (FortranやMotif, OpenGLのコードを使用するならそれぞれ別途設定する)


(おまけ)WINのインストール

WINのサイトからソースをダウンロードする。
WIN_pkg-version.tar.gz (2010.12現在 version=1.2.8)
インストールは通常通り、
$ sudo mkdir /usr/local/win
$ sudo chown myusername /usr/local/win
$ cd /path/to/download/file
$ tar -zxvf WIN_pkg-version.tar.gz .
$ cd WIN_pkg-version
$ ./configure --prefix=/usr/local/win
$ make
$ make install
~/.bashrcを編集し以下の環境変数を設定・追加する。
export PATH=/usr/local/win/bin:$PATH
これでOK。


[Back]
Toshiki Watanabe, RCSVDM, Nagoya University.
Last modified: Wed Apr 19 11:13:23 JST 2023