【一文搞定】在Docker中搭建centos7远程桌面环境(Xfce、Gnome两种方式)

目录

    • 前言
    • 一、基于GNOME构建远程桌面
    • 二、基于Xfce构建远程桌面(轻量级)

前言

本文提供两种安装方式,均自己测试过,最后还是选择了Xfce,因为它比较轻量级,占用资源较少。大家也可以都试试,比较感受下。

一、基于GNOME构建远程桌面

GNOME 提供一个现代、直观的用户界面,注重美观和用户友好性。GNOME 通常相对较重,对系统资源的需求较高,GNOME 是一个大型的开源社区项目,内部应用完整。这意味着在性能较低的硬件上可能会感觉较为占用资源,会出现比较卡顿情况,比如我只分配虚拟机2核2G资源,安装连接后桌面就挺卡的

docker pull centos:7	# 拉取镜像docker run --name centos-desktop-gnome --privileged -d -p 3389:3389 --ulimit memlock=-1 -td centos:7 /usr/sbin/init	# 启动容器, 并暴露端口,远程桌面端口是3389docker exec -it centos-desktop-gnome bash	# 进入容器环境yum grouplist	# 查看支持的环境yum groupinstall GNOME Desktop -y	# 安装gnome环境,这个挺大的yum install -y epel-release	# 感兴趣可以查下epel-release和xrdpyum install -y xrdpsystemctl start xrdp	# 启动xrdpsystemctl enable xrdpnetstat -ntlp |grep xrdp	# 检查是否启动成功passwd	# 设置登录密码,然后本地windows输入ip和用户名连接即可systemctl stop firewalld	# 若连不上,很可能就是没关闭防火墙,要注意!!!虚拟机防火墙,容器防火墙

本地windows用远程桌面连接masterIp后,因为最初已经设置了端口映射,所以能直接访问到部署的容器。

连接上后,远程桌面启动终端,ifconfig命令没有的话,可以输入命令
yum install -y net-tools安装一下,这就成功了
在这里插入图片描述

如果你想把这个镜像打包,可以再执行下面操作

docker stop <container_name_or_id>	# 确保容器处于停止状态docker commit <container_name_or_id> <new_image_name>	# 创建新镜像docker images	# 查看所有镜像docker start container_name	# stop后可用start再启动

这个镜像打包出来,查看镜像发现差不多2.5G,真的大,主要是资源占用比较多,分配内存小,远程桌面用起来贼卡

二、基于Xfce构建远程桌面(轻量级)

Xfce 是一个轻量级、快速、而且资源占用相对较少的桌面环境。它提供了一些基本的桌面功能,但相较于 GNOME 来说,它更注重性能和资源效率,所以用这个再试试。

docker pull centos:7	# 拉取镜像,若已拉取则无需再拉取docker run --name centos-desktop-xfce --privileged -d -p 3389:3389 --ulimit memlock=-1 -td centos:7 /usr/sbin/initdocker exec -it centos-desktop-xfce bashyum install -y epel-releaseyum install -y xrdpyum groups install -y Xfce	# 基于上面epel-release,得先安装它yum install -y cjkuni-ukai-fonts	# 中文字体yum install vim	# 安装vim编辑器vim ~/.Xclients# 编辑如下内容
#!/bin/bash
XFCE="$(which xfce4-session 2>/dev/null)"
exec "$XFCE"chmod +x ~/.Xclients	#执行权限systemctl start xrdp	# 若重启了容器,也要重启xrdp,否则连不上passwd	# 设置登录密码

安装成功后,本地windows连接进入后,虽然没Gnome那么高清,相比模糊一丢丢,但一点也不卡,进入或操作都很流畅,果然是轻量级

在这里插入图片描述

然后也按照之前方式打包镜像,大小是1.55G,少了1G
在这里插入图片描述

拓展:若想直接用这种自制Linux桌面环境,只要基于centos7作为基础,再加入桌面化环境,并打包成镜像,就可以上传到远程仓库,然后以后拉取这个打包后的新镜像自动部署即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/163862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

外地人可以在上海当老师吗

随着社会的发展&#xff0c;越来越多的人涌入大城市&#xff0c;其中也包括上海。在这个繁华的城市里&#xff0c;许多人都梦想成为一名老师&#xff0c;但是外地人可以在上海当老师吗&#xff1f; 首先需要了解上海的教育政策。根据相关规定&#xff0c;外地人可以在上海当老师…

角色管理--产品角色负责人

研发组织管理--角色管理--产品角色负责人 定位 作为管理者&#xff0c;建设&#xff0c;管理&#xff0c;优化一个可控可自驱的产品经理团队&#xff0c;并保持对应业务领域的产品竞争力&#xff0c;在保证业界平均水平的基础上&#xff0c;不断尝试创新&#xff0c;争做行业…

C#实现图片背景色透明(亲测有效)

重要代码&#xff1a; Bitmap bm new Bitmap(origin); bm.MakeTransparent(); string Name_ "C:\\Users\\xx\\Downloads\\download\\" DateTime.Now.Ticks.ToString() ".ico";Size size new Size(256, 64);ConvertImageToIcon("C:…

视频网关简介

在数字化时代&#xff0c;视频通信已经成为了人们日常生活和工作中的重要部分。为了满足不同设备和平台之间的视频通信需求&#xff0c;各种视频协议应运而生。然而&#xff0c;这些协议之间的差异使得相互通信变得复杂。因此&#xff0c;视频网关作为一种重要的网络设备&#…

Oracle中文显示???????解决办法

项目场景&#xff1a; Oracleoracle中文显示???解决办法 问题描述 原因分析&#xff1a; Oracle中文显示???通常是由于字符集不匹配或者编码问题导致的。当数据库中的数据使用的是某种字符集&#xff0c;而客户端或者应用程序使用的是另一种字符集时&#xff0c;就会出…

解决Android端libc++_shared.so库冲突问题

前言 随着App功能增多&#xff0c;集成的so库也会增多&#xff0c;如果系统中多个so库都使用系统自动生成的libc_shared.so库&#xff0c;如果多个SDK都有该so包&#xff0c;就会出现报错&#xff1a; 解决办法 如果出现该问题&#xff0c;说明您的项目中有多个SDK共同依赖了C标…

fastjson2解析多为小数报错 TODO问题

解决方式&#xff1a;使用谷歌的gson可以解析多为小数

Java常见的bug

Java是一种强类型、面向对象的编程语言,有一些常见的bug或错误类型,尽管具体的bug会因项目和代码的不同而有所差异。以下是一些Java开发中常见的bug类型: 空指针异常(NullPointerException): 尝试在一个空对象上调用方法或访问属性时会引发空指针异常。这通常发生在没有对…

【双指针】有效三角形的个数

有效三角形的个数 611. 有效三角形的个数 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定一个包含非负整数的数组 nums &#xff0c;返回其中可以组成三角形三条边的三元组个数。 示例 1: 输入: nums [2,2,3,4] 输出: 3 解释:有效的组合是: 2,3,4 (使用第一个 2…

MIME 类型

MIME 类型 MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的标准&#xff0c;用来表示文档、文件或字节流的性质和格式。 MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。 浏览器通常使用 MIME 类型&#xff08;而不是文件扩展名&am…

如何编写一份优质的测试用例?

前言 这篇文章主要是想要写给测试小伙伴们的&#xff0c;因为我发现还是有很多小伙伴在遇到写测试用例的时候无从下手&#xff0c;我就想和大家简单的聊聊&#xff0c;分享一下我的一些见解和经验。 用例的五个构成元素&#xff1a; 用例标题前置条件测试步骤期望结果后置条…

05 Powershell发送http请求

一&#xff1a;发送http请求 1、语法&#xff1a; Invoke-WebRequest -uri "请求地址" -UseBasicParsing 2、实例&#xff1a; $result Invoke-WebRequest -uri "http://rdc.mingyuanyun.com/rdc-service/api/v2/apps/$($app)/versions/maxpackversion"…

腾讯又出王炸产品!使用混元大模型进行数据报表测试

最近腾讯出了自己的大模型&#xff0c;命名混元。 现在已经开始内测&#xff0c;感谢腾讯小伙伴卢晓明同学帮我们提前申请到了内测机会&#xff0c;接下来我们用腾讯混元大模型与实际工作结合&#xff0c;开始我的报表测试之旅。 腾讯混元大模型官方入口:https://hunyuan.ten…

Java 基础面试题大概有哪些?

Java基础面试题的范围非常广泛&#xff0c;一般包括以下几个方面&#xff1a; 一、Java基础语法 数据类型&#xff1a;Java中包括基本数据类型和引用数据类型&#xff0c;基本数据类型包括byte、short、int、long、float、double、char、boolean&#xff0c;引用数据类型包括…

三十分钟学会Shell(下)

Shell 3.1 运算符 3.1.1 算数运算符 在Shell脚本中&#xff0c;算术运算符用于执行基本的数学运算。Shell支持多种算术运算符&#xff0c;包括加、减、乘、除等。以下是关于Shell算术运算符的一些方法以及相应的示例说明&#xff1a; 加法&#xff1a; a10 b20 c$((a b)) …

【第二部分:结构】ARM Realm Management Monitor specification

目录 概念Realm概述Realm执行环境Realm寄存器Realm内存Realm处理器功能IMPDEF系统寄存器 Realm属性Realm活性Realm生命周期状态状态转换 Realm参数Realm描述符 颗粒Granule颗粒属性颗粒所有权颗粒生命周期状态状态转换颗粒抹除 Realm执行上下文概述REC属性REC指数和MPIDR值REC生…

洞悉今日,把握明日:咨询公司的关键策略揭秘

在快节奏且充满不确定性的商业环境中&#xff0c;能够洞悉当前市场动态并预测未来趋势的企业更有可能获得成功。咨询公司在这个过程中扮演着关键角色&#xff0c;本文将探讨咨询公司如何帮助企业洞悉现状并把握未来趋势&#xff0c;以及他们运用的关键策略。 咨询公司的市场洞察…

百度地图,地市区域描边

描边首先需要各个点的经纬度数据 json数据下载 直接复制粘贴进入页面ctrls保存就可以了。 如果需要某省中的各个地市描边可以点击这个省的进行下载&#xff0c;这里以山东为例&#xff0c;我是先下载了山东的json数据,但是发现只有山东省下各个市的描边&#xff0c;于是又下了中…

Mac下载的软件显示文件已损坏,如何解决文件已损坏问题,让文件可以正常运行

Mac下载的软件显示文件已损坏&#xff0c;如何解决文件已损坏问题&#xff0c;让文件可以正常运行 设备/引擎&#xff1a;Mac&#xff08;11.6&#xff09;/Mac Mini 开发工具&#xff1a;终端 开发需求&#xff1a;让显示已损坏的文件顺利安装到电脑 大家肯定都遇到过下载…

ESP32 MicroPython 颜色及二维码识别⑫

ESP32 MicroPython 颜色及二维码识别⑫ 1、颜色识别2、二维码识别 1、颜色识别 使用AI颜色识别功能&#xff0c;可以实现颜色辨别、颜色追踪等应用。颜色识别模型内置有9种常见的颜色识别和一种颜色学习识别模式。他们分别是&#xff1a; ai.COLOR_RED 表示识别红色 ai.COLOR…