第【1】章前言:
AI的训练和设计似乎ubuntu是必要的,而且,GPU的配置似乎也是要在Ubuntu下,某些模式版本才能兼容。单独搞一个编译服务器是个思路,但是,如果资金不够,也许要考虑在Windwos和Linux的系统共生下做点文章。
Windows 开始提供了内嵌的对Linux的子系统兼容模式。利用这个模式可以在windows操作系统环境直接用应用软件的方式,操作子系统。很显然,这种方式比之前的双操作系统,重复启动,和利用Vmware在一个摆烂的环境里面运行要好的多。
【案】作者安装windows的guide做了很多实验,发现遇到很多问题,这里大致给出来思路和笔者实际采用的解决办法。
毫无疑问,先安装WSL(windows subsystem linux是必须的)
1 WSL(适用于 Linux 的 Windows 子系统)的安装:
开发人员可以在 Windows 计算机上同时访问 Windows 和 Linux 的强大功能。 通过适用于 Linux 的 Windows 子系统 (WSL),开发人员可以安装 Linux 发行版(例如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),并直接在 Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具,不用进行任何修改,也无需承担传统虚拟机或双启动设置的费用。
1.1 管理员模式运行 PowerShell 或 Windows CMD
1.2 确认一下,自己的电脑以前有没有装WSL
wsl -l -v
如果命令无法执行,或者找不到linux的版本,那就是没装过,继续下面的步骤:
1.3 wsl安装
输入下面命令
wsl --install
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2
1.4 注意,每次安装后,要重启电脑,否则步骤白做。
2 安装LINUX系统,@Ubuntu:
这里微软的guide给了很多可能的方法,最傻的办法,就是用windows的软件商店,下载一个ubuntu。这看起来时候很完美,但是,笔者的电脑因为资源的原因,C盘已经很紧张了,在C盘里面挤进去任何东西,都会音响整个系统的效率。用windows软件商店直接下载安装的办法,因为笔者完全不知道windows给装哪里去了,因为没有选择项,可以,预计,大概率就是C盘user\appdata之类地方,所以,这个方法笔者就不用了,这里参考了:装到D盘的自己定制的方法。笔者自己做了一遍,亲测可用【详见参考2】
2.1 在D盘要安装的位置新建linux文件夹:
(base) PS C:\WINDOWS\system32> d:
(base) PS D:\> cd .\Linux\
新建,并进入这个文件夹
2.2 下载Ubuntu:
Invoke-WebRequest -Uri https://wsldownload.azureedge.net/Ubuntu_2004.2020.424.0_x64.appx -OutFile Ubuntu20.04.appx -UseBasicParsing
下载需要一定的时间,泡个咖啡:========================================也许你可以找一个其他更快的网站
(base) PS D:\Linux> ls
目录: D:\Linux
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2022/12/29 1:17 452997756 Ubuntu20.04.appx
(base) PS D:\Linux> Rename-Item .\Ubuntu20.04.appx Ubuntu.zip
(base) PS D:\Linux> Expand-Archive .\Ubuntu.zip -Verbose
详细信息: 正在准备扩展...
详细信息: 正在目标“D:\Linux\Ubuntu.zip”上执行操作“Expand-Archive”。
详细信息: 正在目标“目标: D:\Linux\Ubuntu”上执行操作“创建目录”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\SmallTile.scale-200.png”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\SplashScreen.scale-200.png”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\Square150x150Logo.scale-200.png”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\LargeTile.scale-200.png”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\Square44x44Logo.altform-unplated_targetsize-16.png”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\Square44x44Logo.altform-unplated_targetsize-256.png”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\Square44x44Logo.altform-unplated_targetsize-32.png”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\Square44x44Logo.altform-unplated_targetsize-48.png”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\Square44x44Logo.scale-200.png”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\Square44x44Logo.targetsize-16.png”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\Square44x44Logo.targetsize-24.png”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\Square44x44Logo.targetsize-24_altform-unplated.png”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\Square44x44Logo.targetsize-256.png”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\Square44x44Logo.targetsize-32.png”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\Square44x44Logo.targetsize-48.png”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\StoreLogo.scale-200.png”。
详细信息: 已创建“D:\Linux\Ubuntu\Assets\Wide310x150Logo.scale-200.png”。
详细信息: 已创建“D:\Linux\Ubuntu\resources.pri”。
详细信息: 已创建“D:\Linux\Ubuntu\install.tar.gz”。
详细信息: 已创建“D:\Linux\Ubuntu\ubuntu2004.exe”。
详细信息: 已创建“D:\Linux\Ubuntu\AppxManifest.xml”。
详细信息: 已创建“D:\Linux\Ubuntu\AppxBlockMap.xml”。
详细信息: 已创建“D:\Linux\Ubuntu\[Content_Types].xml”。
详细信息: 已创建“D:\Linux\Ubuntu\AppxMetadata\CodeIntegrity.cat”。
详细信息: 已创建“D:\Linux\Ubuntu\AppxSignature.p7x”。
然后执行下面四条命令。如下图
Rename-Item .\Ubuntu20.04.appx Ubuntu.zip
Expand-Archive .\Ubuntu.zip -Verbose
cd .\Ubuntu\
.\ubuntu2004.exe
(base) PS D:\Linux> cd .\Ubuntu\
(base) PS D:\Linux\Ubuntu> .\ubuntu2004.exe
Installing, this may take a few minutes...
由于第一次安装,这时候,会询问你的用户名:
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:
我们是给donkeycar,用的,用donkeycar01,密码:123456【案,笔者自己的笔记,以后怕自己忘了,密码不密呵呵】
Enter new UNIX username: donkeycar01
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
适用于 Linux 的 Windows 子系统现已在 Microsoft Store 中可用!
你可以通过运行“wsl.exe --update”或通过访问 https://aka.ms/wslstorepage 进行升级
从 Microsoft Store 安装 WSL 将可以更快地获取最新的 WSL 更新。
有关详细信息,请访问 https://aka.ms/wslstoreinfoTo run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.10.16.3-microsoft-standard-WSL2 x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantageSystem information as of Thu Dec 29 08:06:48 CST 2022
System load: 0.05 Processes: 8
Usage of /: 0.4% of 250.98GB Users logged in: 0
Memory usage: 0% IPv4 address for eth0: 172.26.219.242
Swap usage: 0%0 updates can be installed immediately.
0 of these updates are security updates.
The list of available updates is more than a week old.
To check for new updates run: sudo apt update
This message is shown once once a day. To disable it please create the
/home/donkeycar01/.hushlogin file.
安装成功后,windows会提示你以后可以做那些事情。而且直接进到你刚才的系统里面:
这样就已经安装好了一个ubuntu的版本,但是,这个版本是不带GUI,这个很不方便,后面,我们要把他搞成带GUI的。
2.3 查看安装的版本:
因为刚才已经自动进入我们的linux系统了,要查看安装,需要打开一个新的Powershell,然后,在windows的命令行查看:
【案,当完成了linux安装后,有两个命令行,一个是windows,一个是linux,和操控linux发行版本有关的wsl都在windows cmd里面,别弄错了】
wsl -l -v
【案,2.4,这节里面,笔者还是尝试了用微软的软件商店去安装的方式,结果发现,两个版本好像会冲突,anyway,最终失败了,步骤记录如下,大家可以跳过】
2.4 在微软的应用商店,重新下载Ubuntu 20.04.5 LTS:
这样在windos开始菜单,就可以访问:
打开后,注意,现在是带ubuntu的图标。
2.5 安装图形界面:
【案,在运行linux@windows之前,需要安装一个displayer,这个displayer是跑在windows里面,然后,linux发行版本,例如ubuntu跑起来,要设置到display的设备,这样就可以在windows里面虚拟显示了,这个能显示的软件库和版本很多,VcXsrv似乎用的很多,笔者这里也就随大流了】
2.5.1 方法1:安装VcXsrv
VcXsrv Windows X Server download | SourceForge.net
【案,对第一个显示实例,注意Display number 要设置为0】【案,注意选择显示方式,One large window】
[案,为避免没法,访问控制也去掉] ,点击完成,应该是一个黑色的窗口。以后,ubuntu的GUI界面就在里面显示。
2.5.2 开始安装图形界面:
sudo apt install ubuntu-desktop
花的时间有的长啊,
【案,由于我们不是通过微软的应用商店安装的,所以,我们也无法通过windows[开始]找到应用来启动,好在,微软还提供了一个功能比较完善的Terminal,通过他可以启动我们的ubuntu所以,这里先把他下载安装一下,这个可以从应用仓库里面搞出来。】
2.5.3 在微软应用仓库下载多系统支持的CMD命令程序:
- 2.5.3.1 用这个终端Terminal启动ubuntu的方法:
【案,笔者安装ubuntu,也曾经尝试过用windows的应用仓库安装ubuntu,启动应该是本章,2.4段落小节所示】
- 2.5.3.2 如果是用应用参考安装的ubuntu,启动方法如2.4小结所以,当然,也可以在终端里面启动,如下:
3 GUI的安装和使用:
3.1 Ubuntu官网给出的WSL的方法:
【案,网上有很多博客,大多写得都是自己按照的经验和问题,不够系统,笔者,发现了ubuntu官网有一个很好的ubuntu官网WSL的例子】
前面两节,我们都已经做好,这里就跳过了。我们从第3步,【Download Ubuntu】开始在累述一下
3.2 Download Ubuntu
3.2.1 Microsoft Store app
Ubuntu官网先给出了windows应用商店的方式,由于笔者这部分没有做,大家自己去看一下官网:Download Ubuntu
3.2.2 命令行的方法:
- 【案,我们在2.2已经做了这个工作,但是,我感觉官网的方法更好,所以,还是有必要搞出来,做参考】
- 先打开:Powershell
- 然后用,去看一下所有支持WSL的linux的版本
wsl --list --online
- 找到一个版本,然后安装
wsl --install -d Ubuntu-20.04
【这个方法是搞到了C盘里面,不知道,如果先进到一个D盘的目录,然后安装会不会好一点?】
3.2.3 配置ubuntu:全更新+Enable systemd
官网强调了,更新需要更新所有的最新的包,这点是前面忽略掉的
先做:
sudo apt update
然后,做一个彻底更新:
sudo apt full-upgrade
sudo nano /etc/wsl.conf
在wsl.conf里面增加下面这段:
[boot] systemd=true
然后,通过在powershell运行命令:
wsl --shutdown
重启ubuntu
3.4 安装GUI 包
- 先更新最新的包:
sudo apt update
- 先试试看X11的小应用
sudo apt install x11-apps
运行:xeyes, a “follow the mouse” application
xeyes &
【案,&是异步运行的意思,命令行响应是即使的,但是程序的运行是后台的,运行的时候遇到了一个无法显示的问题】
【Can't open display:的报错解决】
donkeycar01@DESKTOP-M4INDEG:~$ xcalc
Error: Can't open display: 172.17.80.1:0.0Error: Can't open display: 172.17.80.1:0.0
[1]+ Exit 1 xeyes
【案,笔者在这里找了很久的原因,
1 怀疑配置错误了,DISPLAY 0.0的配置错误?结果不是,在vi ~/.bashrc的配置是正确的
2 怀疑是内部网址不对?172.17.80.1 用ipconfig 查了,没错
3 防火墙的问题吗?
】
确实是windows防火墙问题:
解决办法:
【案,在“允许应用通过防火墙,这个设置里面,我们点击后出现了豁免的程序列表,我们之前装上,用于显示ubuntu的VcXsrv,某些权限没有开,如下图,我们勾选两个xserver的权限都放开,然后,我们再运行”】
打开了权限后,刚才x11的GUI的应用可以跑了,这样GUI的运行环境准备好了。
3.5 运行ubuntu的桌面:
先打开:XLaunch,
在ubuntu命令行里面输入:
gnome-session
【案,上来就是一对基础设置,然后,就是你见到的界面了】
【其他报错】
[出现错误 2147942402 (0x80070002) (启动“ubuntu2004.exe”时)]
【案,原因:之前配置的Ubuntu,似乎搞串了,这里把ubuntu.exe改成下图这个就可以】
C:\WINDOWS\system32\wsl.exe -d Ubuntu-20.04
A display manager is a program that provides graphical login capabilities for the X Window System. │
│ │
│ Only one display manager can manage a given X server, but multiple display manager packages are │
│ installed. Please select which display manager should run by default. │
│ │
│ Multiple display managers can run simultaneously if they are configured to manage different servers; │
│ to achieve this, configure the display managers accordingly, edit each of their init scripts in │
│ /etc/init.d, and disable the check for a default display manager. │
│ │
│ Default display manager:
参考:
1 安装 WSL | Microsoft Learn
2 重要参考:
Windows10/11 三步安装wsl2 Ubuntu20.04(任意盘) - 知乎 (zhihu.com)3
3 Ubuntu安装图形界面:
WSL2+Ubuntu18.04+gnome图形界面+docker搭建开发环境_ElasticForce的博客-CSDN博客_wsl安装gnome图形界面
4 (1条消息) win10 WSL2 Ubuntu图像化界面安装和配置_到瑞米法扫拉西的博客-CSDN博客_wsl图像
5 Install Ubuntu on WSL2 and get started with graphical applications | Ubuntu