分享

WSL(Ubuntu20.04)与其图形界面安装配置

 黄爸爸好 2023-09-24

文章目录

WSL安装(1和2)

Windows 10 安装 WSL 2必要条件:

Windows 10 2020年5月(2004) 版, Windows 10 2019年5月(1903) 版,或者 Windows 10
2019年11月(1909) 版

一台支持 Hyper-V 虚拟化的计算机 Windows 10 2020年5月更新已于
2020年5月发布(显然),但并非每个设备都能立即升级。要查看您的计算机上是否有 Windows 10 2020年5月更新,请转至“设置”
“更新和安全性” > “Windows 更新”。

在 8 月,微软将 WSL 2 向后移植到 Windows 10 的较早版本。版本号为 1903 或 1909 的任何人也可以安装WSL 2
—— 但必须首先安装 Windows 更新 KB4566116。

高级(和心急)的 Windows 用户可以强制安装 Windows 10
2020年5月更新,但请记住,如果按照这种方法操作,您可能会遭遇缺失驱动程序、GUI 故障或其他硬件故障。

从技术上来讲,您可以在 Windows 10 build 18917 或更高版本的“内部”版本上安装 WSL
2。我不太熟悉“内部”版本系统是如何工作的,所以请注意,本文的其余部分都基于在稳定版的 Windows 上使用该功能。

为了运行 WSL 2,您的计算机还需要支持 Hyper-V 虚拟化。您可以检查您的计算机确认对 Hyper-V 的支持 。

如果您不能同时满足这两个必要条件,则无法安装或启用 WSL 2——但可以使用 WSL 1。

在 Windows 10 上安装 WSL 2 的过程如下:

启用 WSL 2
启用“虚拟机平台”
设置 WSL 2 为默认值
安装 Linux 发行版
我将使用 PowerShell 应用程序依次介绍每个步骤,您需要以管理员身份运行此应用程序。您可以在 Windows “开始” 菜单中找到 PowerShell。

注意:也可以使用 GUI 安装 WSL 1,但使用命令行安装的速度要快得多,而且由于 WSL 是 CLI 工具,这也比较讲得通!
第 1 步,启用 WSL
不管您想要使用哪个版本的 WSL,都首先需要启用它。为此,请以管理员身份打开 PowerShell 工具并运行以下命令。小心不要在命令中输入错误或遗漏任何字符:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

如果只想使用 WSL 1,您可以跳到第 4 步。

第 2 步,启用“虚拟机平台”
WSL 2 需要启用 Windows 10 的 “虚拟机平台” 特性。它独立于 Hyper-V,并提供了一些在 Linux 的 Windows 子系统新版本中可用的更有趣的平台集成。

要在 Windows 10(2004)上启用虚拟机平台,请以管理员身份打开 PowerShell 并运行:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

要在 Windows 10(1903,1909)上启用虚拟机平台,请以管理员身份打开 PowerShell 并运行:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart

为了确保所有相关部件都整齐到位,您应该在此时重启系统,否则可能会发现事情没按预期进行。

第 3 步,设置 WSL 2 为默认值
以管理员身份打开 PowerShell,然后运行以下命令以将 WSL 2 设置为 WSL 的默认版本:

wsl --set-default-version 2
如果需要,您可以(随时)将发行版配置为以 WSL 1 模式运行。

第 4 步,安装一个 Linux 发行版
有了 WSL 和必要的虚拟化技术,接下来您要做的就是从 Microsoft Store 中选择并安装 Linux 发行版。

有几种不同的发行版可供选择,包括 OpenSUSE、Pengwin、Fedora Remix 和 Alpine Linux。但是我个人推荐(自然地)Ubuntu 20.04 LTS(尽管也有 18.04 LTS 和 16.04 LTS 可用)。

要在 Windows 10 上安装 Ubuntu,请打开 Microsoft Store 应用,搜索 “Ubuntu 20.04”,然后单击“获取”按钮。

当您在 Microsoft Store 中时,我强烈建议您也安装开源的 Windows Terminal 应用程序。该工具旨在为您提供最佳的 WSL 体验。

第 5 步,使用 WSL 2
当您安装 Ubuntu(或其他 Linux 发行版)时,快捷方式已添加到 Windows “开始”菜单中。使用它可以“打开” Ubuntu(或您选择的任何发行版)。第一次运行发行版时,速度似乎有点慢。这是预料之中的;发行版必须解压缩其所有内容——只是不要中断这个过程。

还将提示您设置用于发行版的用户名和密码。尝试挑选一些您不会忘记的字符。

将 WSL 1 上的 Ubuntu 转换到 WSL 2
如果您使用 WSL 1,则可以将现有的 WSL 1 安装升级到 WSL 2。要将现有的 WSL 1 发行版转换到 WSL 2,请在 PowerShell 中运行以下命令,例如:

wsl.exe --set-version Ubuntu 2

使用时,您应将命令中的 “Ubuntu” 替换为您在 WSL 1 上安装运行的对应发行版的名称。

可以在 PowerShell 中运行下面命令显示所有发行版的详细信息:
wsl --list --verbose
命令 wsl --set-version 可更改指定分发版的版本,
其用法为: wsl --set-version <分发版名称> <版本号>
例如: wsl --set-version Ubuntu-20.04 2

WSL发行版手动下载网址

https://docs.microsoft.com/zh-cn/windows/wsl/install-manual

WSL的linux发行版常用命令

查看当前已安装发行版

wslconfig /l

wsl --list --all

查看正在运行的发行版

wsl --list --running

删除、卸载指定发行版

wsl --unregister <DistributionName>

如:wsl --unregister Ubuntu-20.04

设置默认发行版

wslconfig /setdefault Name

如:wslconfig /setdefault Ubuntu-20.04

从命令行启动发行版

以下启动三个 Linux 发行版所需的命令:

Ubuntu: ubuntu

openSUSE Leap 42: opensuse-42

SUSE Linux Enterprise Server 12: sles-12

例如,即使 Ubuntu 是你的默认环境,仍然可以通过运行 opensuse-42 命令从任何地方启动 openSUSE。

升级WSL2更新包

https://docs.microsoft.com/zh-cn/windows/wsl/install-manual
在这里插入图片描述

安装WSL发行版到D盘:

删除原来安装在C盘的发行版

首先停止 Linux 发行版在 WSL 的运行(这里以 Ubuntu 18.04 为例):

wsl.exe -t Ubuntu-18.04
wsl.exe --shutdown
wsl.exe -l -v

查看 Windows 系统已经安装的软件包:

Get-AppxPackage -allusers | Select Name, PackageFullName

删除 Ubuntu 18.04
以 Ubuntu 18.04 为例

get-appxpackage CanonicalGroupLimited.Ubuntu18.04onWindows | remove-Appxpackage

上面命令的原型为:

get-appxpackage CanonicalGroupLimited.<发行版名称和版本号>onWindows | remove-Appxpackage

这里是 Ubuntu 18.04 ,所以要将 “<发行版名称和版本号>” 替换为 “Ubuntu18.04” , 如果是 Ubuntu
20.04 ,那么就应当替换为 “Ubuntu20.04”。

安装到D盘

从这里https://docs.microsoft.com/zh-cn/windows/wsl/install-manual手动下载WSL发行版,可以绕开MS Store的自动安装。
在这里插入图片描述

选择想要的发行版下载后,可以得到一个后缀名为.appx的文件,
在这里插入图片描述

把它的后缀改为.zip,然后解压到想要安装WSL的目录下,找到xxx.exe文件(如ubuntu.exe,其他发行版的话也有类似的程序)双击打开,等待一段时间就可以安装成功。
在这里插入图片描述

需要注意的是安装目录的磁盘不能开压缩内容以便节省磁盘空间选项,否则会报错0xc03a001a
可以右键文件夹–>属性–>常规–>高级找到并关闭这个选项
在这里插入图片描述

安装WSL的systemd脚本

安装git

sudo apt install git

运行脚本和命令

git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.gitcd ubuntu-wsl2-systemd-script/bash ubuntu-wsl2-systemd-script.sh

然后重新启动ubuntushell并尝试运行systemctl

systemctl

ubuntu20.04安装Ruby

由于用apt包管理器安装的版本比较老,打算用第三方工具rbenvruby-build插件安装。
教程链接:https:///questions/37720892/you-dont-have-write-permissions-for-the-var-lib-gems-2-3-0-directory

解决Vmmen内存占用

先确定自己win10版本高于大于18945 查看方法cmd 查看第一行[版本 10.0.xxxxx.*],其中xxxxx大于18945即可。
Win+R键,输入%UserProfile% ,在当前文件目录下创建.wslconfig文件,内容为

[wsl2]
memory=4GB
swap=0
localhostForwarding=true

其中4GB为制作Vmmem进程使用内存的大小,然后保存即可最好保存成ANSI编码或者UTF-8格式
然后关闭linux子系统然后在cmd运行 wsl --shutdown 后再次打开linux子系统即可生效

图形界面安装

通过MSTSC远程桌面连接

方式一:

换源、更新升级

备份

cp /etc/apt/sources.list /etc/apt/sources.list.bak

编辑vi /etc/apt/sources.list,更换成国内源

#网易源
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse
# deb-src http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse
# deb-src http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse
# deb-src http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse
# deb-src http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse
# 预发布软件源,不建议启用
# deb http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiverse

#阿里源
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

#清华源https

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna./ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna./ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna./ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna./ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna./ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna./ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna./ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna./ubuntu/ focal-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna./ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna./ubuntu/ focal-proposed main restricted universe multiverse

更新一下:

sudo apt-get updatesudo apt-get upgrade
安装桌面环境xubuntu
sudo apt-get install xubuntu-desktop

已包含xfce4和xorg

安装远程桌面服务xrdp
sudo apt-get install xrdp
配置xrdp端口
sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini

默认配置3389改为3390,避免和windows的端口冲突。

配置xsession
sudo echo xfce4-session > ~/.xsession

告诉系统,开启桌面环境的时候用xfce4-session

配置sesman.ini
sudo vim /etc/xrdp/sesman.ini

KillDisconnected的值修改为true,保存退出

重启电脑主机,然后启动xrdp
sudo service xrdp restart
远程连接

打开远程桌面连接,在计算机(Computer)栏输入localhost:3390,用户名可写可不写

设置为中文

sudo dpkg-reconfigure locales,选择zh_CN UTF-8, 然后按空格勾选,再tab切换到ok上回车,接下来的界面选zh再回车。
如果键盘不可用,注销重新登录。

方式二:

换源、更新----与方式一相同
安装远程桌面服务xrdp
sudo apt-get install xrdp

安装桌面环境xfce4
sudo apt-get install xfce4 xfce4-goodies

显示管理器gdm3lightdm都可以

修改配置文件xrdp.ini
sudo vim /etc/xrdp/xrdp.ini

max_bpp=32修改为128(最大位图深度)
#xserverbpp=24修改为128,取消注释'#’。

配置.xsession
sudo echo xfce4-session > ~/.xsession

告诉系统,开启桌面环境的时候用xfce4-session。

修改配置startwm.sh
sudo vim /etc/xrdp/startwm.sh

注释末尾两行:

test -x /etc/X11/Xsession && exec /etc/X11/Xsession exec /bin/sh
/etc/X11/Xsession

添加一行

startxfce4
启动start
sudo /etc/init.d/xrdp start

查看IP地址:
ip a

eth0项中,inet后面的地址记下来。

远程连接

按下windows+R键,输入mstsc打开远程桌面连接
在计算机(Computer)栏输入刚才记下的ip地址,用户名可填可不填

进入GUI后配置

软件按需安装
Application->Settings->Preferred Applications中设置默认浏览器、终端。

xubuntu(xfce4)中文输入法ibus安装

安装中文语言包

sudo apt install language-pack-zh-hans

安装完整的语言支持

打开Applications->Settings->Language Support,按提示安装包就可以。

安装配置ibus中文输入法

安装ibus框架。

sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4

启用ibus框架。

im-config -s ibus

重启系统或者注销当前账户。

安装相应输入法(以安装拼音输入法为例)。

sudo apt-get install ibus-pinyin

附常见几种输入法

IBus拼音:sudo apt-get install ibus-pinyin
IBUS五笔:sudo apt-get install ibus-table-wubi
谷歌拼音输入法:sudo apt-get install ibus-googlepinyin
Sun拼音输入法:sudo apt-get install ibus-sunpinyin

添加中文输入法,修改输入法切换快捷键。

1.通过终端输入ibus-setup 命令设置ibus框架,添加已经安装的输入法;

在这里插入图片描述
2.进入系统设置,如下图所示,将IBUS设置为首选项。
在这里插入图片描述
3,设置ibus开机自启动

sudo ln -s /usr/share/applications/ibus.desktop /etc/xdg/autostart/

BUG问题解决

win10远程桌面xrdp连接WSL(ubuntu20.04),登录后出现黑屏

这个问题有点坑,查了一下午资料,xrdp,xrog都卸载重装过,最后还是下面的方法弄好了,感谢博主Alex-L

1,打开startwm.sh文件

sudo vim /etc/xrdp/startwm.sh

2,添加以下内容:

unset DBUS_SESSION_BUS_ADDRESSunset XDG_RUNTIME_DIR

3,添加位置如下图:
在这里插入图片描述
4,重启xrdp

sudo service xrdp restart#没效果就用下面的命令:sudo /etc/init.d/xrdp restart

登入后提示'Authentication is Required to create a color managed device'

解决方法:

在路径/etc/polkit-1/localauthority.conf.d/处新增一个文件,文件名为 02-allow-colord.conf
文件内容如下:

polkit.addRule(function(action, subject) {
 if ((action.id == 'org.freedesktop.color-manager.create-device' ||
 action.id == 'org.freedesktop.color-manager.create-profile' ||
 action.id == 'org.freedesktop.color-manager.delete-device' ||
 action.id == 'org.freedesktop.color-manager.delete-profile' ||
 action.id == 'org.freedesktop.color-manager.modify-device' ||
 action.id == 'org.freedesktop.color-manager.modify-profile') &&
 subject.isInGroup('{users}')) {
 return polkit.Result.YES;
 }
 });

重启Ubuntu:(用命令reboot关闭,然后再打开)

重启xrdp:

sudo /etc/init.d/xrdp restart

………………………………………………………
………………………………………………………
参考并感谢:
https://blog.csdn.net/liyunxin_c_language/article/details/114107994
https://blog.csdn.net/xmh19936688/article/details/90212960
https://www.bilibili.com/s/video/BV1LA411n7BK
https://zhuanlan.zhihu.com/p/263089007
https://blog.csdn.net/u012340362/article/details/102598654
https://www./2406.html
https://zhuanlan.zhihu.com/p/337104547
https://blog.csdn.net/qq_40309341/article/details/118111857
sudo ln -s /usr/share/applications/ibus.desktop /etc/xdg/autostart/
https://blog.csdn.net/samtaoys/article/details/91042262

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多