物理の駅 by onsanai

Physics-station 研究で日々感じたことを忘れないための備忘録

Windows Subsystem for Linux (WSL) でCERN ROOTバージョン6を動かすまで

この解説は、Linux PCやMac PCがなく、かつLinuxの仮想環境を動かせない人、UpdateされたWindows 10を持っている人、ROOT6を使いたい人向けのものです。

ROOT講習会2019用に加筆修正しました。

Ubuntu 18.04 LTSのインストール

WindowsUbuntuをインストールする。解説は英語しかないが、頑張ってインストールする。

docs.microsoft.com

管理者のPowerShellでコマンドを実行する

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

再起動が必要。

Microsoft Storeから「Ubuntu 18.04 LTS」をインストールする

www.microsoft.com

スタート画面からUbuntuの端末を起動する。

f:id:onsanai:20190412134340p:plain:w100
Ubuntu

ユーザー名を決め、パスワードを入れる。

2回目以降に起動するときは、「Windowsキー+R」からファイル名を指定して実行で「bash」と入れて実行する。

f:id:onsanai:20190426120019p:plain:w300
ファイル名を指定して実行

このように実行すると、Windows側のホームディレクトリ「C:\Users\Masahiro」内をカレントディレクトリ(cd)として実行できる。

事前の準備

下記のコマンドでインストールパッケージをアップデートする。 -y は途中のYes/No質問を自動で全てYesにするオプション。以下、断りのない限りUbuntuの端末上のコマンドである。

sudo apt -y update

アップグレードする

sudo apt -y upgrade

下記のコマンドでビルドツール(パッケージ)を一括でインストール。gccやmakeなどがインストールされる。

sudo apt -y install build-essential cmake

GUIを使えるようにする

Windows側にX-Serverをインストールする。

sourceforge.net

VcXsrv (スタートメニュー上ではXLaunchとなってる)を起動する。

f:id:onsanai:20190410103753p:plain:w100
VcXsrv XLaunch
何も考えずに次へ->次へ->次へ->完了。

xfce4パッケージをインストールする。

sudo apt -y install xfce4-terminal xfce4

~/.bash_profile を開き、以下の記述を末尾に追加する。~/.bash_profile を開くには、 nano ~/.bash_profile が便利だろう。

export DISPLAY=:0.0

再読み込みする。

source ~/.bash_profile

xeyesが表示されればOK。

xeyes

f:id:onsanai:20190421130225p:plain:w100
XEYES

Python3でROOTを動かしたい人のための、ROOTバージョン6のコンパイル方法

Python3で動かす必要のない人は、後述の方が楽かつ速い。

奥村氏のテキストを参考に、ROOT v6.16.00 をコンパイル方法を説明する。

ROOTのソースコードをホームディレクトリにダウンロードする。

cd ~
wget https://root.cern/download/root_v6.16.00.source.tar.gz

/use/local へ移動し、管理者権限でROOTのソースコードを展開

cd /usr/local
sudo tar zxvf ~/root_v6.16.00.source.tar.gz

コンパイルに必要な各種パッケージを導入する。 詳細は、UbuntuでROOTをコンパイルするためにで必要なパッケージを確認されたし。Ubuntu16までとなっているが、18系もそう大差はないように思われる。

sudo apt -y install libx11-dev libxpm-dev libxft-dev libxext-dev libgsl0-dev python3-dev

cmakeをビルドする用のディレクトリを作成し、python3付きでコンパイルcmakeする

sudo mkdir root-6.16.00/cmake_build
cd root-6.16.00/cmake_build
sudo cmake ../ -DPYTHON_EXECUTABLE=/usr/bin/python3

makeする。 -j 8 は並列化するためのもので、スレッド数に応じて数字を変えるか、分からない場合は sudo makeだけでよい。 makeはかなり時間がかかる。(当方の環境で8スレッド並列でやって1時間ほどかかった)

sudo make -j 8

4コア8スレッドのラップトップでmakeしている最中のタスクマネージャーはこうなる f:id:onsanai:20190421101551p:plain:w300

~/.bash_profile にROOTのパスを通すため、以下のように記述する。

cd /usr/local/root-6.16.00/cmake_build
source bin/thisroot.sh
cd - > /dev/null

~/.bash_profile を再読み込み

source ~/.bash_profile

次のセクションを飛ばして、ROOTの起動の確認へ。

Pythonを必要としない人のためのROOTバージョン6の簡単インストール方法

ROOT講習会に参加する人は、この「簡単インストール方法」は行わないで下さい。

ROOTの最新版 又は、指定のバージョンをホームディレクトリにダウンロードする。執筆時の最新版は v6.16.00 だった。

cd ~
wget https://root.cern/download/root_v6.16.00.Linux-ubuntu18-x86_64-gcc7.3.tar.gz

/usr/local に展開する。

cd /usr/local
sudo tar xvzf ~/root_v6.16.00.Linux-ubuntu18-x86_64-gcc7.3.tar.gz

~/.bash_profile を開き、末尾に以下の記述追加する

cd /usr/local/root
source bin/thisroot.sh
cd - > /dev/null

~/.bash_profile を再読み込み

source ~/.bash_profile

ROOTの起動の確認

ROOTをグラフィックなしで起動できるか確認する。 -b はグラフィックなしのオプション。

root -b

以下のように表示されればOK

   ------------------------------------------------------------
  | Welcome to ROOT 6.16/00                  https://root.cern |
  |                               (c) 1995-2018, The ROOT Team |
  | Built for linuxx8664gcc on Jan 23 2019, 09:06:13           |
  | From tags/v6-16-00@v6-16-00                                |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
   ------------------------------------------------------------

.q でROOTのモードから抜けられる。次に、ROOTをグラフィックありで起動してみる。

root

ROOTのグラフィックスが表示されることを確認する。

f:id:onsanai:20190410102652p:plain:w500
ROOT グラフィックス

Ubuntuの実態は、ユーザー名「Masahiro」の場合は下記ディレクトリにある。

C:\Users\Masahiro\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs