p4vaspをWSLにインストールする方法


イントロ

お疲れさまです。橋本です。

第一原理計算パッケージVASPの結果を解析するオフィシャルなソフトは「Model A」と「p4vasp」の2種類あります。

「Model A」はvasp購入のオプション?のようで、シェアウェアとなっております。「p4vasp」は無料で公開されており、ソースコードも公開されているので結果解析の仕組みを見ることもできます。

しかしながら有料の「Model A」があるのでバージョンアップは滞っており、依存するパッケージが自動で入手しづらい現状になっております。そもそも、使える機能が少ないため、p4vaspを使用せずにVASPの出力ファイルを見た方が都合が良いと思います。そんあ状況であえて「p4vasp」を使用するメリットがあるとすればその手頃さです。

本記事はそんな手頃さを落とさないよう、WSLを介し、Windowsにインストールする方法を紹介します。

WSLのインストール

コントロールパネル→windows機能の有効化から「仮想マシンプラットフォーム」,「Linux用Windowsサブシステム」(「Windows Subsystem for Linux」)をインストールします.

wsl2へバージョンを変更します.
管理者権限のコマンドプロンプトでwsl --set-default-version 2を打ち込み, デフォルトを設定します.
(コマンドプロンプトさんから、あるリンクに赴いてインストールせよと言われたらそのとおりにします。)

設定→更新とセキュリティ→Windows Update→詳細オプション→Windwwsの更新時に他のMicrosoft製品の更新を受け取るを有効にします。
更新プログラムを確認し、オプションの更新プログラムがないか確認します。

「Ubuntu-20.04 LTS」をストアからインストールします. また,エクスプローラーのパスに\\wsl$を入れるとwslのファイルに飛ぶ事ができます.

インストールが完了しらた起動します。

インストールのように任意のユーザー名とパスワードが求められます。入力ができたらインストールは完了です。

p4vaspのインストール

まずはパッケージの更新から

sudo apt-get update && upgrade

を順番に実行します。

ビルドツールのインストール

sudo apt-get install make build-essential g++ gfortran

python2.7をインストールします。

sudo apt-get install python2.7

そしてpythonとCの連携を導入します。

sudo apt-get install python2-dev

また、ここで「いろいろなパッケージが低いバージョンを要求していますよ」的なメッセージが表示されたら、エラーに従い

sudo apt --fix-broken install

を実行します。

GUIを表示するx11をインストールします

sudo apt install x11-apps x11-utils x11-xserver-utils dbus-x11

p4vaspのウィンドウを動かすウィジェットをインストールします。
http://archive.ubuntu.com/ubuntu/pool/universe/p/pygtk/ 」から「python-glade2_2.24.0-5.1ubuntu2_amd64.deb」と「python-gtk2_2.24.0-5.1ubuntu2_amd64.deb」をダウンロードします。※バージョンは変わりゆくものなので留意ください。

ダウンロードしたら、エクスプローラーのパスに\\wsl$を入れ、「\wsl$\Ubuntu-20.04\home\ユーザー名」の中にダウンロードしたファイルをコピーします。
wslで以下のコマンドを順番に実行し、ウィジェットをインストールします。

sudo dpkg -i python-gtk2_2.24.0-5.1ubuntu2_amd64.deb
sudo dpkg -i python-glade2_2.24.0-5.1ubuntu2_amd64.deb

ここでパッケージを要求されたら素直に従いましょう。私のときはglade2をインストール時に「sudo apt-get install libglade2-0」を要求されました。

p4vの要求する細々したものをインストールします。

sudo apt-get install libxft-dev
sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev

p4vaspのインストールに入ります。公式「http://www.p4vasp.at/#/download 」からダウンロードし、エクスプローラーで「\wsl$\Ubuntu-20.04\home\ユーザー名」にコピーします。
コピーできたら解凍し、ディレクトリに入ります。

tar -xvzf p4vasp-0.3.30.tgz
cd p4vasp-0.3.30

まだ要求するパッケージがあるそうなので、インストールします。

bash install/install-ubuntu-dependencies.sh

コマンドの最後が「E: Unable to locate package python-epydoc」というエラーで終わりますが放置で問題ありません。

最後にインストールして完了です。

bash install.sh

起動の設定

GUIを使用するので「x-window」を使用するわけですが、インストール等が手間ですので、簡単なソフトを使用します。(そのうち組み込まれるそうです。)

使用ソフトはMobaXTerm「https://mobaxterm.mobatek.net/ 」です。ダウンロードし、windows上で解凍して使用します。

解凍すればすでに「WSL-Ubuntu」があるはずなので起動します。
起動すればIPアドレスとポート番号が表示されていると思います。それを「\wsl$\Ubuntu-20.04\home\ユーザー名.bashrc」の末尾にexport DISPLAY=IPアドレス:ポートと追記します。

さらに、MobaXtermのSettingsアイコンをクリックし、X11のタブへ。そして「X11 remote access」を「full」に選びます。

p4vaspの起動

MobaXtermの「WSL-Ubuntu」を選択し、p4vのコマンドで起動します。

「\wsl$\Ubuntu-20.04\home\ユーザー名\」にVASPの出力ファイルをコピーすればDOS等を手頃に書く事ができます。