wsl子系统下安装可视化桌面的一系列问题
问题引发: 由于想在jupyter notebook 上运行OpenMOC,这样就能看到每一步代码运行后生成的效果,但是,本机上只安装了windows10中的Linux子系统,无法看到可视化桌面,本着无知又无畏的心态,开启了在linux子系统上安装可视化桌面以及jupyter notebook的曼妙之旅…
一、Linux子系统安装
由于我电脑上原来安装了Ubuntu子系统,但是在该子系统上进行后续实验操作时发现经常出现各种各样的problems,于是我直接在软件商城下载了最新的ubuntu-20.04,为安装子系统而需进行了一系列准备(如打开开发者模式,勾选适用于windows的linux的子系统的选项等操作)可自行上网查找,网上教程大多大同小异。
安装好子系统后进行的步骤: 1、build essential 首先不要急着换源,先把改装的东西都装上,比如首先安装build essential,它包含了 GNU 编辑器集合,GNU 调试器,和其他编译软件所必需的开发库和工具。 代码如下:
sudo apt-get install build-essential
2、更换软件源 安装好上面所必须的开发库和工具之后,接着我们再去换源,国内有很多镜像源可以供我们选择,这里我选择了清华镜像源; 由于第一次使用vim去进行编辑的时候不知道哪里加了一个逗号,导致最后更新源的时候失败了,于是我就直接找到了修改源的那个文件,进去修改,步骤如下: 首先,在windows界面下按win+r键,输入\wsl$,按回车,弹出Ubuntu的文件夹,如下: 然后,依次进入 /etc/apt/sources.list路径,如下: 双击sources.list文件,修改里面的源,代码如下:
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multivers
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
修改完成后是这样的: 保存退出。
3、更新软件 紧接着我们更新软件源让编辑的文件生效: 在Ubuntu的命令行中依次输入以下代码:
apt-get update # 这里我们就将Ubuntu的软件源切换到清华源了
apt-get upgrade # 对当前系统的软件和类库进行来更新
至此,Ubuntu子系统安装完毕
二、图形界面的安装
图形界面的安装需要在win10系统上安装VcXsrv,用于监听wsl系统,以显示wsl的桌面;同时在wsl系统上安装xfce4,即wsl的轻量级桌面。
安装步骤: 1、win10系统安装VcXsrv win10中安装VcXsrv的下载网址是 https://sourceforge.net/projects/vcxsrv/ 下载后安装-下一步-完成后再开始菜单和桌面上都可以找到Xlaunch,就是显示子系统wsl桌面的窗口。 2、wsl终端中安装xfce4 在终端中依次输入以下命令即可
1 #!/bin/bash
2 # this is bash command
3 sudo apt-get update #更新源
4 sudo apt-get install xfce4 xfce4-terminal #安装xfce4桌面
5 echo -e "\n##DISPLAY Configuration" >> ~/.bashrc #配置声明
6 echo "export DISPLAY=127.0.0.1:0.0" >> ~/.bashrc #添加配置
7 source ~/.bashrc #配置生效
8 #run xfce4
9 startxfce4 #如何运行xfce4
安装配置完毕
使用教程: step01 在win10系统中打开VcXsrv,以开启Xserver监听wsl,选择one window without titlebar模式(其他模式无法显示Linux系统的任务栏)下面display number设置为0,然后一直下一步即可。
step02 打开wsl终端,开启xfce4桌面,命令是 startxfce4
然后即可在VcXsrv中进行Linux系统的操作了。
三、安装MiniConda
因为我要用Python,所以需要这一步。用miniconda是因为它体量轻,安装快一点。但也有个缺点,后续的库都需要手动安装。 进入miniconda官网下载地址,找到Linux安装文件(如下图),选择python3.8版本,右建选择复制下载链接(为什么复制链接,因为在后续只需要鼠标右击就可以粘贴在ubuntu的命令行里面) ;请务必看清楚版本。 之后,打开Ubuntu进入WSL交互端口,键入wget+空格+右建,代码如下:
wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.10.3-Linux-x86_64.sh
回车即可下载。下载完成后,输入bash+空格+***.sh (***为刚刚下载的文件名)进行安装。代码如下:
bash Miniconda3-py38_4.10.3-Linux-x86_64.sh
随后会有个协议,阅读完成后,一路输入yes,进行安装; conda安装完成后,输入指令(这一步似乎要先输入exit退出ubuntu后,再重新打开)
conda create --name 111 python=3.8
创建一个名叫111的基于python3.8语言的环境(123可以任意改名)。 我们可以通过命令来查看当前有多少虚拟环境:
通俗的讲,可以将WSL当做是一个公寓,conda相当于一个管理员,而创建的每个环境都是一个独立的房间,你可以通过conda去管理每一个房间,如果一个房间遭到了破坏,那么重建它,而不会影响其他的房间。那么接下来请将自己代入conda这个管理员的身份,来使用你的环境,也就是说,我们尽可能的通过conda去设计房间(安装各种软件,依赖库,python库等等),不经过管理员就私自改造房间,容易造成混乱。
我们每次开启WSL(打开Ubuntu)后也就是进入了公寓后,需要先进入我们工作的房间,指令如下:
conda activate 111
房间盖好了,接下来我们要装修了,也就是说安装各种常用的python库,比如numpy, pandas, scipy, xarray, cartopy等等等等。
pip install numpy
pip install pandas
pip install matplotlib
pip install h5py
pip install swig
pip install git
# 如果以上有遇到无法安装的可以尝试用conda 安装,或者
sudo apt-get install git swig
四、安装Jupyter Notebook及其插件
同样,通过conda安装一系列jupyter notebook的插件 在base环境下依次输入以下代码:
conda install jupyter notebook
conda install nb_conda # 为notebook添加conda插件
conda install ipykernel # 安装ipykernel
conda install -n 111 ipykernel #为虚拟环境下创建kernel文件
在base环境下启动jupyter notebook后,可以自行切换虚拟环境: 至此,jupyter安装完毕。
五、下载openmoc包并导入
首先,激活111虚拟环境,在111虚拟环境下进入home目录,然后拉取openmoc包,代码如下:
git clone https://github.com/mit-crpg/OpenMOC.git
下载完之后,在home目录下就会多一个OpenMOC文件夹,进入该文件夹,并编译,代码如下:
cd OpenMOC
python setup.py install
编译成功之后,便可以导入openmoc了,如下, 但是这里我稍微遇到了一点问题,就是它在import 包的时候有些依赖包无法导入,于是,我根据它报错提供的路径找到了miniconda3\envs\111\lib\python3.8\site-packages下的openmoc包,这里优点问题,我就把他原来的删掉了,把在主目录下的OpenMOC复制粘贴了过来,但是这样依然无法奏效,于是继续进入OpenMOC文件夹,在该文件夹下重新编译了setup.py文件, 现在,可以正常导入openmoc了: 并且可以正常跑输入卡了: 至此,openmoc安装告一段落;
六、用jupyter notebook跑openmoc
在base环境下启动jupyter notebook(这样可以在jupyter上选择虚拟环境),或者直接在111虚拟环境下启动jupyter notebook都一样: 1、可以在base环境下打开 把上述链接复制粘贴到浏览器中,便可以新建选定虚拟环境下的notebook;
2、也可以在111虚拟环境下打开: 。。。。。杠操作了一遍发现在111虚拟环境下打开的notebook无法导入openmoc,前面有些操作已经有一些记忆模糊了,不知道是如何操作了一番才让linux下可以正常导入openmoc。。。。。 至此,结束!
|