全网最详细搭建Win10+WSL2+Ubuntu-22.04LTS+CUDA+Xfce4+noVNC个人工作站

这篇具有很好参考价值的文章主要介绍了全网最详细搭建Win10+WSL2+Ubuntu-22.04LTS+CUDA+Xfce4+noVNC个人工作站。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

全网最详细搭建Win10+WSL2+Ubuntu-22.04LTS+CUDA+Xfce4+noVNC个人工作站

  • 本文主要解决的问题点:
    • win10下使用Ubuntu系统
    • 解决WSL默认不支持systemD的BUG
    • 物理机显卡可在Ubuntu系统直通使用
    • Ubuntu系统界面图形可视化
    • 图形界面汉化
    • Ubuntu系统下使用拼音输入法
    • 不需要物理机安装任何软件即可通过web直接访问Ubuntu
    • 配置Firefox和Pycharm
    • 解决WSL下的noVNC剪贴板不能与WIN共享的BUG
    • 讲解Xfce4桌面使用的tricks
    • 美化Windows终端
  • 整理不易,希望大家点赞关注+收藏👍👍
  • 下面是我搭建过程中的一些经验,希望能够帮助到有相关需求的朋友、伙伴们💕💕

1. Windows10更新

  • 为了避免很多不必要的麻烦,请将Windows10更新至最新版本,若不更新,则可能会导致Microsoft Store无法成功下载Ubuntu系列的软件,后面还会有一些奇葩的BUG。
  • Windows10无法更新,缺少文件或损坏等情况,请下载微软官方的win10自动更新工具
  • 除了win10更新工具还有win11等,如果使用win10更新工具则会将win10更新至最新版,而不会自动更新至win11,因为我这里已经使用过该更新工具,所以不会显示下载页面,而是立即更新。下载之后,得到一个exe软件,直接双击使用即可,更新过程需要一些时间,过程有些慢…
    novnc 剪贴板,# Linux,ubuntu,python,linux
  • 我的win10版本号如下:
    novnc 剪贴板,# Linux,ubuntu,python,linux

2. 基于WSL2安装Ubuntu-22.04LTS

  • 以管理员的身份打开powerShell
    novnc 剪贴板,# Linux,ubuntu,python,linux
  • 运行下面指令以确保开启适用于 Linux 的 Windows 子系统(WSL)和虚拟机平台配置项,然后开机重启
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  • 下载Linux内核更新程序包,主要是将WSL更新至WSL2,下载安装即可
  • 两种方案安装Ubuntu-22.04LTS
    • 方案一:
      • 这个方案比较简单,直接在C盘安装,在Microsoft Store里搜索Ubuntu,下载相应版本即可,目前我尝试过Ubuntu-20.04LTS和Ubuntu-22.04LTS都能够正常安装
        novnc 剪贴板,# Linux,ubuntu,python,linux
      • 然后打开相应Ubuntu即可直接安装,第一次打开安装需要等待一段时间,设置用户名和密码即可,使用wsl -l -v命令查看安装的version是否为2,若显示当前不是 WSL 2 版本,通过命令wsl --set-version Ubuntu-22.04 2进行设置 WSL 的默认版本
        novnc 剪贴板,# Linux,ubuntu,python,linux
        novnc 剪贴板,# Linux,ubuntu,python,linux
        novnc 剪贴板,# Linux,ubuntu,python,linux
      • 由于我的C盘大小为715G,比较大,就将Ubuntu系统文件直接装在C盘里,在固态硬盘里启动系统和使用系统软件响应速度会比机械硬盘快一些,然后将Python的虚拟环境和Pycharm运行的项目(下面也有提到)搭建到机械硬盘上即可,这样可以有效节省C盘空间,下面讲一下如何使用virtualenv搭建Python虚拟环境:sudo apt-get install virtualenv安装virtualenv,virtualenv --version检查virtualenv 版本,最后使用virtualenv -p /usr/bin/python3.10 /d/my_envPy3.10将环境搭建到物理机的D盘上,因为我的C盘和D盘在同一张固态,当Pycharm加载环境时,加载速度影响不大,稍微慢一丢丢(跨系统)
    • 方案二:
      • 考虑到有很多伙伴的C盘空间有限,想将其装到其他盘。这就要依靠wsl的export和import功能了,可使用wsl --help查看wsl的指令,export主要是打包系统分发文件,而import是导入系统分发文件
        novnc 剪贴板,# Linux,ubuntu,python,linux
      • 使用wsl --export Ubuntu-22.04 D:\Ubuntu-22.04.tar将系统分发导出到D盘,然后使用wsl --unregister Ubuntu-22.04注销系统,即系统文件从C盘中彻底卸载并删除,最后使用wsl --import Ubuntu-22.04 D:\meiwu_WSL D:\Ubuntu-22.04.tar将系统导入到D盘。就实现了系统转移
  • apt换源(根据个人需求),其实目前Ubuntu在国内也有相应的镜像站,换源与否,其速度也慢不了多少,我个人就没有进行换源,担心使用其他源下载的依赖包跟系统不兼容,导致出现系列BUG。源内容可参考:Ubuntu 22.04换国内源 清华源 阿里源 中科大源 163源,更多源可自行查询,以下是相应的换源指令
# 备份初始源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
# 编辑sources.list文件
sudo vim /etc/apt/sources.list
# 更新
sudo apt-get update
sudo apt-get upgrade

3. WSL开启systemd

  • WSL默认不支持systemd,我个人也尝试了网上很多方法,不是无效,就是强制开启对系统造成影响
  • 本人尝试的最佳解决方案:若要Linux系统使用systemd作为其init系统,使用systemctl命令管理Linux服务,则需要确定WSL版本是0.67.6或更高版本,使用wsl --version进行查看,若无法正常查看版本,则WSL版本过低导致的,请使用wsl --update进行更新至最新版即可,如下是我的WSL版本
    novnc 剪贴板,# Linux,ubuntu,python,linux
  • 使用wsl -d Ubuntu-22.04进入系统,依次运行下面指令
# 新建wsl.conf文件
sudo nano /etc/wsl.conf
# 将以下内容添加到wsl.conf并保存文件
[automount]
root = /
options = "metadata"
[boot]
systemd = true
# 关闭wsl
wsl --shutdown
# 重新启动Ubuntu,运行sudo systemctl status命令或systemctl ,即可看到Systemd服务
  • 使用sudo systemctl status验证systemctl命令是否可用,下图为成功运行的案例截图
    novnc 剪贴板,# Linux,ubuntu,python,linux

4. 配置noVNC通过web访问Ubuntu-22.04

  • 安装vncserver
sudo apt-get install tightvncserver
  • 查看安装安装的vncserver
which vncserver /usr/bin/vncserver
  • 启动vncserver,并设置窗口大小,其中vncserver :1设置为1,要运行noVNC的端口为5900+1,即5901
sudo vncserver :1 -geometry 1902x902 -name meiwu -depth 24
  • 查看端口,若无netstat,根据提示安装即可sudo apt-get install netstat
sudo netstat -npl | grep 59
  • 杀死端口(若不需要此窗口,则可进行杀死)
sudo vncserver -kill :1
  • 克隆github上的noVNC项目
sudo git clone https://github.com/novnc/noVNC
  • cd ./noVNC/utils/进入到noVNC的utils文件夹下,执行以下指令
# 创建安全连接,一路回车即可
sudo openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
# 运行noVNC,若不进行listen设置,默认web监听端口为6080,websockify代理将自动装载证书,设置密码
./novnc_proxy --vnc localhost:5901 --listen 5555
  • 在web输入http://localhost:5555/vnc.html即可访问Ubuntu-22.04,其中localhost可以替换成服务端ip,使用ifconfig进行查看,只需关注inet
    novnc 剪贴板,# Linux,ubuntu,python,linux
  • 输入密码,连接之后,可以看到灰屏桌面,说明配置成功,接下来就要为Ubuntu-22.04进行配置桌面

5. Ubuntu-22.04配置图形化界面并进行汉化

  • 图形化界面,我选择的是Xfce4,因为其安装简便,并且轻量化
  • 安装Xfce4和相应扩展包
sudo apt-get update
sudo apt-get install xfce4 xfce4-goodies
  • 桌面汉化
# 选择语言和编码
dpkg-reconfigure locales
# 防止出现乱码,选择以下选项
en_US ISO-8859-1
zh_CN GB2312
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_TW BIG5
zh_TW.UTF-8 UTF-8
# 接下来选择默认语言字体,选择:
zh_CN.UTF-8
# 查看当前系统字体
vim /etc/default/locale
# 安装语言字体包
sudo apt-get install fonts-arphic-bsmi00lp fonts-arphic-gbsn00lp fonts-arphic-gkai00mp
# 重新进入Ubuntu-22.04
wsl -t Ubuntu-22.04  # 退出
wsl -d Ubuntu-22.04  # 启动
  • 之后即可看到汉化版的Xfce4桌面了
    novnc 剪贴板,# Linux,ubuntu,python,linux

6. 安装Fcitx实现中英文输入

  • 安装
sudo apt-get install fcitx fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-libpinyin
  • 设置-增加输入法
    novnc 剪贴板,# Linux,ubuntu,python,linux
  • 设置-中英文切换快捷键
    novnc 剪贴板,# Linux,ubuntu,python,linux

7. 配置Firefox

  • 查看是否有Firefox残余依赖和相关包
# 查看
dpkg --get-selections | grep firefox
# 若有,则卸载
sudo apt-get purge <相关包>
  • 将Mozilla 团队 PPA 添加到软件源列表
sudo add-apt-repository ppa:mozillateam/ppa
  • 更改 Firefox 包的优先级以确保首选 PPA/deb/apt 版本的 Firefox,复制并粘贴整个代码
echo '
Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
' | sudo tee /etc/apt/preferences.d/mozilla-firefox
  • 希望自动安装未来的 Firefox版本
echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox
  • 运行以下命令通过 apt-get 安装 Firefox
sudo apt-get install firefox
  • 安装完之后,可以在Xfce4桌面点击放大镜icon进行查看,直接将其拉到桌面即可创建Firefox启动器,在Firefox的setting中设置中文简体即可
    novnc 剪贴板,# Linux,ubuntu,python,linux

8. 配置Pycharm解释器

  • 进入Pycharm官网下载linux的社区版本
    novnc 剪贴板,# Linux,ubuntu,python,linux
  • 在相应的路径下,执行解压命令
sudo tar -zxvf ./pycharm-community-2022.3.tar.gz -C ./
  • 在xfce4桌面右击,创建pycharm启动器,命令部分放入pycharm的bin下是pycharm.sh即可
    novnc 剪贴板,# Linux,ubuntu,python,linux

9. 实现win系统与Ubuntu-22.04共享剪贴板

  • 目前并未排查清楚WSL中的Ubuntu系统不能通过noVNC中的剪贴板与win进行共享剪贴内容,个人认为WSL中的Ubuntu系统与noVNC的兼容性不是很好,Ubuntu-20.04也出现类似的问题,但是物理系统为Ubuntu-22.04时,并未出现类似问题
  • 解决方案:依靠autocutsel来间接实现,autocutsel的编码并不支持中文剪贴,所以剪贴中文时会出现乱码
  • 若有伙伴知道更好的解决方案,可留言或私信告知我,谢谢💕💕
  • 安装autocutsel
sudo apt-get install autocutsel
  • 编辑~/.vnc/xstartup,实现打开vncserver服务即可在后台运行autocutsel
# 编辑
sudo vi ~/.vnc/xstartup
# 加入以下内容
autocutsel -f
  • 我的~/.vnc/xstartup文件内容
#!/bin/sh

xrdb "$HOME/.Xresources"
xsetroot -solid grey
autocutsel -f
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession

10. 使用物理显卡

  • 查看物理机显卡驱动,可以看到我的显卡驱动最高可支持CUDA12.1.98版本,配置CUDA版本比驱动版本低即可,在这里我配置的是CUDA12.0
    novnc 剪贴板,# Linux,ubuntu,python,linux
  • CUDA下载官网,按照官网提供的指令依次执行即可
    novnc 剪贴板,# Linux,ubuntu,python,linux
    novnc 剪贴板,# Linux,ubuntu,python,linux
  • 配置CUDA环境变量–超级用户
# 编辑超级用户~/.bashrc
sudo -s
vi ~/.bashrc
#将以下内容添加到末尾
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-12.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
#更新~/.bashrc
source ~/.bashrc
#更新依赖
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
#检查是否安装成功,若返回相应版本信息,则安装成功
nvcc -V
  • 配置CUDA环境变量–个人用户
# 退出超级用户
exit
sudo vi ~/.bashrc
#将以下内容添加到末尾,Esc退出编辑,:wq保存并退出vi
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-12.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
#检查是否安装成功,若返回相应版本信息,则安装成功
nvcc -V
  • 为执行nvidia-smi添加软连接,若不添加,则无法识别nvidia-smi指令
ln -s /usr/lib/wsl/lib/nvidia-smi /usr/local/bin

novnc 剪贴板,# Linux,ubuntu,python,linux

  • 配置cudnn,进入cudnn官网下载对应CUDA版本的cudnn,我下载的是cuDNN v8.8.0。第一次下载需要注册cudnn账号,我是先下载至物理机,然后再解压至WSL的Ubuntu当中。
    novnc 剪贴板,# Linux,ubuntu,python,linux
  • 从物理机解压cuDnn至Ubuntu,从Ubuntu中可以看到c,d,e,f其实对应的就是物理机上的c、d、e、f盘
    novnc 剪贴板,# Linux,ubuntu,python,linux
  • 将E盘中的cudnn解压至Ubuntu的当前位置,并将相应的cudnn文件复制至cuda相应的文件夹下
sudo tar -xvf ../../mnt/e/cudnn-linux-x86_64-8.8.0.121_cuda12-archive.tar.xz -C ./
sudo cp -P cudnn-linux-x86_64-8.8.0.121_cuda12-archive/lib/* /usr/local/cuda-12.0/lib64/
sudo cp cudnn-linux-x86_64-8.8.0.121_cuda12-archive/include/cudnn.h /usr/local/cuda-12.0/include/
sudo chmod a+r /usr/local/cuda-12.0/include/cudnn.h
sudo chmod a+r /usr/local/cuda-12.0/lib64/*
  • 安装pytorch的gpu版本,进入Pytorch官网选择pytorch版本,然后执行官网给的指令即可
    novnc 剪贴板,# Linux,ubuntu,python,linux
  • 测试pytorch的gpu是否有效
import torch
print(torch.__version__)  # 查看torch当前版本号
print(torch.cuda.is_available())  # 查看当前cuda是否适用于当前版本的pytorch,返回bool值,若为True,则可用

novnc 剪贴板,# Linux,ubuntu,python,linux文章来源地址https://www.toymoban.com/news/detail-722705.html

  • 验证模型训练是否可行,若报错Could not load library libcudnn_cnn_infer.so.8,请执行sudo apt-get install nvidia-driver-515,然后重启即可。下图为测试结果,模型可正常训练并使用物理GPU
    novnc 剪贴板,# Linux,ubuntu,python,linux

11. 使用Xfce4的tricks

  • 创建启动器,这样就不需要每次都在终端中启动Pycharm,在上面也提到创建的方法和步骤
  • Xfce4的默认使用Debian终端模拟器,并不好用,我们可以通过设置默认使用Xfce-terminal,其实我们在上面安装的xfce4的扩展包里面就集成了Xfce-terminal,我们之间设置就好,设置Firfox浏览器作为默认浏览器的方法也是一样
    novnc 剪贴板,# Linux,ubuntu,python,linux

12. Windows终端美化

  • 若嫌弃win10的cmd不好用,可以去微软商店下载Windows-Terminal
    novnc 剪贴板,# Linux,ubuntu,python,linux
  • 然后win+R,键入wt即可打开,在设置里面有个打开JSON文件即可设置主题和样式
    novnc 剪贴板,# Linux,ubuntu,python,linux
    若要转载请注明出处🚀,谢谢💕💕

参考资料

  • Win10 下安装配置WSL2
  • ubuntu配置novnc通过web访问服务器
  • xfce桌面汉化(命令)
  • 如何在 Ubuntu 22.04 上安 Firefox.Deb(不是How to Install Firefox as a .Deb on Ubuntu 22.04 (Not a Snap)
  • 虚拟机使用主机显卡(hyper-v和WSL2)

到了这里,关于全网最详细搭建Win10+WSL2+Ubuntu-22.04LTS+CUDA+Xfce4+noVNC个人工作站的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【2023最新版】Win11: WSL(Ubuntu22.04)使用docker远程容器教程(Windows的Docker Desktop下载安装、迁移到非系统盘、配置国内镜像源、设置 WSL2)

    目录 一、准备工作 1. 安装WSL(适用于 Linux 的 Windows 子系统) 2. docker简介——来源chatGPT 二、Windows安装 Docker Desktop 1. 官网链接 2. 安装过程 3. 迁移到非系统盘 4. 配置国内镜像源 国内镜像 方法1——通过Docker-Desktop配置 方法2——找打daemon.json文件进行配置 三、在适用于 Wind

    2024年02月12日
    浏览(58)
  • WSL2 Ubuntu22.04安装KDE(KUbuntu)图形化桌面

             第一大点和碎碎念还挺长的,大家瞄两眼酌情略过吧正文从第二大点开始        该文章是我总结了很多不同文章的方法写出来供大家参考也想帮助遇到问题的人。然后我遇到问题的时候光想着怎么解决了没有截图,所以借用了很多别的文章的截图,如果有冒犯

    2024年02月03日
    浏览(30)
  • 在Windows10中安装WSL2(Ubuntu 22.04.2 LTS)

    WSL 1 于 2016 首次发布,在 windows 系统中可以使用linux系统。 但是WSL1的缺点有: 文件 I/O 慢,尤其是在大量IO操作时,例如使用 git 克隆仓库; 不支持内核程序; WSL 2 针对以上两个缺点进行了修正: 相比较于 WSL 1 使用翻译层将 linux 系统调用转化成 windows 系统调用,WSL 2 使用了

    2024年02月14日
    浏览(38)
  • 【Docker Desktop】Windows11家庭版安装docker desktop和WSl2(Ubuntu22.04)并完成迁移,配置国内镜像

    目录 一、准备工作 ① 安装Hyper-V ②开启电脑的虚拟化技术,如何确定是否开启了虚拟化技术 ③ 启动Windows功能 二、安装WSl 三、移动Ubuntu 22.04.2 LTS 四、迁移 WSL2 安装位置 五、安装Docker Desktop 六、配置Docker Desktop  七、测试 因为win11家庭版本身是不支持hyper-V的,需要手动安装

    2024年01月20日
    浏览(45)
  • Windows 10 安装配置WSL2(ubuntu20.04)教程 超详细

    超详细windows安装配置WSL2(ubuntu20.04)步骤 Windows上快速安装WSL2教程 windows wsl2安装 Windows Subsystem for Linux(简称WSL),Windows下的Linux子系统,是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubu

    2024年02月12日
    浏览(47)
  • 【学习记录】win10 + ubuntu 22.04双系统安装

        因为家里的台式(Windows 10)最近一直频繁蓝屏,再加上Win10之前经常性的资源管理器未响应,对Windows系统逐渐失去了信心,于是想着安装稳定性较好的Linux。以前抵触Linux是因为其人机交互界面没Windows那么直观,但其实是认知有误,Linux其实也有很多交互界面很友好

    2024年02月13日
    浏览(35)
  • Windows系列(特别有参考意义):Windows 10 安装配置WSL2(ubuntu20.04)教程 超详细

    超详细windows安装配置WSL2(ubuntu20.04)步骤 Windows上快速安装WSL2教程 windows wsl2安装 1.什么是WSL? Windows Subsystem for Linux(简称WSL),Windows下的Linux子系统,是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是

    2024年04月16日
    浏览(41)
  • WSL安装与使用(Ubuntu22.04)

    本文主要记录Windows WSL的安装和使用过程,内容包括WSL安装过程、WSL安装Ubuntu、Ubuntu更换镜像源,Ubuntu安装Dcoker并配置等步骤。 Windows Subsystem for Linux(简称WSL)是一个在Windows 1011上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,

    2024年02月08日
    浏览(32)
  • 【WSL】Ubuntu 22.04 安装配置docker

    WSL就是个坑! WSL就是个坑! WSL就是个坑! 我第一次安装使用 Ubuntu 还是第一台笔记本,装了双系统,版本是18.04 LTS,但是我那个时候只有机械硬盘,因此 Ubuntu 桌面十分的卡。 兜兜转转,大三的时候发现微软的 WSL2 很好用,想装一个学习 Linux,当然选择了那个时候最新的

    2024年02月08日
    浏览(40)
  • win10+wsl2+Ubuntu20.2+Pycharm+WSL解释器

    目的:创建一个ubuntu系统下的python解释器,作为win平台下的pycharm的解释器。 这样做的好处是可以直接在win系统里操作文件,相比于linux方便一点,而且也不用对wsl的子系统进行迁移。        1. 设置-Windows更新-windows预览体验计划-加入Dev渠道,安装最新的开发版本windows(Wi

    2024年02月11日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包