当前位置: 首页 > news >正文

WSL创建虚拟机配置VNC

第一阶段:安装 WSL 和 CentOS 7

1.启用 Windows 功能

管理员身份打开 PowerShell。

执行以下命令以启用“适用于 Linux 的 Windows 子系统”:

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

接着,启用“虚拟机平台”功能:

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

完成后,重启电脑

2.安装 CentOS 7

由于 CentOS 7 未在微软商店上架,您需要从可信的第三方来源(例如 GitHub 上的 wsldl 项目)手动下载其 WSL 安装包。网址:https://github.com/mishamosher/CentOS-WSL/releases/tag/7.9-2211

下载的通常是 .zip 压缩包,解压后运行其中的 .exe 文件即可自动安装。首次运行时,系统会要求您为 CentOS 7 创建一个用户名和密码,请务必记住。

3.进入 CentOS 7 环境

安装完成后,打开 PowerShell 或 Windows Terminal,输入以下命令即可进入 CentOS 7 系统:

wsl -d CentOS7

第二阶段:在 CentOS 7 中安装图形化界面 (XFCE)

1.更新软件包

在 CentOS 7 终端中,运行以下命令以确保所有软件包都是最新的:

sudo yum update -y

更新软件包解决方案

我们需要手动创建并粘贴正确的配置内容来修复这个问题。请按以下步骤操作:

  1. 删除所有错误的配置文件 首先,删除掉之前下载的所有可能错误的配置文件,确保一个干净的环境。

    sudo rm -f /etc/yum.repos.d/CentOS-*
    
  2. 手动创建并编辑新的配置文件 我们将使用 vi 编辑器(CentOS 自带)来创建一个新的 CentOS-Base.repo 文件。

    sudo vi /etc/yum.repos.d/CentOS-Base.repo
    

    执行命令后会进入 vi 编辑器界面。请按以下步骤操作:

    • 按一下键盘上的 i 键,左下角会出现 -- INSERT --,表示进入插入模式

    • 完整地复制以下所有文本内容,然后在您的终端窗口中粘贴进去:

      # CentOS-Base.repo
      #
      # The mirror system uses the connecting IP address of the client and the
      # update status of each mirror to pick mirrors that are updated to and
      # geographically close to the client.  You should use this for CentOS updates
      # unless you are manually picking other mirrors.
      #
      # If the mirror system is using mirrors that are not up to date for you,
      # you can disable the mirror system entirely by removing these two lines
      # and enabling the baseurl line below.
      #[base]
      name=CentOS-7 - Base
      baseurl=http://vault.centos.org/7.9.2009/os/x86_64/
      gpgcheck=1
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#released updates
      [updates]
      name=CentOS-7 - Updates
      baseurl=http://vault.centos.org/7.9.2009/updates/x86_64/
      gpgcheck=1
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that may be useful
      [extras]
      name=CentOS-7 - Extras
      baseurl=http://vault.centos.org/7.9.2009/extras/x86_64/
      gpgcheck=1
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages
      [centosplus]
      name=CentOS-7 - Plus
      baseurl=http://vault.centos.org/7.9.2009/centosplus/x86_64/
      gpgcheck=1
      enabled=0
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
      
    • 粘贴完成后,按一下键盘左上角的 Esc 键,退出插入模式。

    • 输入 :wq (冒号、w、q),然后按回车键。这个命令会保存文件并退出 vi 编辑器。

  3. 清除缓存并重新生成 现在我们有了正确的配置文件,再次执行清除和生成缓存的命令:

    sudo yum clean all
    sudo yum makecache
    

    如果这次配置正确,您会看到系统开始从 vault.centos.org 下载元数据 (metadata),最后显示 Metadata cache created

  4. 再次尝试更新 一旦 yum makecache 成功执行,您就可以继续进行系统更新了:

    sudo yum update -y
    

    这次应该就可以顺利进行了。

2.安装 XFCE 桌面环境

XFCE 是一个轻量化的桌面环境,适合在资源有限的系统上运行。执行以下命令进行安装:

我们需要先安装 EPEL 仓库,然后再安装 XFCE。

请在您的 CentOS 7 命令行终端按顺序执行以下步骤:

安装 EPEL 仓库 执行以下命令来安装并启用 EPEL 仓库:

sudo yum install epel-release -y

再次安装 XFCE 桌面环境 安装好 EPEL 之后,系统就能够找到 XFCE 软件包组了。现在再次执行安装命令:

sudo yum groupinstall "XFCE" -y

这次您应该会看到系统开始下载并安装大量的软件包。第三阶段:安装并配置 VNC 服务器

安装 VNC 服务器

执行以下命令安装 TigerVNC Server 软件包:

sudo yum install tigervnc-server -y

设置 VNC 密码

运行 vncserver 命令来生成初始配置并设置连接密码。这是您之后从 Windows 连接时必须使用的密码。

vncserver

配置 VNC 以启动 XFCE

使用文本编辑器(如 vinano)编辑 VNC 的启动脚本:

nano ~/.vnc/xstartup

修改文件内容

xfce4-session &

修改后的文件应该看起来非常干净,只有这一行命令。

删除或注释掉文件里原有的所有内容。您可以用 Ctrl+K 一行行地剪切删除,或者在每一行的行首加上 # 号将它们注释掉。

然后,只保留以下这一行内容

保存并退出

按下 Ctrl + X

按下 Y 确认保存

按下 Enter 确认文件名
保存并退出文件,然后为该文件授予可执行权限:

chmod +x ~/.vnc/xstartup

 首先,杀掉旧的 VNC 进程:

vncserver -kill :1

然后,启动一个新的 VNC 进程:

vncserver :1

3.如何将桌面变为中文

请您在 CentOS 7 命令行终端中,按顺序执行以下步骤:

安装中文语言包支持 执行以下命令来安装完整的中文语言包组:

sudo yum groupinstall "Chinese Support" -y

设置您的用户环境语言 执行以下命令,将中文设置为您当前用户的默认语言。这个命令会将语言配置写入到您用户目录下的 .bashrc 文件中。

echo "export LANG=zh_CN.UTF-8" >> ~/.bashrc

立即生效语言设置 执行以下命令,让上一步的设置在当前终端会话中立即生效:

source ~/.bashrc

重启 VNC 服务 最后,也是最关键的一步,您需要重启 VNC 服务。VNC 服务在启动时会读取当前的系统语言设置来决定桌面的语言。

vncserver -kill :1
vncserver :1

完成以上所有步骤后,请您再用 VNC Viewer 重新连接。这次,您应该就能看到一个完整的中文桌面环境了。

4.一些去其他工具安装方法

1.安装unzip解压命令

您只需要通过 yum 命令来安装它即可。请在当前的终端窗口中执行以下命令:

sudo yum install unzip -y

这个命令会告诉系统:

  • sudo: 使用管理员权限。

  • yum install: 我要安装一个软件。

  • unzip: 软件的名字是 unzip

  • -y: 自动同意安装过程中的所有提示。

等待安装完成后,您就可以再次执行之前的解压命令了:

2.安装qt5

根据您的截图:

  1. sudo yum install qt5-qtwidgets -y 失败,提示“没有可用软件包”。

  2. 紧接着,sudo yum search qt5 | grep widgets 这条搜索命令没有任何输出

第二条命令没有任何输出,是一个非常强的信号。它说明在您系统当前配置的所有软件仓库中,连一个包含 qt5widgets 关键字的软件包都找不到。这表明问题很可能出在软件仓库的配置或缓存上,特别是我们之前安装的 EPEL 仓库可能没有被 yum 正确地读取。

我们需要强制 yum 清理所有旧的缓存数据,然后重新从服务器下载最新的软件包列表。

请按顺序执行以下步骤:

1.强制清理所有缓存 执行以下命令,这会删除所有 yum 下载的临时数据和缓存:

sudo yum clean all

2.重新生成缓存 执行以下命令,强制 yum 重新从服务器下载所有已配置仓库的软件包列表:

sudo yum makecache

在执行这个命令时,请留意观察输出,您应该能看到它正在从 epel 仓库下载数据。如果看到有关于 epel 的错误信息,请截图给我。

3.再次搜索 完成以上步骤后,我们再用一个更广泛的条件来搜索一次,看看是否能找到 Qt5 相关的包:

sudo yum search qt5

显示有很多包,请在您的终端中,执行以下命令来安装这个基础图形库:

sudo yum install qt5-qtbase-gui -y

3.安装pdf阅读和文本编辑器

您好,您遇到的这个问题非常正常。一个最小化安装的桌面环境,就像一台新手机,很多方便的App(比如PDF阅读器、好用的文本编辑器)都需要我们自己来安装。

您可以通过 yum 命令轻松安装这些软件。请打开一个终端(Terminal),然后根据您的需要执行以下相应的命令:

1. 安装PDF阅读器

为了能打开 .pdf 文件,我们来安装 Evince,它是GNOME桌面环境默认的文档查看器,非常轻量好用。

请执行以下命令来安装:

sudo yum install evince -y

安装完成后,您再双击PDF文件,系统应该就会自动用 Evince 来打开它了。

2. 安装一个好用的文本编辑器

为了能方便地查看和编辑 .sh 脚本文件、.txt 文本文件、.log 日志文件等,我们来安装 gedit,它就像是Linux下的“记事本”高级版。

请执行以下命令来安装:

sudo yum install gedit -y

安装完成后,您可以:

  • 直接在终端里输入 gedit 启动它。

  • 或者右键点击任何文本文件(如 .sh 文件),在“打开方式”中选择用 gedit 打开。

http://www.dtcms.com/a/325117.html

相关文章:

  • Linux系统编程——进程控制
  • 编程基础之多维数组——计算鞍点
  • 六、RuoYi-Cloud-Plus OSS文件上传配置
  • [Python 基础课程]常用函数
  • 数学与应用数学专业大学如何规划?就业前景怎么样?
  • vue3中 getCurrentInstance
  • 疯狂星期四文案网第35天运营日记
  • 补卡day16
  • special topic 8 (2) and topic 9 (1)
  • 亚麻云之全球加速器——CloudFront(CDN)服务入门
  • 系统测试讲解 - Java使用selenium实现滑块验证的处理详解
  • 关于linux操作系统下的文件操作方法:
  • 深度解析1688关键字搜索API接口:技术实现与应用探索
  • 【Nginx知识】nginx日志配置详解
  • 使用线性降维方法进行数据降维
  • token危机解决?扩散模型数据潜力3倍于自回归,重训480次性能仍攀升
  • Java历代JDK核心特性演进(JDK9-21精华版)
  • 【Docker实战入门】从核心概念到镜像构建
  • 微服务架构中过滤器(Filter)与拦截器(Interceptor)的区别
  • 线程池111
  • Spring Boot - 内置的9个过滤器用法
  • 串联所有单词的子串
  • 【力扣198】打家劫舍
  • Windows选择文件自动删除及输入框自动打字的解决办法
  • 当varchar和Nvarchar关联
  • 6A 工作流:让 Cursor、Trae 等AI编程助手按流程交付的实战手册
  • Java 基础编程案例:从输入交互到逻辑处理
  • 基于django的宠物用品购物商城的设计与实现
  • [创业之路-540]:经营分析会 - 如何实现销售0到1营收的突破
  • 从DDPM对比学习Diffusion Policy:生成模型到策略学习的演进