リンダの日記

長考する人のブログ。

Windows terminal でのWSL2まわりの整備備忘録 【2021.5.1】

 

去年の10月にWindows10のWSLをWSL2にアップデートしました。

 

その後、Windows terminalのリリースを知り(見た目かっこいい)、windows terminalからwslコマンドを打ってwslを起動する生活を続けていました。

 

しかしながら毎回wslコマンド打つのだるかったり、初期ディレクトリが変だから毎回cdコマンド打たなかんくなってました。

 

今回時間がちょっとできたので調べたところ、改善策がありました。

下のウェブサイトを参考に、デフォルトアプリをWSLにしたり、初期ディレクトリを変更したり、カラースキームを変更したり。

dev.classmethod.jp

 

ざっくり備忘録ですが、今日はこの辺で。

 

ハットリ

 

 

【FORTRAN77】INCLUDE文がある場合の複数ファイルのコンパイル(ちょっとした罠)

FORTRAN77にて、lnclude文で参照するファイルはコンパイル時に指定してはいけない。

インクルードするファイルをa.for、インクルードされるファイルをb.forとすると、

gfortran a.for b.for

とすると、b.forの方でunexpected end of fileのエラーが出る。(インクルードされるb.forにはprogram〜end programのブロックがないため)

正しくは

gfortran a.for

とするとコンパイルできる。

確かにC++とかでも.hファイルはコンパイルしないもんね。それと一緒だ。

【WSL2】Xserverを入れてgnuplotまで

wsl(Ubuntu20.4)でgnuplotできたのでメモ。

 

1. VcXsrvというXサーバーをインストール。

2. 実行ファイル(xlanch.exe)を実行し、最後のSave Configurationでデスクトップに設定ファイルを保存。

3. 完了を押して実行ファイルを終了

4. windowsキー+r を押しshell:startupと検索。

5. スタートアップというフォルダが開くので先ほどの設定ファイルを貼り付け

6. wsl側の.bashrcに以下を追記。

 

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

7. sudo apt install gnuplotgnuplotのインストール

8. めでたしめでたし

 

<参考サイト>

gnuplotをwslで使用する方法 - Qiita

WSL2におけるVcXsrvの設定 - Qiita

 

 

【WSL2のフォント改善とバグFix】快適WSL2環境を目指して

f:id:koji323:20201016181139j:plain

 

前回インストールしたのに引き続き、WSLの環境を整えていく。

onenne.hatenablog.jp

 

フォントをかっこよくする(Ubuntu nano)

デフォルトのフォントがひどいので新たにインストール。WindowsにインストールしたものをWSLプロンプトのプロパティから設定できる。

【Windows10】WSL2のインストールとフォント設定 - Qiitaを参考にUbuntu nanoをインストール。

 

カラースキームについては最近改善されたみたいなのでデフォルトでもまあまきれい。私はそのままで使用。

Vimだとフォントが変わる問題の解決

上記手順でコマンドラインのフォントはかっこよくなるが、Vimを起動するとおぞましいMSゴシックが現れてくる。萎え萎えの萎え。

仕様?バグ?ようわからんが直すしかない。

Vim上でset guifontなどをしても意味がないらしいので下記サイトを参考にレジストリを追加。(なんでうまくいくかは私よくわかっておりませぬ)

Fix WSL Vim Font Issue on Windows 10 - Articles

するとあらびっくり、Vimを開いてもフォントはもとのまま!

 

 

 

それではよきWSlライフを。

 

 

【WSL2のインストール】Windows-Linuxデュアルブートを卒業しよう

f:id:koji323:20201016181139j:plain


気が付いたらwsl2というものがリリースされていた。

docs.microsoft.com

 

 

GPU、CUDA、dockerがサポートされるようになった。GUIも2021年にはサポートされるらしい。いよいよwindowsで全部済ませられるようになるんじゃないかということでWSL2の導入。

 

WSL2のインストール

すでにWSL1でUbuntuがインストールされている状態で進めていく。

www.pc-koubou.jp

 

こちらのサイトを参照。

Windowsの機能の有効化または無効化

まずコントロールパネル>プログラムと機能>Windowsの機能の有効化または無効化LinuxWindowsサブシステム』と『仮想マシン プラットフォーム』の二つにチェックを入れる。前者はすでにチェックがついていたので後者にチェックをつけて促されるように再起動。

 

PowerShellで以下のコマンドを実行。

>wsl -–set-default-version 2

(setの前のハイフンは二つ、versionの前にスペース1つ。)

 

実行したら以下のコメント。

WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。詳細については https://aka.ms/wsl2kernel を参照してください
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください

カーネルパッケージのダウンロード、インストール

https://aka.ms/wsl2kernelにアクセスし、

Linux カーネル更新プログラム パッケージをダウンロードする>最新の WSL2 Linux カーネル更新プログラム パッケージをダウンロード

からパッケージをダウンロード。その後ダウンロードしたファイルを実行しインストール完了。

④WSL2が動いているか確認

Ubuntuをもともと入れてなかった人はこのタイミングでMicrosoft Storeからインストール。PowerShellで次のコマンドを実行。

>wsl -l -v

NAME STATE VERSION
* Ubuntu Running 1 
 

Ubuntuをもともと入れていたのでVersion1で動いていることがわかった。次のコマンドで

>wsl --set-version Ubuntu 2

WSL2に切り替え。

>wsl -l -v 

NAME STATE VERSION
* Ubuntu Stopped 2 

WSL2が動いていることが確認’できたので作業終わり。

お疲れさまでした。

 

 

Ubuntu16.04にCUDA9.2をインストールする

どうも。ハットリです。

研究でDualSPHysicsを使うためCUDA9.2をUbuntu16.04にインストールしたので備忘録です。

さっくと書いてますがここまで来るまでにかなりはまっています。

この記事をみたあなたにご武運あれ...

インストール要件

CUDA 9.x は compute capability 3.0以上 が必要です。

compute capabilityについては nvidiaの公式サイト で確認

7,8年くらい前のGPUじゃなければ入ると思います。

残骸を消す

sudo apt purge cuda* 
sudo apt purge nvidia*
sudo apt autoremove
sudo apt clean

nvidia-driver, cudaあたりは関連パッケージも依存関係とかで結構ぐちゃぐちゃになるので大事。

CUDA9.2 のインストール(ついでにnvidia-driver)

$ wget developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.2.148-1_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu1604_9.2.148-1_amd64.deb
$ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
$ sudo apt-get update
$ sudo apt-get install cuda-9-2

cuda-9-2のインストールと一緒にnvidia-driver,cuda-toolkitとかの依存パッケージをいい感じにインストールしてくれました。再現性は分かりません。

nvidia-driverだけ$ubuntu-drivers devicesで最適なものを調べて先にインストールしておくというやり方もいいと思います。

PATH通す

~/.bashrcに以下を追記。

export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"

その後
source ~/.bashrc
で変更を適用。

再起動

ちなみにnvidia-driverですがBIOSでsucure bootがオンになっていると動きません。ぼくは ここではまりました

secure bootをオフにして再起動したらnvidia-smiとかでnvidia-driverが認識されていることを確認しましょう。

CUDAのサンプル(おまけ)

cudaをインストールしたらついてくるサンプルで動作確認しましょう。

cuda-install-samples-9.2.sh ~ # ホームディレクトリにサンプルコードを展開。
cd ~/NVIDIA_CUDA-9.2_Samples/
make #ビルド結構時間かかります
cd bin/x86_64/linux/release   # サンプルの実行ファイルがあるディレクトリに移動。
./volumeRender  #適当なサンプルを実行。


びっくりするくらいサンプル色々あります。
普通にカッコよくてGPU感あって感動した。

参考

https://symfoware.blog.fc2.com/blog-entry-2394.html