在Win 10子系统(WSL)中安装 Geant 4和Cern Root 的方法整理

作为新手,笔者尝试在Ubuntu和Windows的Linux子系统中安装Geant 4时遇到较多困难,失败多次且无法排除原因。经过反复尝试后,终于成功安装。

因此,笔者参考网上的诸多教程,将最终在Windows的Linux子系统中采用的安装方式进行整理,该方式在Ubuntu系统中同样适用。

补充:在采用下述步骤安装完成Geant 4后,安装最新版本的Root却一直报错,多次尝试均失败;但是,可以成功安装较早版本的Root。(于2020年2月19日补充)


一、Win 10的Linux子系统(Windows Subsystem for Linux, WSL):

主要参考文献:https://blog.csdn.net/daybreak222/article/details/87968078

1. 开启:在 “控制面板” 里搜索 “启用或关闭Windows功能” ,勾选 “适用于Linux的Windows子系统”;

在Win 10子系统(WSL)中安装 Geant 4和Cern Root 的方法整理_第1张图片

2.安装:打开 Microsoft Store,搜索 Ubuntu,选择一个版本安装;(笔者采用的是Ubuntu 16.04 LTS,便于安装root等

在Win 10子系统(WSL)中安装 Geant 4和Cern Root 的方法整理_第2张图片

3.登录:在 “开始” 菜单中打开WSL,等待安装完成;设置用户名和密码,即可完成。之后,建议重启电脑。

注:在文件夹的导航窗口输入 “bash” ,也可以打开WSL。

4.配置:

(1)WSL安装位置:

C:\Users\“Username”\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs

注:Username为Linux系统的用户名;不同版本的WSL需要修改 “Ubuntu16.04”。

(2)修改系统镜像源:不是必须完成的步骤,但是有利于提高程序或库文件等文件的下载速度。

主要参考文献:https://blog.csdn.net/zyx_ly/article/details/89372558(镜像源说明,与系统版本有关)

                         https://blog.csdn.net/mengyuqianxun/article/details/83791318(镜像源代码)

                         https://blog.csdn.net/qq_17783559/article/details/82025601(镜像源代码)

备份并修改:

 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup 
 sudo apt-get install vim
 sudo vim /etc/apt/sources.list

查看 Linux 系统版本: (参考本部分第一篇文献)

lsb_release -c

对于 Ubuntu16.04,笔者采用的镜像源为(注意版本号bionic即可)(此处整理错误,以下为18.04版本的镜像源)

推荐清华镜像:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/。

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

最后,更新:

sudo apt-get update

sudo apt-get upgrade

二、Geant 4 安装:

主要参考文献:http://www.mamicode.com/info-detail-2183036.html (Ubuntu系统安装Geant4的参考文件)

                         https://blog.csdn.net/magefreehome/article/details/91792312 (WSL系统安装Geant4的参考文件)

1.系统准备:

sudo apt-get update  # 保持系统更新
sudo apt-get install build-essential  # 安装gcc等编译程序
sudo apt-get install cmake  # 安装cmake
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libxt-dev libxmu-dev libxi-dev zlib1g-dev libgl2ps-dev libexpat1-dev libxerces-c-dev  # 安装必需的库文件

2.下载 Geant 4:

Geant 4 官方下载网址:http://geant4.web.cern.ch/support/download

下载 source files 和 data files,最新版本 geant4.10.05 共有 1 + 12 个文件。

选择安装盘根目录,如 D盘,将文件 geant4.10.05.tar.gz 复制到 D 盘,打开WSL,进入 D 盘并解压缩文件:

cd /mnt/d/  # 进入 D 盘
tar -xvf geant4.10.05.tar.gz  # 解压缩
cd geant4.10.05  # 进入生成的源代码目录
## 笔者将上述源代码目录作为安装和工作位置
mkdir build    # 作为使用 CMake 工具生成 Makefile 文件的目录
mkdir install  # 作为 geant 4 安装目录
mkdir work     # 作为 geant 4 工作目录

3.安装:

与本部分第一篇文献不同的是,我们需要安装QT图形界面(对于Ubuntu 16.04LTS,建议改用qt4*),且不自动下载 Data files,因此,参考第二篇文献,采用如下命令:

## 安装QT图形界面
sudo apt-get install qt5*  #对于Ubuntu 16.04LTS,建议改用qt4*
## 安装其他必要的软件支持 (OpenGL, RayTracer和GDML)
cd build
cmake -DCMAKE_INSTALL_PREFIX=/mnt/d/geant4.10.05/install -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_BUILD_MULTITHREADED=ON -DGEANT4_USE_RAYTRACER_X11=ON -DGEANT4_USE_GDML=ON -DGEANT4_USE_QT=ON ..
make -jn
make install -jn

如果没有每一步都没有报错,则安装成功。

4.放置 data 文件:

## Data 文件需要放置的目录
cd /mnt/d/geant4.10.05/install/share/Geant4-10.5.0
## 新建文件夹 data
mkdir data
## 将data文件解压缩并拷贝到 data 目录
tar -xvf   # 好像有类似于批量解压缩的命令,但是笔者忘记在哪儿看过了~

 注:(1)最新版本 geant4.10.05 共有12个 Data files,如果采用本部分第一篇文献的方式,将自动下载数据,但是只下载11个文件,缺少文件 G4TENDL1.3.2;

        (2)make 可以进行多线程,n < 电脑最大线程数;

        (3)cmake 命令行中,“/mnt/d/geant4.10.05/install” 为 geant 4 安装目录,最后的 “.." 为 geant 4 源代码目录,即源代码中 CMakeLists.txt 文件所在的目录。

5.加载 geant 4 运行环境:

(1)直接加载,但是需要每次重启后加载一次:

source /mnt/d/geant4.10.05/install/bin/geant4.sh

(2)修改文件,一劳永逸:将上述命令加到 ~/.bashrc 文件末尾即可

vim ~/.bashrc

6.运行例子:

示例所在目录:

## /mnt/d/geant4.10.05/install/ 为安装目录
/mnt/d/geant4.10.05/install/share/Geant4-10.5.0/examples

 示例很多,以B1为例:

## /mnt/d/geant4.10.05/work 为前文中创建的工作目录
## 拷贝示例 B1 到工作目录
cp -r /mnt/d/geant4.10.05/install/share/Geant4-10.5.0/examples/basic/B1/ /mnt/d/geant4.10.05/work

## 进入工作目录,完成编译
cd /mnt/d/geant4.10.05/work/B1
mkdir build
cd build
cmake ..
make -jn

## 运行程序——打开三维图形界面
./exampleB1
## 运行程序——不打开三维图形界面(利用宏文件.mac)
./exampleB1 -m run1.mac

cmake 和 make 成功时,输出界面如下所示(以下是笔者自己的程序)

在Win 10子系统(WSL)中安装 Geant 4和Cern Root 的方法整理_第3张图片

 

在Win 10子系统(WSL)中安装 Geant 4和Cern Root 的方法整理_第4张图片

 

注:图形界面尚未设置,所以系统报错。请参考第三部分。

在Win 10子系统(WSL)中安装 Geant 4和Cern Root 的方法整理_第5张图片

注:第三部分完成后,打开XLaunch,在WSL中输入./exampleB1。

注:(1)当增加新的 “.hh” 或 “.cc” 文件时,需要重新 cmake;如果只是修改了现有文件的内容,则只需要 make;

        (2)多线程运行参考: ./exampleB1 [-m macro ] [-u UIsession] [-t nThreads]。

三、安装图形界面:

主要参考文献:https://xming.en.softonic.com(Xming官网)

                         https://sourceforge.net/projects/vcxsrv/(VcXsrv官网)

                         https://blog.csdn.net/daybreak222/article/details/87968078(子系统图形化界面设置)

                         https://blog.csdn.net/magefreehome/article/details/91792312(只实现Geant 4三维图形界面显示功能)

下载并安装Xming,之后在WSL中执行如下命令,安装x11:

echo "export DISPLAY=localhost:0.0" >> ~/.bashrc  
. ~/.bashrc
sudo apt-get install x11-apps

安装完成后,在windows系统中点击 “XLaunch” 图标(所有选项均为默认即可),运行以下命令,看到左上角出现眼睛后,即为成功。

xeyes

关闭眼睛。

由于每次运行 XLaunch 都需要配置,所以可以在配置过程中如下界面中保存到桌面,之后再运行 Geant 4 程序之前,点击桌面图标即可。

 

在Win 10子系统(WSL)中安装 Geant 4和Cern Root 的方法整理_第6张图片

 

            桌面图标

注:可在 Xming “属性”->“快捷方式” 中,修改图形界面字体大小,“目标” 中添加 “-dpi 120”。(详见本部分第四篇文献)

至此,geant 4 程序和可实现 geant 4 三维图形界面显示功能的WSL便安装完成。

在Win 10子系统(WSL)中安装 Geant 4和Cern Root 的方法整理_第7张图片

注:上图中黄色为光子,绿色为可见光,红色为电子(隐约可见)。

四、安装Cern Root:

Cern Root 官网下载地址:https://root.cern.ch/content/release-62004,新手用户直接选择Source distribution下的安装包即可。

下载安装包后,完成解压缩:(笔者采用的Ubuntu16.04TLS,root安装包采用的是较早的版本root_v6.14.06.source.tar.gz,最新版本是否可行,请自行尝试吧

cd /mnt/d/  # 进入 D 盘
tar -xvf root_v6.14.06.source.tar.gz  # 解压缩

安装:

sudo apt-get update  # 保持系统更新

# 安装必需的库文件
sudo apt-get install git dpkg-dev cmake g++ gcc binutils libx11-dev libxpm-dev \
         libxft-dev libxext-dev
         gfortran libssl-dev libpcre3-dev \
         xlibmesa-glu-dev libglew1.5-dev libftgl-dev \
         libmysqlclient-dev libfftw3-dev libcfitsio-dev \
         graphviz-dev libavahi-compat-libdnssd-dev \
         libldap2-dev python-dev libxml2-dev libkrb5-dev \
         libgsl0-dev libqt4-dev

# 创建并进入Root安装文件夹
mkdir /mnt/d/root6-install  && cd /mnt/d/root6-install
cmake ../root-6.14.06/
make  -jn

# 加载root运行环境
source /mnt/d/root6-install/bin/thisroot.sh

# 运行
root

也可将运行环境命令添加到 ~/.bashrc 文件末尾:

vim ~/.bashrc

 

你可能感兴趣的:(在Win 10子系统(WSL)中安装 Geant 4和Cern Root 的方法整理)