美文网首页
wsl2安装archlinux并配置KDE图形化界面-基于Tig

wsl2安装archlinux并配置KDE图形化界面-基于Tig

作者: 水无月的雨 | 来源:发表于2023-01-29 11:31 被阅读0次

wsl2安装archlinux并配置KDE图形化界面-基于TigerVNC

参考网上的教程,我在wslg+manjaro上实现了KDE部分软件以及xfce4桌面的可视化,但始终不能实现KDE桌面的可视化。
搜索一番后发现kali发行版声称在wsl2上提供了完整的kali桌面体验,完全兼容wslg,共享剪贴板,分别采用TigerVNC、VcXsrv、xrdp,实现了窗口模式、无缝模式和增强模式。
结合目前的需求和网上的教程,终于用TigerVNC实现了wslg+manjaro上KDE桌面的可视化。
由于Distrod、github、LxRunOffline均暂未提供manjaro的快捷安装方式,我使用的是wsl官网演示的虚拟机+docker导出再导入的套娃方法。对于wsl而言,manjaro和archlinux没有太大差异。因此这里以archlinux为例,快速搭建arch软件源+kde可视化桌面,同时验证该方法在arch系发行版的通用性。

此外,Windows商店在2023.01.23上架了Arch WSL,根据评论和测试,不支持中文本地化,暂不做考虑。

参考

先决条件

  • wsl:win 10 2004+(内部版本19041+)或win 11,提供在windows上使用linux程序、操作linux文件系统的能力,比传统的虚拟机或双启动设置占用内存和硬盘少。低版本需要手动安装,此处不介绍。
  • wslg:win 10 内部版本19044+或win 11,自动创建linux程序的图形化界面快捷方式,并可以使用alt-tab切换linux和windows窗口。
  • (可选)虚拟GPU,启用硬件加速OpenGL渲染。包括IntelAMDNVIDIA显卡的驱动程序。对硬件加速没有特别要求的可以跳过,不影响图形显示。

安装WSL

  • 在window徽标右键单击
  • 以管理员模式打开powershell或cmd或终端
  • 在终端输入如下命令并回车以启用wsl功能:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  • 重启
  • 再次以管理员模式打开终端,输入以下命令并回车以启用虚拟机平台功能:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  • 再次重启
  • 下载wsl2 linux内核更新包并运行
  • 再次以管理员模式打开终端,输入以下命令并回车以设置wsl默认版本为wsl2:
wsl --set-default-version 2

安装archlinux发行版并创建用户

  • 下载Distrod以安装多个linux发行版并让wsl2支持systemd。
  • 解压缩Distrod_wsl_launcher压缩包,双击运行其中的distrod_wsl_launcher.exe
  • 在终端中输入2,以从linuxcontainers.org获取拥有的wsl2发行版列表。
  • 在终端中输入archlinux,获取linuxcontainers.org拥有的archlinux版本
  • 在终端中输入1,下载当前版本。将archlinux安装于%LocalAppData%\Distrod,该发行版默认名为Distrod。
  • 输入linux用户名以创建用户,无需和windows用户名一致。
  • 创建用户密码,输入时不会显示,回车即可。
  • 再次输入密码,回车。
  • Distrod完成安装,会自动以创建的用户和bash登录archlinux。
  • 在窗口输入sudo /opt/distrod/bin/distrod enable确保systemd被启用。
  • 在窗口输入sudo nano /etc/wsl.conf,使用nano文本编辑器创建/etc/wsl.conf文件,输入以下内容并按下 <kbd>ctrl+c ctrl+x</kbd>设置默认登录用户。
[user]
default=你创建的用户名
  • 关闭该窗口。

终端操作wsl的基本用法

  • [建议]从微软商店下载 Windows Terminal,或者从网上下载conemutabby等对wsl提供支持的终端并打开。
  • 单击终端标题栏的加号右侧按钮,单击Distrod即可登录到archlinux,若没有Distrod需要单击设置,在配置中进行刷新/复制。
  • 可选的方式是在powershell或cmd中输入wsl -d Distrod登录到archlinux。
  • 按下 <kbd>ctrl+d</kbd> 退出archlinux。如果在powershell终端登录到wsl,将退出到powershell,如果在单独窗口登录,将关闭该窗口。
  • 在powershell中输入wsl -d Distrod登录到Distrod;输入wsl -t Distrod终止Distrod;输入wsl --shutdown立刻终止所有发行版和wsl虚拟机。

[可选]重新分配archlinux安装位置和名称

用Distrod安装的发行版默认名为Distrod,且虚拟磁盘位于C盘的隐藏目录%LocalAppData%。如果希望发行版的名字更加明确或更换虚拟磁盘位置(以发行版名称改为arch、安装到E盘为例),按本节进行操作。如果没有这些需求,跳过本节,但需要注意后续章节中所有wsl/wslg xxx arch xxx命令和快捷方式均需将arch替换为Distrod。

  • 在终端打开powershell,输入:
wsl --shutdown
wsl -l -v #查看当前安装的发行版

mkdir E:arch_wsl #创建存放的目录,自己选择合适的存储路径,注意导入时无法放在根目录,有条件的可放在固态硬盘,读取、导入、导出均会更快
wsl --export Distrod E:arch_wsl/arch_bk.vhdx --vhd #导出为虚拟磁盘文件
#或者 wsl --export Distrod E:arch_wsl/arch.tar导出为压缩包,经测试输出vhdx文件更快,因为就是复制粘贴,而tar还需要进行压缩
wsl --import arch E:arch_wsl E:arch_wsl/arch_bk.vhdx --vhd #导入archlinux,安装位置为E:arch_wsl
#或者 wsl --import arch E:arch_wsl E:arch_wsl/arch_bk.tar
wsl -d arch #登录到arch,确保能够登录到archlinux,且登录用户为创建的用户

ctrl+d登出archlinux

wsl --unregister Distrod #删除Distrod发行版

wsl -l -v #查看当前安装的发行版

为archlinux配置KDE桌面并可视化

为archlinux换源

  • 打开终端,登入arch
  • 输入sudo nano /etc/pacman.d/mirrorlist添加中科大镜像源,在第一行添加以下内容后按下 <kbd>ctrl+s ctrl+x</kbd>退出:
Server=https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
  • 输入sudo nano /etc/pacman.conf添加archlinuxcn镜像源。找到#ParallelDownloads = 5,将#号删除,根据网络情况更改并行下载数,在最后一行添加以下内容后按下 <kbd>ctrl+s ctrl+x</kbd>退出:
[archlinuxcn]
Server=https://mirrors.ustc.edu.cn/archlinuxcn/$arch
  • 在终端输入:
sudo pacman -Syyu #更新系统
sudo pacman -S archlinuxcn-keyring #导入GPG密钥
sudo pacman -S fish yay #安装fish外壳和yay包管理器

下载、配置kde桌面和常用软件

  • 在终端输入:
yay -S plasma konsole dolphin yakuake spectacle kate breeze-icons wqy-zenhei

此时就安装了kde系的图形化系统设置、终端、文件管理器、文本编辑器图标及中文字体。在开始菜单应该就可以找到konsole(arch)、kate(arch)等快捷方式,可以单击后打开图形化程序,yakuake、spectacle等需要捕获全局热键和桌面支持的程序还无法运作。如果没有自动生成快捷方式,在powershell中终止arch并重启以生效。

安装tigervnc并配置,使KDE桌面可视化

  • 在终端输入:
yay -S tigervnc # 安装tigervnc虚拟网络控制台
vncpasswd #设置vnc的密码并确认,需要至少6位密码
sudo nano /etc/tigervnc/vncserver.users #打开vncserver的用户配置
  • 在nano编辑器中,将光标移动至最后一行,输入:1=你创建的用户名,按下 <kbd>ctrl+s ctrl+x</kbd>。其中1可以更换为其他数,以避免重叠。
  • 在终端输入:
sudo systemctl start vncserver@:1 #运行vnc服务器
vncviewer -passwd ~/.vnc/passwd 127.0.0.1:1 #运行vnc查看器,其中127.0.0.1为主机ip,可以替换为localhost或者省略
  • 现在就可以进入远程KDE桌面进行图形化操作了,yakuake、spectacle等需要桌面的程序就可以正常运行了。按下F8可以打开vncviewer菜单,选择设置可以进行常用设置。
  • 若要关闭该视窗,按下F8,点击disconnect可以断开连接;或者直接按×关闭vncviewer窗口。不要选择关机,否则需要重新启动vnc服务器甚至重启arch发行版。
  • 在终端输入vncviewer或者在windows开始菜单搜索vncviewer可以显示图形化连接窗口,在该界面的设置会自动保存,如访问的服务器、全屏、全彩、上下文菜单快捷键、是否共享剪贴板等。
  • linux上运行vncviewer的全屏模式会被windows的任务栏挡住(好处是alt-tab、win-tab可以在windows和linux窗口间切换),解决方法如下:
    1. F8,重新点击fullscreen
    2. 将windows任务栏设置为智能隐藏(并不智能)
    3. 在windows安装tigervnc,从windows的tigervnc访问可以确保全屏正常显示
  • 如果想要在登录arch发行版时就启动vnc服务器,在终端输入sudo systemctl enable vncserver@:1将其设置为开启自启(会延长启动时间)。
  • 如果想要为打开kde桌面创建windows快捷方式,在windows开始菜单搜索arch的任意程序快捷方式,右键打开文件所在位置,复制并创建副本,重命名为合适的名字,右键打开属性,将“目标”中cd "~" --后面的内容替换为vncviewer -passwd ~/.vnc/passwd :1。更改图标为合适的图标。右键添加到开始菜单或者复制到想要存放的位置。
  • 如果想要用windows上的vncviewer创建快捷方式,在windwos开始菜单搜索tigervnc(无发行版后缀),右键打开所在位置,发送到桌面后,在桌面点击快捷方式,右键打开属性,在Windows TigerVNC安装目录\TigerVNC\vncviewer.exe后增加-passwd \\wsl.localhost\arch\home\你创建的用户名\.vnc\passwd :1即可。

[可选]配置中文界面

  • 在arch的终端中输入:
fish #进入fish外壳
sudo nano /etc/locale.gen #打开本地化配置文件
  • 找到#en_US.UTF-8 UTF-8#zh_CN.UTF-8 UTF-8,将#号删除,按下 <kbd>ctrl+s ctrl+x</kbd>退出。
  • 在终端输入:
sudo locale-gen #生成本地化内容,还需要对环境变量进行设置
  • 使用任意文本编辑器打开家目录下的.bashrc,在末尾添加:
export LANG="zh_CN.UTF-8"
export LANGUAGE="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
export $(dbus-launch)
  • 如果使用fish,在家目录/.config/fish目录下打开config.fish,在末尾添加:
export LANG="zh_CN.UTF-8"
export LANGUAGE="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
export $(dbus-launch)
  • 现在所有提供本地化支持的程序都将显示中文了。如果没有立刻生效,再次输入bash/fish更新环境变量。如果某些程序仍显示异常,重启arch发行版。

相关文章

网友评论

      本文标题:wsl2安装archlinux并配置KDE图形化界面-基于Tig

      本文链接:https://www.haomeiwen.com/subject/kwfphdtx.html