Ubuntu
是一个以桌面应用为主的Linux
操作系统,很久以前我就听说过它的大名。但当我询问如何在Windows
系统里面安装一个时,我才得知要使用VM Ware
等虚拟机软件,我也就没有去折腾了。不过买新电脑之后发现Win10
自带一个Windows Subsystem for Linux
的虚拟机功能,就来尝试一下。期间我也遇到了占用空间过大,apt
速度慢等问题,这里也顺带说一下解决方案。
但其实到最后我发现装了这个Ubuntu
,除了对Shell Script
的原生支持以外,对我也没有多少用处(
1. 安装WSL
与Ubuntu
要安装WSL
,我们首先需要用管理员权限在powershell
中打开两个功能,分别是WSL
本身和虚拟化:
1 | dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart |
这个时候我们用wsl
这个命令来检查一下是否可用。如果一切正常,使用wsl --install
命令就可以安装最新版本的Ubuntu
。如果你不想安装Ubuntu
而是别的系统的话,可以使用如下语法:
1 | wsl --install -d <Version> |
等安装完毕,之后的话就是设置用户名和密码,这里就不细说了。
2. 转移Ubuntu
文件位置
之后你就可以用apt
来安装你需要的包了,不过安装几个较大的包比如nodejs
和python
之后,你会发现C
盘突然被Ubuntu
占用了很多,像我一下子就60%~70%。这个时候我就打算把Ubuntu
移到D
盘去,幸运的是,这只需要几个步骤。
首先,wsl -l
获取自己的Ubuntu
版本号,像我是Ubuntu-20.04
。然后我们停止系统的运行,导出整个系统,并反注册。wsl
会生成一个打包的tar
文件,我们再导入即可:
1 | wsl --export Ubuntu-20.04 d://ProgramFiles//Ubuntu//ubuntu-20.04.tar |
然后我们用wsl
命令来看一下是否注册成功。但这个时候有个问题:你的用户名变成了root
。这个时候我们在Ubuntu
里面执行:
1 | myUsername=<username> |
就可以把名字改回来。之前生成的系统tar
文件也就可以删除了。最后我们用管理员权限打开powershell
重启Ubuntu
系统,来应用所有更改:
1 | net stop LxssManager |
(wsl
的运行依靠LxssManager
,具体也不用太管)
3. 修改Ubuntu
镜像源
首先进入apt
的文件夹:
1 | cd /etc/apt/ |
然后对原先的配置文件做一个镜像,
1 | sudo cp -a sources.list sources.backup.list |
到清华镜像官方获取到ubuntu
的链接,比如20.04
是这样:
1 | # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 |
然后用vim
或nano
编辑sources.list
,清空后全部粘贴,保存退出。重启wsl
,并使用
1 | sudo apt update |
来确认是否切换到清华的镜像源了。
4. 安装xfce4
图形界面
既然有了命令行的Ubuntu
,我们能不能拥有它的GUI
呢?我们可以借助xfce4
搭配远程桌面来搭建一个图形界面。
这里不建议使用xfce4
,容易黑屏、报错,建议直接参考第5步,安装gnome
桌面。
4.1 安装依赖
安装xrdp
、xfce4
和xfce4-goodies
。中间一路回车即可(会有一个粉色的界面)。
1 | sudo apt install xrdp xfce4 xfce4-goodies |
4.2 修改xrdp
配置
先对原配置做一个备份:
1 | sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak |
然后,执行
1 | sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini |
就会自动修改。然后执行
1 | echo xfce4-session > ~/.xsession |
把光标移到文件的最后两行,用#
号注释掉,然后新增两行,最后效果如下:
1 | # test -x /etc/X11/Xsession && exec /etc/X11/Xsession |
保存并退出(Ctrl+X,按y
并回车,退出)。
4.3 启动远程桌面
首先复制如下代码:
1 | sudo /etc/init.d/xrdp start |
然后vim
或nano
打开bash.bashrc
添加一个别名:
1 | alias remote="sudo /etc/init.d/xrdp start" |
重启wsl
。然后输入remote
,就会启动服务器。用Win10
自带的远程桌面连接localhost:3390
,会跳出来一个蓝色框,输入自己Ubuntu
的用户名和密码,就可以进入Ubuntu
的远程桌面了。
5. gnome
图形界面
这个gnome
图形界面是要求WSL2
的,如果你是Win10
则默认是WSL1
。先确认一下:
1 | wsl -l -v |
如果是WSL1
的话则需要安装升级包:微软官网,下载下来安装即可。然后管理员执行:
1 | wsl --set-version Ubuntu-20.04 2 |
它就会自动升级为WSL2
。然后进入wsl
,执行
1 | sudo apt update |
来安装依赖systemd
。安装好之后重启:
1 | wsl --shutdown |
输入
1 | systemctl |
如果它不回复你
System has not been booted with systemd as init system (PID 1). Can’t operate.
那就说明你做对了,随后我们来安装gnome
桌面(确保你已经把Ubuntu
切换到了D
盘或其他,因为会占用3个G
左右):
1 | sudo apt update |
然后安装xrdp
:
1 | sudo apt install -y xrdp |
配置防火墙:
1 | sudo ufw allow 3389 |
这个时候远程连接localhost:3389
即可。会要求你输入账号密码,进入图形界面后还是要你输入密码。如果一切正常的话,你的gnome
图形界面就安装成功了!
注:如果你在升级WSL2
后发现sudo apt update
卡死了,别怕重装一次Ubuntu
,重新执行1~3步即可。
至此,你已经拥有了WSL
中的Ubuntu
,并且更改了镜像源,成功地开启了远程桌面。听说Linux
系统中有意思的命令还挺多的,那下一篇文章就来讲讲这个。
致谢
这里写一下我参考到的文章:
THE END感谢您的阅读~