给docker中的ubuntu系统安装桌面程序

2023-05-16

原本服务器是centos的,用的不是很习惯,也为了可以分割功能,于是在服务器上装了docker,docker里装了ubuntu系统,具体过程可以参见https://blog.csdn.net/hpf247/article/details/80078240中的内容。但是这样只能连到一个命令行,用的还是不习惯,于是找了一个给linux系统安装桌面程序方法使得我们可以远程访问docker中的桌面

由于远程桌面访问必须要打开端口3389,所以在启动docker中ubuntu系统的时候要首先将linux系统的3389端口映射出来

 docker run -tid -p 10000:22 -p 10001:3389 --name lalashi --privileged=true ceshi /bin/bash

这里我们将docker中ubuntu系统的端口22映射到外面的10000端口上(为了上传一些文件),将docker中linux系统的端口3389映射到外面的10001端口上(为了可以远程访问)

接下来进入到ubuntu中

docker exec -it lalashi /bin/bash

首先我们安装XFCE桌面,注意我们要有sudo的权限安装

sudo apt update
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

接下来,我们安装xrdp以保证可以实现远程连接

sudo apt install xrdp

默认情况下,Xrdp 使用/etc/ssl/private/ssl-cert-snakeoil.key文件对于『ssl-cert』用户组成员可读。执行下面的命令将xrdp用户添加到这个用户组:

sudo adduser xrdp ssl-cert

之后我们需要配置xrdp,首先打开xrdp的配置文件,添加一些内容,并且开启xrdp服务

sudo vim /etc/xrdp/xrdp.ini
exec startxfce4
sudo service xrdp start

由于开启3389端口是十分危险的,所以需要开防火墙防护(由于我是开在docker中的,所以这部操作没有做),但如果是开在外面的服务器上,一定要做这一步

想要允许 对于 Xrdp 服务器的来自于某个 IP 地址或者某个 IP 范围的访问,在这个例子中192.168.1.0/24,运行下面的命令:

sudo ufw allow from 192.168.1.0/24 to any port 3389

这时我们就已经完成了服务器上的配置,下面我们打开本机远程连接连接即可。

注意由于docker的3389端口是映射到了外面服务器的10001端口,所以我们要连接的是服务器的10001的端口,连入的结果如下图所示,我们输入密码即可

 

开始连入的时候可能存在着命令行打不开的情况,可以点击上方的 applications,点击settings,再点击settings manager。选择perferred applications

选择 utilities,将file manger改为Thunar,并将Terminal Emulator改为xfce Terminal即可

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

给docker中的ubuntu系统安装桌面程序 的相关文章

随机推荐

  • 跟涛哥一起学嵌入式 13:嵌入式学习三剑式

    前言 学习一门技术犹如修炼一门武功 在成为高手的路上 xff0c 无数英雄豪杰不尽相同 xff0c 按照武侠小说的套路 xff0c 大侠之所以成为大侠 xff0c 绝对不可能平平淡淡 xff0c 肯定有一段开挂的传奇人生 xff1a 要么被
  • 【C/C++】- STL(ing)

    目录 一 概述 二 模板 三 迭代器 1 什么是迭代器 例 1 为数组容器 链表容器编制共同显示函数 2 进一步理解迭代器 3 STL迭代器 xff08 1 xff09 输入迭代器 xff1a xff08 2 xff09 输出迭代器 xff
  • OpenStack 运维异常问题处理小结

    在OpenStack云平台运维过程中会遇到创建虚机 创建磁盘 删除磁盘和虚机过程中出现相关问题 xff0c 本篇针对运维过程中的一些问题做一些小结 xff0c 希望可以给云运维的你们提供一些帮助 问题1 创建磁盘提示error报错 root
  • 续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

    书接前文 xff0c 上篇文章我们教大家如何三分钟时间用 Laf 实现一个自己的 ChatGPT 一觉醒来 xff0c GPT 4 已经发布了 xff01 GPT 4 实现了真正的多模态 xff0c 可以把纸笔画的原型直接写出网页代码 读论
  • 【EtherCAT理论篇】二、EtherCAT工作原理

    1 EtherCAT系统组成 EtherCAT是一种实时以太网技术 xff0c 由一个主站设备和多个从站设备组成 主站设备使用标准的以太网控制器 xff0c 具有良好的兼容性 xff0c 任何具有网络接口卡的计算机和具有以太网控制的嵌入式设
  • 【EtherCAT分析】一、EtherCAT从站硬件分析

    1 EtherCAT从站控制芯片 EtherCAT从站控制芯片ESC是实现EtherCAT数据链路层协议的核心 xff0c 它处理EtherCAT数据帧 xff0c 并提供数据接口 从站控制器通常都有一个内部的DPRAM xff0c 并提供
  • 【EtherCAT实践篇】六、更改XML,增加输入输出变量

    目的 xff1a 在EtherCAT开发板上IO程序 xff08 基于SSC的IO通讯 xff09 基础上进行修改 xff0c 实现16路拨码开关输入 xff0c 以及16路LED输出 EtherCAT从站增加变量的操作包括两个部分 xff
  • 【SOEM主站】一、SOEM主站环境搭建及连接板子测试

    目的 xff1a 在windows环境下搭建SOEM主站 xff0c 并利用SOEM自带例程测试EtherCAT板子从站板通讯效果 1 SOEM主站环境搭建 xff08 1 xff09 安装VS xff1a 我这里安装的是VS2017 xf
  • 【EtherCAT实践篇】七、更改XML示例2,增加16位模拟输入

    目的 xff1a 在EtherCAT开发板上IO程序基础上增加一个16位的变量mytest xff0c 用于传输模拟量发送给主站 1 EtherCAT增加变量说明 在实际使用中 xff0c 可现有程序的输入输出变量可能不能直接满足实际需求
  • 【EtherCAT实践篇】八、更改XML示例3,增加16位模拟DAC输出

    目的 xff1a 在EtherCAT开发板上IO程序 xff08 基本IO通讯 基于SSC xff09 基础上进行修改 xff0c 增加一路模拟量输出 xff0c 并输出给DAC管脚 由于STM32F405底板具有DAC输出功能 xff0c
  • Pixhawk固件PX4之串口通讯

    1 目的 为进一步扩展pixhawk的接口及功能 xff0c 通过pixhawk现有接口 xff08 串口 I2C等 xff09 连接外部设备来实现 xff0c 本节内容主要介绍串口通讯方式 2 测试平台 硬件 xff1a pixhawk
  • 手机充电原理分析及问题总结

    xff08 1 xff09 充电流程介绍 xff1a 当充电器插入时 xff0c 亦即为PMIC充电模块提供了Vcharge电压 xff0c 这时会产生一个充电中断信号到CPU xff0c 通知CPU现在已经进入充电状态 CPU开始启动如下
  • 串口接收不定长数据的几种方法

    串口作为单片机开发的一个常用的外设 xff0c 应用范围非常广 大部分时候 xff0c 串口需要接收处理的数据长度是不定的 那么怎么才能判断一帧数据是否结束呢 xff0c 今天就以STM32单片机为例 xff0c 介绍几种接收不定长数据的方
  • 删除分节符的技巧

    WORD中删除分节符有这样的规定 xff1a 如果要删除分节符 xff0c 只要把光标移动到该分节符上 xff0c 按Delete键即可 但是要注意该分节符前面的文字将合并到后面的节中 xff0c 并且采用后者的格式设置 我就不知道天杀的微
  • 虚机创建异常报错No valid host was found,There are not enough hosts available

    虚机创建异常 xff0c 使用nova show 虚机ID提示fault报错信息 xff1a No valid host was found xff0c There are not enough hosts available 检查所在宿主
  • vuzzer 具体原理解析

    目录 1 安装 vmware 15 01环境下安装 xff1a 2 vuzzer使用说明 3 vuzzer原理 3 1权重文件以及有着cmp信息的文件生成 3 2 vuzzer种子生成 xff0c 变异原理 3 2 1 runfuzz py
  • C++ unordered_set

    目录 1 定义 2 基本的函数 2 1 unordered set构造 2 2 添加新的元素 注意无法插入相同元素 2 3 查找元素 2 4 查找桶接口 2 5 观察器 2 6 清除元素 2 7 其他函数 1 定义 unordered se
  • clang 10 介绍——sanitizerCoverage

    1 Introduction llvm内置了一个简单的代码覆盖率检测 xff08 sanitizercoverage xff09 它在函数级 基本块级和边缘级插入对用户定义函数的调用 提供了这些回调的默认实现 xff0c 并实现了简单的覆盖
  • C++ 匿名函数

    1 定义 所谓匿名函数 xff0c 其实类似于python中的lambda函数 xff0c 其实就是没有名字的函数 使用匿名函数 xff0c 可以免去函数的声明和定义 这样匿名函数仅在调用函数的时候才会创建函数对象 xff0c 而调用结束后
  • 给docker中的ubuntu系统安装桌面程序

    原本服务器是centos的 xff0c 用的不是很习惯 xff0c 也为了可以分割功能 xff0c 于是在服务器上装了docker xff0c docker里装了ubuntu系统 xff0c 具体过程可以参见https blog csdn