目录
这里说一下为什么要在Windows子系统下安装桌面版Ubuntu,可能有人会问虚拟机不香吗,双系统不香吗?折腾双系统一不留神就把原来的环境的搞崩了,安装虚拟机的话可能又会因为电脑硬件限制导致虚拟机非常卡顿无法正常使用,所以这里是只针对不想经历上面两种痛苦的另外一种方法。
windows机器需要支持虚拟化,并且需要在BIOS中开启虚拟化技术,因为WSL2基于hyper-V。
查看是否开启虚拟化
按住Windows+R输入cmd打开命令行,输入
systeminfo
可以看到如下字样,代表电脑已经支持虚拟化,可继续安装
Hyper-V 要求: 虚拟机监视器模式扩展: 是
固件中已启用虚拟化: 是
二级地址转换: 是
数据执行保护可用: 是
无论是Windows10还是Windows11,所使用的Windows是最新版的,如果不是最新版,请在设置-Windows更新中将系统更新到最新版本。
在设置中搜索“开发者设置”并打开;

打开开发人员模式并点击是,这时候就成功打开开发者模式啦。

找到控制面板-程序和功能-启用或关闭Windows功能,选中“适用于Linux的Windows子系统”,然后点击确定
可以看到电脑有如下反应,正在处理更改。



这时点击立即重新启动,等待电脑重新启动完成即可。
下载Linux内核更新包,适用于 x64 计算机的 WSL2 Linux 内核更新包;
双击运行刚才下载的更新包,后缀为.msi,出现如下安装界面,点击next进行安装,直到出现安装成功界面。


安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。
以管理员身份打开PowerShell并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

这时需要重启电脑,等待电脑重新启动完成即可。
打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:
wsl --set-default-version 2

打开微软商店(Microsoft Store)搜索“Ubuntu”,然后选择Ubuntu20.04 LTS点击安装,直到下载完成为止;

这时我们可以在开始菜单中看到Ubuntu20.04的图标:

双击打开可以看到注册账户的信息,根据个人习惯输入账户名称和密码即可。

密码输入完成后可以看到Ubuntu20.04的相关信息,到此为止在Windows子系统下安装Ubuntu20.04完成。

此时可以在此电脑中看到Linux,打开它可以看到Ubuntu的文件,后续与Ubuntu之间的文件操作可以从此处进行。

由于Ubuntu默认的软件源在国外,有时候后可能会造成下载软件卡顿,这里我们更换为国内的阿里云源,其他国内源亦可。
双击打开Ubuntu20.04 LTS图标,在命令行中输入
# 备份原来的软件源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 编辑软件源
sudo nano /etc/apt/sources.list
将原来的内容替换为
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
如下所示,然后按Ctrl + O保存,并按Ctrl + X退出编辑模式。

在Ubuntu命令行中依次执行如下命令:
# 更新软件源
sudo apt-get update -y
# 升级所有软件
sudo apt-get upgrade -y
Windows子系统下安装的分发版Ubuntu是默认不带有桌面环境的,为了能够使用桌面环境,我们需要手动安装。桌面环境有xfce4、gnome等,在这里选择最经典的gnome桌面环境,即和Ubuntu官方版本的桌面环境相似。
在Ubuntu命令行中依次执行如下命令:
# 安装gnome桌面环境
sudo apt-get install ubuntu-desktop
# 安装相关工具
sudo apt-get install gnome-tweak-tool
Windows子系统下安装的分发版Ubuntu默认不支持systemctl命令,然而systemctl在原生版Ubuntu中是非常重要的,在这里手动安装。
在Ubuntu命令行中依次执行如下命令:
git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git
cd ubuntu-wsl2-systemd-script/
bash ubuntu-wsl2-systemd-script.sh
注意:这里可能杀毒软件会出现警告,需要允许程序所有操作或者先行关闭杀毒软件,当看到下面图片所示时代表安装成功。

这时需要重启WSL服务,以管理员模式打开PowerShell,执行
# 停止服务
net stop LxssManager
# 启动服务
net start LxssManager
我们每次双击打开的Ubuntu20.04 LTS图标都是命令行终端,无法看到桌面环境,所以需要在Ubuntu中安装远程控制软件,然后使用Windows自带的mstsc工具来达到可视化操作Ubuntu的目的。
在Ubuntu命令行中执行安装安装命令:
# 安装xrdp远程控制服务
sudo apt-get install xrdp
将端口从3389改为3390,因为此前默认的3389端口已保留用于ubuntu shell
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
配置启动session,否则远程桌面登录输入密码之后会直接闪退
echo "gnome-session" > ~/.xsession
重新启动xrdp服务
sudo systemctl restart xrdp
这时可以查看xrdp服务状态
sudo systemctl status xrdp
如图所示,有绿色的running代表服务成功运行。

按住Windows+ R,在运行框中输入mstsc后按回车

计算机输入localhost:3390后按回车

注:这里:为英文状态下输入;在这里可以在显示选项里将这个连接另存到桌面,方便以后打开。
选择是

在这里输入你的账户和密码并点击OK

在上一步之后可能会有短暂的黑屏,别怕!这不是配置没成功,稍微等待一下就可以看到下面这个图片啦,到此为止说明桌面环境已经成功配置并且可以正常进入啦!

我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
我试过重新启动apache,缓存的页面仍然出现,所以一定有一个文件夹在某个地方。我没有“公共(public)/缓存”,那么我还应该查看哪些其他地方?是否有一个URL标志也可以触发此效果? 最佳答案 您需要触摸一个文件才能清除phusion,例如:touch/webapps/mycook/tmp/restart.txt参见docs 关于ruby-如何在Ubuntu中清除RubyPhusionPassenger的缓存?,我们在StackOverflow上找到一个类似的问题:
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
我试图在rails中了解rubygems是如何变得可以自动使用的,而不是在使用required的文件中gem? 最佳答案 这是通过bundler/setup完成的:http://bundler.io/v1.3/bundler_setup.html.它在您的config/boot.rb文件中是必需的。简而言之,它首先将环境变量设置为指向您的Gemfile:ENV['BUNDLE_GEMFILE']||=File.expand_path('../../Gemfile',__FILE__)然后它通过要求bundler/setup将所有ge
我刚刚安装了带有RVM的Ruby2.2.0,并尝试使用它得到了这个:$rvmuse2.2.0--defaultUsing/Users/brandon/.rvm/gems/ruby-2.2.0dyld:Librarynotloaded:/usr/local/lib/libgmp.10.dylibReferencedfrom:/Users/brandon/.rvm/rubies/ruby-2.2.0/bin/rubyReason:Incompatiblelibraryversion:rubyrequiresversion13.0.0orlater,butlibgmp.10.dylibpro