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

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

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
  
好みのディストリビューションを指定するなら(例:Debian)
PS> wsl --install -d Debian
  
でよい。 Ubuntuが最も人気で、おそらくデフォルトでUbuntuがインストールされるが、 私はDebianを使用している。


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

ここから

WSL(とLinux)のセットアップについては、例えば以下のサイトに詳しい説明がある。 そのほかインターネット上にたくさんの解説があるので、これらを参照しながらセットアップを行う。ただし、古い記述や詳しすぎたり不要な記述もある。 下記は必要にして最低限のメモ。
  1. コントロールパネル > プログラムと機能 > Windowsの機能の有効化または無効化
    • Linux用Windowsサブシステム
    • 仮想マシンプラットフォーム
    をチェック。
  2. カーネルコンポーネントの更新
    • ここからx64マシン用カーネル更新パッケージをダウンロードしインストール。
  3. PowerShell を管理者として実行し、
    PS> wsl --set-default-version 2
      
    でWSL2に更新する。これだけでOK。

Linux (Debian) のインストール

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


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

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

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の接続先を指定するために、WSLの端末から ~/.bashrcに下記の記載を追加しておく。

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

WSLへのssh接続

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

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

※ WSLは各種サービスの起動を自動で行わないので、PSを起動するごとに、WSLの端末で

$ sudo /etc/init.d/ssh start
を実行して sshd を開始する。
(2022年9月以降WSLがsystemdに対応した。設定が必要なら方法は調べればわかる。)

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

チェック

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

表示できないときは、Windowsの以下の設定を確認する。
設定 > プライバシーとセキュリティ > 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       ※1
$ sudo chown myusername /usr/local/cwp ※2
$ export CWPROOT=/usr/local/cwp
$ cd $CWPROOT
$ tar -zxvf /path/to/downloaded/sufile/cwp_su_all_version.tgz 
$ cd src
※1 インストール場所は任意でよい(自分のホームディレクトリ以下にインストールするのであれば sudo は不用)。
※2 rootの所有のままでもよい(あとで何かするときにいちいち sudo しなくてもよいのでこうしている)。

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

$ mv Makefile.config Makefile.config.org
$ cp config/Makefile.config_Linux.**** Makefile.config
プログラム群をコンパイル、インストールする。
$ 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 (2021.01現在 version=3.0.11)
インストールは通常通り、
$ 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 Oct 16 15:59:22 JST 2024