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

centos7安装桌面客户软件并远程连接

第1步:检查虚拟机配置

首先,我们需要确认虚拟机的资源是否足够运行图形化界面。图形界面对CPU、特别是内存有一定要求。

打开您的CentOS 7虚拟机终端。

检查CPU核心数:

lscpu | grep "CPU(s):"

建议至少有 2个CPU核心

检查内存大小:

free -h

建议至少有 2GB 内存,推荐 4GB 或更多以获得流畅体验。

检查磁盘空间:

df -h /

确保根目录 / 有至少 10GB 的可用空间。

结论:如果您的配置满足或超过上述建议,那么安装桌面软件是完全可行的。

还凑活 

第2步:安装步骤

准备阶段:创建用户并更新系统

一个干净、专用的用户是成功的基础。

1.更新系统(好习惯)

sudo yum update -y

2.创建一个专门用于VNC登录的普通用户

我们创建一个名为 vncuser 的用户。

# 创建用户
sudo adduser vncuser# 为 vncuser 设置系统登录密码
sudo passwd vncuser 

(根据提示输入两次密码)

3.(可选,但推荐)将新用户加入wheel组

这样 vncuser 就能使用 sudo 命令,方便以后管理。

sudo usermod -aG wheel vncuser

安装相关软件和配置环境

第1步:安装桌面和VNC软件包

这一步和之前一样,安装XFCE桌面和TigerVNC服务。

sudo yum groupinstall "Xfce" -y
sudo yum install tigervnc-server -y

第2步:配置 vncuser 的VNC环境

这一整步都应该在 vncuser 的身份下操作。

切换到 vncuser

su - vncuser

(输入您刚才为vncuser设置的系统密码)

设置VNC连接专用密码: 执行此命令后,会提示您输入一个不小于6位的密码,这个密码是vncviewer.exe连接时要用的。

vncpasswd

配置VNC启动脚本 (xstartup): 我们将用最可靠的方式创建并配置这个文件,避免出错。

# 创建并写入第一行
echo '#!/bin/sh' > ~/.vnc/xstartup# 追加后续内容
echo 'unset SESSION_MANAGER' >> ~/.vnc/xstartup
echo 'unset DBUS_SESSION_BUS_ADDRESS' >> ~/.vnc/xstartup
echo '/usr/bin/startxfce4 &' >> ~/.vnc/xstartup

为脚本添加可执行权限(关键步骤!)

chmod +x ~/.vnc/xstartup

返回到您原来的用户(通常是root)

exit

第3步:配置系统服务文件

现在我们回到root权限,为vncuser创建服务。

复制服务模板文件(我们将使用桌面1号,即端口5901):

sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

自动替换文件中的用户名: 下面这条命令会自动将文件中的所有<USER>占位符替换为您刚刚创建的vncuser,避免手动编辑出错。

sudo sed -i 's/<USER>/vncuser/g' /etc/systemd/system/vncserver@:1.service

让系统重新加载服务配置

sudo systemctl daemon-reload

第4步:配置防火墙和SELinux

我是直接关闭了防火墙

我们将提前处理掉两个最主要的“拦路虎”。

配置防火墙

sudo firewall-cmd --permanent --add-service=vnc-server
sudo firewall-cmd --reload

临时关闭SELinux: 为了排除它对首次启动的干扰,我们暂时将其设为宽容模式。

sudo setenforce 0

第5步:启动并验证服务

万事俱备,现在我们来启动服务。

启动VNC服务

sudo systemctl start vncserver@:1.service

检查服务状态

sudo systemctl status vncserver@:1.service

这一次,您应该能看到绿色的 Active: active (running)。如果成功,请进行最后一步。如果仍然失败,请把这次的输出和/home/vncuser/.vnc/$(hostname):1.log的日志发给我。

第6步:客户端连接

在服务器终端获取IP地址: ip addr

在您Windows电脑上打开vncviewer.exe

在地址栏输入 服务器IP地址:1 (例如: 192.168.59.100:1)。

在弹出的密码框中,输入您在第2步中为vncuser设置的VNC专用密码

如果一切顺利,您将会看到一个崭新的XFCE桌面。

 第7步:安装字体包

安装中文字体(文泉驿微米黑)和英文字体(DejaVu)

sudo yum install -y wqy-microhei-fonts dejavu-sans-mono-fonts

刷新系统的字体缓存: 安装完字体后,需要执行此命令来让系统知道“新字体来了”,并建立索引。

sudo fc-cache -f -v

为了让正在运行的桌面环境加载到新安装的字体,最简单的办法是重启VNC服务。

重启服务

为了让正在运行的桌面环境加载到新安装的字体,最简单的办法是重启VNC服务。

sudo systemctl restart vncserver@:1.service

重新连接: 现在,请关闭您电脑上的VNC Viewer窗口,然后重新打开并再次连接到 服务器IP地址:1

第8步:菜单显示不全解决方案:

重置XFCE配置并重启服务

我们可以通过删除当前用户(vncuser)不完整的桌面配置,让系统在下次启动时为他生成一套全新的、默认的配置。

请严格按照以下步骤操作:

首先,请关闭您电脑上的VNC Viewer窗口,断开当前的VNC连接。

在您的SSH终端里,停止当前的VNC服务

sudo systemctl stop vncserver@:1.service

删除vncuser的XFCE配置目录(不用担心,下次登录会自动重建):

sudo rm -rf /home/vncuser/.config/xfce4

重新启动VNC服务

sudo systemctl start vncserver@:1.service

重新连接VNC: 现在,再次用您的vncviewer.exe连接到服务器。

这一次,当XFCE桌面第一次加载时,它可能会弹出一个对话框,询问您是“使用默认配置”还是“创建一个空面板”。请务必选择 “使用默认配置” (Use default configuration)

之后,您应该就能看到带有应用程序菜单的完整桌面了。

第9步:安装火狐浏览器

连接到您的VNC桌面 请先用vncviewer.exe成功连接到您的CentOS 7虚拟机,进入XFCE图形化桌面。

在VNC桌面中打开一个终端 在桌面上点击鼠标右键,选择 “打开终端(Open Terminal)”,或者从左上角的应用程序菜单中找到“终端模拟器”。

安装Firefox浏览器 在打开的这个终端里,执行以下命令:

sudo yum install firefox -y

等待安装完成。

运行Firefox 安装成功后,您可以通过两种方式运行它:

通过菜单:点击左上角的“应用程序”菜单,在“互联网(Internet)”分类下应该能找到 Firefox 的图标。

通过终端:在终端里直接输入 firefox & 并回车。

​​​​​​​

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

相关文章:

  • 学习笔记《区块链技术与应用》第五天 分叉
  • Matlab 高斯牛顿法拟合曲线
  • 力扣-200.岛屿数量
  • 01数据结构-二叉搜索树
  • PAT 甲级题目讲解:1012《The Best Rank》
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-55,(知识点:STM32,外设及其特点)
  • 力扣-124.二叉树中的最大路径和
  • LLM调研
  • 计算用户日活:从数据设计到可视化的全流程(高频场景题)
  • 秋招笔记-8.3
  • AUTOSAR进阶图解==>AUTOSAR_RS_SystemTemplate
  • 元宇宙三维化会给游戏行业带来哪些改变?
  • 什么是列存储(Columnar Storage)?深度解析其原理与应用场景
  • 常见的深度学习模块/操作中的维度约定(系统性总结)
  • io_cancel系统调用及示例
  • e2studio开发RA4M2(6)----GPIO外部中断(IRQ)配置
  • 算法题(181):最大直方矩形面积
  • datasets库 的map方法num_proc=16并行踩坑
  • Java 中的 final 关键字有哪些用法?
  • C++ 虚函数相关问题 **
  • 基于云模型的模糊综合风险评估Matlab代码
  • 网关与路由器的区别
  • access系统调用及示例
  • 延迟任务方案-DelayQueue
  • SpringBoot 2.x 升 3.x 避坑指南:企业级项目的实战问题与解决方案
  • Celery-分布式任务队列
  • MySQL深度理解-MySQL锁机制
  • 数据结构学习(day01)
  • 第八章:进入Redis的SET的核心
  • Android系统模块编译调试与Ninja使用指南