バイオインフォマティクスで使用するソフトウェア群はUnix系OS上で動作するよう開発されたものが多い. LinuxやmacOSはUnix系OSであり、これらのソフトウェアを直接実行することができる. 一方、WindowsはUnix系OSではなく、これらのソフトウェアを実行することができない. ソフトウェアの中にはWindows上で動作するよう作りなおされているものも存在するが、その数は多いとは言えない. この問題は、WindowsにLinuxの実行環境であるWindows Subsystem for Linux (WSL) を導入することで対処することができる.
Mac利用者もソフトウェアの導入・利用に際し、注意が必要である. 旧式のインテル製のx86_64プロセッサに代わり、最近ARM Apple silicon (M1/M2/M3) が導入された. M1/M2/M3 Macに非対応のソフトウェアが少なからず存在するため、M1/M2/M3 Mac利用者はx86_64専用ソフトウェアをRosetta2という翻訳ソフトウェアを介して利用することになるかもしれない.
本章ではWindows利用者に対して、WSL2の導入とそれに関連する諸設定の手順を示す. Mac利用者に対して、Rosseta2の導入とそれに関連する諸準備の手順を示す.
WSL1/2のインストール
Windows上で動作するLinuxの実行環境であるWindows Subsystem for Linux (WSL)2をインストールする. Windows10 バージョン2004 ビルド19041未満の場合にはWSL2のインストール要件を満たしていないため、旧式のWSL1をインストールすることになる. Windowsのバージョン確認および更新は以下のようにする.
- バージョン確認
- WINロゴ + rと打鍵
- winverと入力しVersionを確認
- バージョン更新(必要に応じて)
- スタート
- 設定
- Windows Update
- 更新プログラムの確認
WSL2のインストール
Windows10 バージョン2004 ビルド19041以降またはWindows11の場合
- WINロゴ + r と打鍵
- powershell と入力
- Ctrl-Shift-Enter とし管理者としてPowershellを起動
- wsl -l -oと入力して, Linux distribution nameの一覧確認
- wsl --install -d distribution_name (distribution_nameの箇所にはUbuntu-22.04と入力)
- Enter new UNIX username:と訊かれるので任意のユーザー名を入力.
- New Password:と訊かれるのでパスワードを入力 (画面表示はされない).
- Retype new Password:と訊かれるので再度入力.
WSL1のインストール
WSL2のインストール要件に満たない場合
- WINロゴ + r と打鍵.
- control と入力しEnter
- プログラム
- プログラムと機能
- Windowsの機能の有効化・無効化
- Linux用Windowsサブシステムにチェックを追加
- 再起動
- Microsoft storeアプリからUbuntu 22.04LTSをインストール
- Enter new UNIX username:と訊かれるので任意のユーザー名を入力
- New Password:と訊かれるのでパスワードを入力 (画面表示はされない).
- Retype new Password:と訊かれるので再度入力.
インストール後の諸設定
WindowsからLinuxファイルにアクセスするための設定
- 端末上でexplorer.exe ~/..と打鍵し、Windows Explorerを起動.
- 前項で指定したusernameのフォルダーを選択した状態で右クリック
- クイックアクセスにピン留めする
Windows Terminalの導入・設定
- Windows StoreからWindows Terminalをダウンロード.
- 設定/スタートアップ/既定のプロファイルからUbuntu22.04を選択.
- 設定/スタートアップ/既定のターミナルアプリケーションソフトをWindowsターミナルに変更.
日本語表示対応
- アプリの一覧などから新たにインストールしたUbuntuを見つけ、クリック
- sudo apt update
- Passwordを求められるので入力
- sudo apt upgrade -y
- sudo apt autoremove -y
- sudo apt install language-pack-ja
- sudo update-locale LANG=ja_JP.UTF8
- exit
- 再度Ubuntuを起動して、日本語表示可能か確認. 駄目なら以下に進む.
- 端末上で右クリック
- プロパティ
- フォント
- MSゴシックなどの日本語表示可能なフォントを選択.
Xサーバーシステムの導入
Xサーバーシステムを導入する.
- sudo apt install -y x11-apps
- xeyesと打鍵. 目のマークが表示されればOK. 表示されない場合のみ以下に進む.
- VcXsrvをSOURCEFORGEからダウンロード/インストール
- export DISPLAY="$(awk '$1~/name/' {print $2} /etc/resolve.conf')":0を~/.Profileに記載/再読込
- XLaunchを起動/Multiple Windows/Start no Client/Extra sttings:全てにチェック
- 再度xeyesと打鍵して目のマークが表示されるか確認.
WSLg環境で動作するGUIソフトウェアを日本語表示に対応させるためには 上述作業を行い、日本語入力に対応させるためにはFcitxとMozcを導入し、~/.profile等に設定を記述する.
$ sudo apt install -y fcitx-mozc dbus-x11
# 日本語入力設定 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx export DefaultIMModule=fcitx if [ $SHLVL = 1 ] ; then (fcitx-autostart > /dev/null 2>&1 &) xset -r 49 > /dev/null 2>&1 fi
メモリ・ディスク使用量の設定
VMmemプロセスの制御
VMmemプロセスは仮想マシンが消費するCPUやメモリリソースを表示するための仮想的なプロセスである. このプロセスによって消費されるリソースの上限を制限するためには %USERPROFILE%(="C:\Users\USERNAME")に.wslconfigファイルに以下のように(この例ではメモリ上限を12GBに制限)記述後、WSL2を再起動する.
[wsl2] memory=12GB
参考文献:
- Advanced settings configuration in WSL
- What is this vmmem program that is using up all my CPU and memory?
VHD領域の割当て変更
インストールされたLinux distributionは仮想ハードディスク(VHD)に格納され、ext4をファイルシステムとして使用しており、Windowsハードドライブではext4.vhdxとして表される.VHDファイルに割り当てられているdisk容量は以下の手順で変更可能である.
- 管理者としてPowershellを起動
- wsl --shutdown
- diskpart
- select vdisk file="C:\Users\USERNAME\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx" # 一例
- detail vdisk # 現在の割り当て容量確認
- expand vdisk maximum=512000 # 500GB (500X1024)に変更する場合
- Ctrl-cでDISKPARTからPowershellに復帰
- wslと打鍵しWSL2を起動
- WSL2上で sudo resize2fs /dev/sdc 500Gと打鍵
(補足) "C:\Users\USERNAME\AppData"までのパスはWINロゴ + r と打鍵し、%appdata%と入力すれば見つかる.
参考文献: How to manage WSL disk space
VHD最適化
- 管理者としてPowershellを起動
- wsl --shutdown
- diskpart
- select vdisk file="C:\Users\USERNAME\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx" # 一例
- attach vdisk readonly # 必要なら、この前に detach vdisk
- compact vdisk
- detach vdisk
- Ctrl-cでDISKPARTからPowershellに復帰
- wslと打鍵しWSL2を起動
Rosetta2の導入 (M1/M2/M3 Mac user)
ARM Apple silicon (M1/M2/M3) Macが最近開発されたが、現状では利用できるソフトウェアの種類が制限されるため、Apple silicon Mac利用者はRosetta2の使用を検討する必要があるかも知れない. Rosetta2はmacOS Big Surから同梱され始めているもので、 x86_64プロセッサ (= Intelプロセッサと考えてよい)専用にコンパイルされたソフトウェアをApple silicon上で実行できるようにするためのバイナリ変換を行う. Rosetta2はx86_64プロセッサ専用ソフトウェアを起動時、Rosetta2がまだインストールされていなければ自動的にインストールのためのプロンプトを表示するのでinstallをクリックすればインストールが完了する. x86_64プロセッサ専用ソフトウェアを起動すると自動的にバックグラウンドで動作するため、ユーザ介入を必要としない.
Rosetta2を使用してx86_64プログラムを実行するための専用端末を以下の手順に従って準備しておき、今後このエミュレート端末を利用すると便利であるかもしれない.
- application/utility配下にあるterminalを複製
- 右クリック/情報を見る/Rosettaを使用して開くにcheckを入れる.
参考文献: