物理の駅 Physics station by 現役研究者

テクノロジーは共有されてこそ栄える

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

ROOT講習会2020向けのインストール方法(Ubuntu 18.04 LTS用 & ROOT v6.20.04) github.com

最新のインストール方法(Ubuntu 20.04 LTS用 & ROOT v6.22.02) github.com

以下、2019年度の情報なので、ROOT講習会2020受講者は見ないでください。

この解説は、Linux PCやMac PCがなく、かつLinuxの仮想環境を動かせない人、UpdateされたWindows 10を持っている人、ROOT6を使いたい人向けのものです。分からないことは、コメント欄で投稿をお願いします。

ROOT講習会2019用に加筆修正しました。 ROOTバージョン6.18.04 に対応しました。

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)として実行できる。

事前の準備

Ubuntuのバージョンを確認しておく。以下、断りのない限りUbuntuの端末上のコマンドである。

cat /etc/lsb-release

結果:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"

下記のコマンドでインストールパッケージをアップデートする。 -y は途中のYes/No質問を自動で全てYesにするオプション。

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.18.04 をコンパイル方法を説明する。

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

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

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

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

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

sudo apt -y install libx11-dev libxpm-dev libxft-dev libxext-dev libgsl0-dev python3-dev libgl1-mesa-dev freeglut3-dev libgl2ps-dev

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

sudo mkdir root-6.18.04/cmake_build
cd root-6.18.04/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.18.04/cmake_build
source bin/thisroot.sh
cd - > /dev/null

~/.bash_profile を再読み込み

source ~/.bash_profile

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

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

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

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

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

/usr/local に展開する。

cd /usr/local
sudo tar xvzf ~/root_v6.18.04.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.18/04                  https://root.cern |
  |                               (c) 1995-2019, The ROOT Team |
  | Built for linuxx8664gcc on Oct 19 2019, 22:09:00           |
  | From tag , 11 September 2019                               |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
   ------------------------------------------------------------

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

root

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

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

Windows上のUbuntuの実体

Ubuntuの実体は、下記ディレクトリ内の CanonicalGroupLimited.Ubuntu で始まるフォルダの LocalState\rootfs にある。

%UserProfile%\AppData\Local\Packages

あるものの、ここを直接触ることはやめたほうが良い。

更新履歴

OpenGLを使うために、 インストールするパッケージリストに libgl1-mesa-dev freeglut3-dev libgl2ps-dev を追加